Baritone Client Mod (1.20.4, 1.19.4) is a pathfinding system in the Minecraft game which is being used in Impact. It helps the players to travel to different locations and mine ores and other mineable blocks with the help of an artificial intelligence pathfinding system. Baritone is an automated Minecraft-playing robot. It can assist you with traveling to certain locations, mining ores, and other minable blocks, and performing Worldedit-style operations by manipulating your Minecraft client using an artificial pathfinding intelligence.

Features:

Pathing Features:

  • Long distance pathing and splicing Baritone calculates paths in segments, and precalculates the next segment when the current one is about to end, so that it’s moving towards the goal at all times.
  • Chunk caching Baritone simplifies chunks to a compacted internal 2-bit representation (AIR, SOLID, WATER, AVOID) and stores them in RAM for better very-long-distance pathing. There is also an option to save these cached chunks to disk. Example
  • Block breaking Baritone considers breaking blocks as part of its path. It also takes into account your current tool set and hot bar. For example, if you have a Eff V diamond pick, it may choose to mine through a stone barrier, while if you only had a wood pick it might be faster to climb over it.
  • Block placing Baritone considers placing blocks as part of its path. This includes sneak-back-placing, pillaring, etc. It has a configurable penalty of placing a block (set to 1 second by default), to conserve its resources. The list of acceptable throwaway blocks is also configurable, and is cobble, dirt, or netherrack by default. Example
  • Falling Baritone will fall up to 3 blocks onto solid ground (configurable, if you have Feather Falling and/or don’t mind taking a little damage). If you have a water bucket on your hotbar, it will fall up to 23 blocks and place the bucket beneath it. It will fall an unlimited distance into existing still water.
  • Vines and ladders Baritone understands how to climb and descend vines and ladders. There is experimental support for more advanced maneuvers, like strafing to a different ladder / vine column in midair (off by default, setting named allowVines). Baritone can break its fall by grabbing ladders / vines midair, and understands when that is and isn’t possible.
  • Opening fence gates and doors
  • Slabs and stairs
  • Falling blocks Baritone understands the costs of breaking blocks with falling blocks on top, and includes all of their break costs. Additionally, since it avoids breaking any blocks touching a liquid, it won’t break the bottom of a gravel stack below a lava lake (anymore).
  • Avoiding dangerous blocks Obviously, it knows not to walk through fire or on magma, not to corner over lava (that deals some damage), not to break any blocks touching a liquid (it might drown), etc.
  • Parkour Sprint jumping over 1, 2, or 3 block gaps
  • Parkour place Sprint jumping over a 3 block gap and placing the block to land on while executing the jump. It’s really cool.
  • Pigs It can sort of control pigs.

Pathing Method:

  • Baritone uses A*, with some modifications:
  • Segmented calculation Traditional A* calculates until the most promising node is in the goal, however in the environment of Minecraft with a limited render distance, we don’t know the environment all the way to our goal. Baritone has three possible ways for path calculation to end: finding a path all the way to the goal, running out of time, or getting to the render distance. In the latter two scenarios, the selection of which segment to actually execute falls to the next item (incremental cost backoff). Whenever the path calculation thread finds that the best / most promising node is at the edge of loaded chunks, it increments a counter. If this happens more than 50 times (configurable), path calculation exits early. This happens with very low render distances. Otherwise, calculation continues until the timeout is hit (also configurable) or we find a path all the way to the goal.
  • Incremental cost backoff When path calculation exits early without getting all the way to the goal, Baritone it needs to select a segment to execute first (assuming it will calculate the next segment at the end of this one). It uses incremental cost backoff to select the best node by varying metrics, then paths to that node. This is unchanged from MineBot and I made a write-up that still applies. In essence, it keeps track of the best node by various increasing coefficients, then picks the node with the least coefficient that goes at least 5 blocks from the starting position.
  • Minimum improvement repropagation The pathfinder ignores alternate routes that provide minimal improvements (less than 0.01 ticks of improvement), because the calculation cost of repropagating this to all connected nodes is much higher than the half-millisecond path time improvement it would get.
  • Backtrack cost favoring While calculating the next segment, Baritone favors backtracking its current segment. The cost is decreased heavily, but is still positive (this won’t cause it to backtrack if it doesn’t need to). This allows it to splice and jump onto the next segment as early as possible, if the next segment begins with a backtrack of the current one. Example
  • Backtrack detection and pausing While path calculation happens on a separate thread, the main game thread has access to the latest node considered, and the best path so far (those are rendered light blue and dark blue respectively). When the current best path (rendered dark blue) passes through the player’s current position on the current path segment, path execution is paused (if it’s safe to do so), because there’s no point continuing forward if we’re about to turn around and go back that same way. Note that the current best path as reported by the path calculation thread takes into account the incremental cost backoff system, so it’s accurate to what the path calculation thread will actually pick once it finishes.

Goals:

  • The pathing goal can be set to any of these options:
  • GoalBlock one specific block that the player should stand inside at foot level
  • GoalXZ an X and a Z coordinate, used for long distance pathing
  • GoalYLevel a Y coordinate
  • GoalTwoBlocks a block position that the player should stand in, either at foot or eye level
  • GoalGetToBlock a block position that the player should stand adjacent to, below, or on top of
  • GoalNear a block position that the player should get within a certain radius of, used for following entities
  • GoalAxis a block position on an axis or diagonal axis (so x=0, z=0, or x=z), and y=120 (configurable)
  • And finally GoalComposite. GoalComposite is a list of other goals, any one of which satisfies the goal. For example, mine diamond_ore creates a GoalComposite of GoalTwoBlockss for every diamond ore location it knows of.

Baritone Commands:

Prefix

  • Baritone’s chat control prefix is # by default. In Impact, you can also use .b as a prefix. (for example, .b click instead of #click)
  • Baritone commands can also by default be typed in the chatbox. However if you make a typo, like typing “gola 10000 10000” instead of “goal” it goes into public chat, which is bad, so using # is suggested.
  • To disable direct chat control (with no prefix), turn off the chatControl setting. To disable chat control with the # prefix, turn off the prefixControl setting. In Impact, .b cannot be disabled. Be careful that you don’t leave yourself with all control methods disabled (if you do, reset your settings by deleting the file minecraft/baritone/settings.txt and relaunching).
  • All of these commands may need a prefix before them.

Commands in Baritone:

  • thisway 1000 then path to go in the direction you’re facing for a thousand blocks
  • goal x y z or goal x z or goal y, then path to set a goal to a certain coordinate then path to it
  • goto x y z or goto x z or goto y to go to a certain coordinate (in a single step, starts going immediately)
  • goal to set the goal to your player’s feet
  • goal clear to clear the goal
  • cancel or stop to stop everything, forcecancel is also an option
  • goto portal or goto ender_chest or goto block_type to go to a block. (in Impact, .goto is an alias for .b goto for the most part)
  • mine diamond_ore iron_ore to mine diamond ore or iron ore (turn on the setting legitMine to only mine ores that it can actually see. It will explore randomly around y=11 until it finds them.) An amount of blocks can also be specified, for example, mine 64 diamond_ore.
  • click to click your destination on the screen. Right click path to on top of the block, left click to path into it (either at foot level or eye level), and left click and drag to select an area (#help sel to see what you can do with that selection).
  • follow player playerName to follow a player. follow players to follow any players in range (combine with Kill Aura for a fun time). follow entities to follow any entities. follow entity pig to follow entities of a specific type.
  • wp for waypoints. A “tag” is like “home” (created automatically on right clicking a bed) or “death” (created automatically on death) or “user” (has to be created manually). So you might want #wp save user coolbiome, then to set the goal #wp goal coolbiome then #path to path to it. For death, #wp goal death will list waypoints under the “death” tag (remember stuff is clickable!)
  • build to build a schematic. build blah.schematic will load schematics/blah.schematic and build it with the origin being your player feet. build blah.schematic x y z to set the origin. Any of those can be relative to your player (~ 69 ~-420 would build at x=player x, y=69, z=player z-420).
  • schematica to build the schematic that is currently open in schematica
  • tunnel to dig and make a tunnel, 1×2. It will only deviate from the straight line if necessary such as to avoid lava. For a dumber tunnel that is really just cleararea, you can tunnel 3 2 100, to clear an area 3 high, 2 wide, and 100 deep.
  • farm to automatically harvest, replant, or bone meal crops. Use farm or farm to limit the max distance from the starting point or a waypoint.
  • axis to go to an axis or diagonal axis at y=120 (axisHeight is a configurable setting, defaults to 120).
  • explore x z to explore the world from the origin of x,z. Leave out x and z to default to player feet. This will continually path towards the closest chunk to the origin that it’s never seen before. explorefilter filter.json with optional invert can be used to load in a list of chunks to load.
  • invert to invert the current goal and path. This gets as far away from it as possible, instead of as close as possible. For example, do goal then invert to run as far as possible from where you’re standing at the start.
  • come tells Baritone to head towards your camera, useful when freecam doesn’t move your player position.
  • blacklist will stop baritone from going to the closest block so it won’t attempt to get to it.
  • eta to get information about the estimated time until the next segment and the goal, be aware that the ETA to your goal is really unprecise.
  • proc to view miscellaneous information about the process currently controlling Baritone.
  • repack to re-cache the chunks around you.
  • gc to call System.gc() which may free up some memory.
  • render to fix glitched chunk rendering without having to reload all of them.
  • reloadall to reload Baritone’s world cache or saveall to save Baritone’s world cache.
  • find to search through Baritone’s cache and attempt to find the location of the block.
  • surface or top to tell Baritone to head towards the closest surface-like area, this can be the surface or highest available air space.
  • version to get the version of Baritone you’re running
  • damn daniel

Screenshots:

Explanation of files:

  • API: Only the non-api packages are obfuscated. This should be used in environments where other mods would like to use Baritone’s features.
  • Forge/Fabric API: Same as API, but packaged for Forge/Fabric. This should be used where another mod has a Baritone integration.
  • Standalone: Everything is obfuscated. This should be used in environments where there are no other mods present that would like to use Baritone’s features.
  • Forge/Fabric Standalone: Same as Standalone, but packaged for Forge/Fabric. This should be used when Baritone is your only Forge/Fabric mod, or none of your other Forge/Fabric mods integrate with Baritone.
  • Unoptimized: Nothing is obfuscated. This shouldn’t be used ever in production.
  • Forge/Fabric Unoptimized: Same as Unoptimized, but packaged for Forge/Fabric.

Requires:

Minecraft Forge or Fabric API

How to install:

How To Download & Install Mods with Minecraft Forge

How To Download & Install Fabric Mods

Don’t miss out today’s latest Minecraft Mods

Baritone Client Mod (1.20.4, 1.19.4) Download Links

For Minecraft 1.12.2

Forge version (Unzip file): Download from Server 1Download from Server 2

For Minecraft 1.13.2

Standalone version (Unzip file): Download from Server 1Download from Server 2

For Minecraft 1.14.4

Standalone version (Unzip file): Download from Server 1Download from Server 2

For Minecraft 1.15.2

Forge/Fabric/Standalone version (Unzip file): Download from Server 1Download from Server 2

For Minecraft 1.16.5

Forge/Fabric/Standalone version (Unzip file): Download from Server 1Download from Server 2

For Minecraft 1.17.1

Forge/Fabric/Standalone version (Unzip file): Download from Server 1Download from Server 2

For Minecraft 1.18.1

Forge/Fabric/Standalone version (Unzip file): Download from Server 1Download from Server 2

For Minecraft 1.18.2

Forge/Fabric/Standalone version (Unzip file): Download from Server 1Download from Server 2

For Minecraft 1.19.2, 1.19.1, 1.19

Forge/Fabric/Standalone version (Unzip file): Download from Server 1Download from Server 2

For Minecraft 1.19.3

Forge/Fabric/Standalone version (Unzip file): Download from Server 1Download from Server 2

For Minecraft 1.19.4

Forge/Fabric/Standalone version (Unzip file): Download from Server 1Download from Server 2

For Minecraft 1.20.1, 1.20

Forge/Fabric/Standalone version (Unzip file): Download from Server 1Download from Server 2

For Minecraft 1.20.2

Forge/Fabric/Standalone version (Unzip file): Download from Server 1Download from Server 2

Meteor Team Fork Fabric version: Download from Server 1Download from Server 2

For Minecraft 1.20.4

Forge/Fabric/NeoForge/Standalone version (Unzip file): Download from Server 1Download from Server 2

Meteor Team Fork Fabric version: Download from Server 1Download from Server 2

Click to rate this post!
[Total: 200 Average: 3.9]