Baritone APIbaritone.apiSettings Settings.Setting Use Source Baritone 1.13.1 Minecraft 1.21.4 Settings.java

Settings

Every setting Baritone exposes, with its type, default value and description. Almost every aspect of Baritone is controlled from here.

240 settings 17 types Generated from Settings.java

Changing a setting

#set <setting> <value>
Set a value
#set <setting>
View the current value
#set toggle <setting>
Toggle a boolean setting
#set reset <setting>
Reset one setting to its default
#set modified
List everything you have changed

Settings are saved to minecraft/baritone/settings.txt automatically. Setting names are case insensitive.

240 of 240

A

DefaultDIRT, COBBLESTONE, NETHERRACK, STONE

Blocks that Baritone is allowed to place (as throwaway, for sneak bridging, pillaring, etc.)

#set acceptableThrowawayItems <value>source

allowBreak

Boolean
Defaulttrue

Allow Baritone to break blocks

#set allowBreak falsesource

allowBreakAnyway

List<Block>
Default(empty)

Blocks that baritone will be allowed to break even with allowBreak set to false

#set allowBreakAnyway <value>source
Defaultfalse

Allow diagonal ascending

Actually pretty safe, much safer than diagonal descend tbh

#set allowDiagonalAscend truesource
Defaultfalse

Allow descending diagonally

Safer than allowParkour yet still slightly unsafe, can make contact with unchecked adjacent blocks, so it's unsafe in the nether.

For a generic "take some risks" mode I'd turn on this one, parkour, and parkour place.

#set allowDiagonalDescend truesource

allowDownward

Boolean
Defaulttrue

Allow mining the block directly beneath its feet

Turn this off to force it to make more staircases and less shafts

#set allowDownward falsesource

allowInventory

Boolean
Defaultfalse

Allow Baritone to move items in your inventory to your hotbar

#set allowInventory truesource

allowJumpAt256

Boolean deprecated Java only
Defaultfalse

Just here so mods that use the API don't break. Does nothing.

#set allowJumpAt256 truesource
Defaultfalse

If true, parkour is allowed to make jumps when standing on blocks at the maximum height, so player feet is y=256

Defaults to false because this fails on constantiam. Please let me know if this is ever disabled. Please.

#set allowJumpAtBuildLimit truesource
Defaultfalse

This will only allow baritone to mine exposed ores, can be used to stop ore obfuscators on servers that use them.

#set allowOnlyExposedOres truesource
Default1

When allowOnlyExposedOres is enabled this is the distance around to search.

It is recommended to keep this value low, as it dramatically increases calculation times.

#set allowOnlyExposedOresDistance 1source
Defaulttrue

Is it okay to sprint through a descend followed by a diagonal? The player overshoots the landing, but not enough to fall off. And the diagonal ensures that there isn't lava or anything that's !canWalkInto in that space, so it's technically safe, just a little sketchy.

Note: this is *not* related to the allowDiagonalDescend setting, that is a completely different thing.

#set allowOvershootDiagonalDescend falsesource

allowParkour

Boolean
Defaultfalse

You know what it is

But it's very unreliable and falls off when cornering like all the time so.

It also overshoots the landing pretty much always (making contact with the next block over), so be careful

#set allowParkour truesource
Defaulttrue

This should be monetized it's so good

Defaults to true, but only actually takes effect if allowParkour is also true

#set allowParkourAscend falsesource
Defaultfalse

Actually pretty reliable.

Doesn't make it any more dangerous compared to just normal allowParkour th

#set allowParkourPlace truesource

allowPlace

Boolean
Defaulttrue

Allow Baritone to place blocks

#set allowPlace falsesource

allowSprint

Boolean
Defaulttrue

Allow Baritone to sprint

#set allowSprint falsesource

allowVines

Boolean
Defaultfalse

Enables some more advanced vine features. They're honestly just gimmicks and won't ever be needed in real pathing scenarios. And they can cause Baritone to get trapped indefinitely in a strange scenario.

Almost never turn this on lol

#set allowVines truesource
Defaulttrue

Slab behavior is complicated, disable this for higher path reliability. Leave enabled if you have bottom slabs everywhere in your base.

#set allowWalkOnBottomSlab falsesource
Defaulttrue

Allow Baritone to fall arbitrary distances and place a water bucket beneath it. Reliability: questionable.

#set allowWaterBucketFall falsesource
Defaulttrue

Will cause some minor behavioral differences to ensure that Baritone works on anticheats.

At the moment this will silently set the player's rotations when using freeLook so you're not sprinting in directions other than forward, which is picken up by more "advanced" anticheats like AAC, but not NCP.

#set antiCheatCompatibility falsesource
Defaultfalse

Disable baritone's auto-tool at runtime, but still assume that another mod will provide auto tool functionality

Specifically, path calculation will still assume that an auto tool will run at execution time, even though Baritone itself will not do that.

#set assumeExternalAutoTool truesource

assumeSafeWalk

Boolean
Defaultfalse

Assume safe walk functionality; don't sneak on a backplace traverse.

Warning: if you do something janky like sneak-backplace from an ender chest, if this is true it won't sneak right click, it'll just right click, which means it'll open the chest instead of placing against it. That's why this defaults to off.

#set assumeSafeWalk truesource

assumeStep

Boolean
Defaultfalse

Assume step functionality; don't jump on an Ascend.

#set assumeStep truesource
Defaultfalse

If you have Fire Resistance and Jesus then I guess you could turn this on lol

#set assumeWalkOnLava truesource
Defaultfalse

Allow Baritone to assume it can walk on still water just like any other block. This functionality is assumed to be provided by a separate library that might have imported Baritone.

Note: This will prevent some usage of the frostwalker enchantment, like pillaring up from water.

#set assumeWalkOnWater truesource

autoTool

Boolean
Defaulttrue

Automatically select the best available tool

#set autoTool falsesource

avoidance

Boolean
Defaultfalse

Toggle the following 4 settings

They have a noticeable performance impact, so they default off

Specifically, building up the avoidance map on the main thread before pathing starts actually takes a noticeable amount of time, especially when there are a lot of mobs around, and your game jitters for like 200ms while doing so

#set avoidance truesource
Default.1

this multiplies the break speed, if set above 1 it's "encourage breaking" instead

#set avoidBreakingMultiplier .1source
Defaulttrue

If this setting is true, Baritone will never break a block that is adjacent to an unsupported falling block.

I.E. it will never trigger cascading sand / gravel falls

#set avoidUpdatingFallingBlocks falsesource

axisHeight

Integer
Default120

The "axis" command (aka GoalAxis) will go to a axis, or diagonal axis, at this Y level.

#set axisHeight 120source

B

backfill

Boolean
Defaultfalse

Fill in blocks behind you

#set backfill truesource
Defaulttrue

When GetToBlockProcess or MineProcess fails to calculate a path, instead of just giving up, mark the closest instance of that block as "unreachable" and go towards the next closest. GetToBlock expands this search to the whole "vein"; MineProcess does not. This is because MineProcess finds individual impossible blocks (like one block in a vein that has gravel on top then lava, so it can't break) Whereas GetToBlock should blacklist the whole "vein" if it can't get to any of them.

#set blacklistClosestOnFailure falsesource
Default2

This is just a tiebreaker to make it less likely to break blocks if it can avoid it. For example, fire has a break cost of 0, this makes it nonzero, so all else being equal it will take an otherwise equivalent route that doesn't require it to put out fire.

#set blockBreakAdditionalPenalty 2source

blockBreakSpeed

Integer
Default6

How many ticks between breaking a block and starting to break the next block. Default in game is 6 ticks. Values under 1 will be clamped. The delay only applies to non-instant (1-tick) breaks.

#set blockBreakSpeed 6source

blockFreeLook

Boolean
Defaultfalse

Break and place blocks without having to force the client-sided rotations. Requires freeLook.

#set blockFreeLook truesource
Default20

It doesn't actually take twenty ticks to place a block, this cost is so high because we want to generally conserve blocks which might be limited.

Decrease to make Baritone more often consider paths that would require placing blocks

#set blockPlacementPenalty 20source

blocksToAvoid

List<Block>
Defaultnew ArrayList<>( // Leave Empty by Default )

Blocks that Baritone will attempt to avoid (Used in avoidance)

#set blocksToAvoid <value>source

blocksToAvoidBreaking

List<Block>
Default// TODO can this be a HashSet or ImmutableSet? Blocks.CRAFTING_TABLE, FURNACE, CHEST, TRAPPED_CHEST

blocks that baritone shouldn't break, but can if it needs to.

#set blocksToAvoidBreaking <value>source
Defaultnew ArrayList<>( // Leave Empty by Default )

Blocks that Baritone is not allowed to break

#set blocksToDisallowBreaking <value>source
Default10

Multiply the cost of breaking a block that's correct in the builder's schematic by this coefficient

#set breakCorrectBlockPenaltyMultiplier 10source

breakFromAbove

Boolean
Defaultfalse

Allow standing above a block while mining it, in BuilderProcess

Experimental

#set breakFromAbove truesource
Default5

Distance to scan every tick for updates. Expanding this beyond player reach distance (i.e. setting it to 6 or above) is only necessary in very large schematics where rescanning the whole thing is costly.

#set builderTickScanRadius 5source

buildIgnoreBlocks

List<Block>
Default(empty)

A list of blocks to be treated as if they're air.

If a schematic asks for air at a certain position, and that position currently contains a block on this list, it will be treated as correct.

#set buildIgnoreBlocks <value>source
Defaultfalse

If this is true, the builder will ignore directionality of certain blocks like glazed terracotta.

#set buildIgnoreDirection truesource
Defaultfalse

If this is true, the builder will treat all non-air blocks as correct. It will only place new blocks.

#set buildIgnoreExisting truesource

buildIgnoreProperties

List<String>
Default(empty)

A list of names of block properties the builder will ignore.

#set buildIgnoreProperties <value>source

buildInLayers

Boolean
Defaultfalse

Don't consider the next layer in builder until the current one is done

#set buildInLayers truesource

buildRepeat

Vec3i
Defaultnew Vec3i(0, 0, 0)

How far to move before repeating the build. 0 to disable repeating on a certain axis, 0,0,0 to disable entirely

#set buildRepeat <value>source
Default-1

How many times to buildrepeat. -1 for infinite.

#set buildRepeatCount -1source
Defaulttrue

Don't notify schematics that they are moved. e.g. replacing will replace the same spots for every repetition Mainly for backward compatibility.

#set buildRepeatSneaky falsesource
DefaultMirror.NONE

Mirrors the schematic before building it. Possible values are

  • FRONT_BACK - mirror the schematic along its local x axis
  • LEFT_RIGHT - mirror the schematic along its local z axis
#set buildSchematicMirror <value>source
DefaultRotation.NONE

Rotates the schematic before building it. Possible values are

  • NONE - No rotation
  • CLOCKWISE_90 - Rotate 90° clockwise
  • CLOCKWISE_180 - Rotate 180° clockwise
  • COUNTERCLOCKWISE_90 - Rotate 270° clockwise
#set buildSchematicRotation <value>source

buildSkipBlocks

List<Block>
Default(empty)

A list of blocks to be treated as correct.

If a schematic asks for any block on this list at a certain position, it will be treated as correct, regardless of what it currently is.

#set buildSkipBlocks <value>source

buildSubstitutes

Map<Block, List<Block>>
Default(empty)

A mapping of blocks to blocks to be built instead

If a schematic asks for a block on this mapping, Baritone will place the first placeable block in the mapped list

Usage Syntax:

     sourceblockA->blockToSubstituteA1,blockToSubstituteA2,...blockToSubstituteAN,sourceBlockB->blockToSubstituteB1,blockToSubstituteB2,...blockToSubstituteBN,...sourceBlockX->blockToSubstituteX1,blockToSubstituteX2...blockToSubstituteXN

Example:

    stone->cobblestone,andesite,oak_planks->birch_planks,acacia_planks,glass
#set buildSubstitutes <value>source

buildValidSubstitutes

Map<Block, List<Block>>
Default(empty)

A mapping of blocks to blocks treated as correct in their position

If a schematic asks for a block on this mapping, all blocks on the mapped list will be accepted at that location as well

Syntax same as buildSubstitutes

#set buildValidSubstitutes <value>source

C

Default-1

Cached chunks (regardless of if they're in RAM or saved to disk) expire and are deleted after this number of seconds -1 to disable

I would highly suggest leaving this setting disabled (-1).

The only valid reason I can think of enable this setting is if you are extremely low on disk space and you play on multiplayer, and can't take (average) 300kb saved for every 512x512 area. (note that more complicated terrain is less compressible and will take more space)

However, simply discarding old chunks because they are old is inadvisable. Baritone is extremely good at correcting itself and its paths as it learns new information, as new chunks load. There is no scenario in which having an incorrect cache can cause Baritone to get stuck, take damage, or perform any action it wouldn't otherwise, everything is rechecked once the real chunk is in range.

Having a robust cache greatly improves long distance pathfinding, as it's able to go around large scale obstacles before they're in render distance. In fact, when the chunkCaching setting is disabled and Baritone starts anew every time, or when you enter a completely new and very complicated area, it backtracks far more often because it has to build up that cache from scratch. But after it's gone through an area just once, the next time will have zero backtracking, since the entire area is now known and cached.

#set cachedChunksExpirySeconds -1source
Default0.5

0.0f = not visible, fully transparent (instead of setting this to 0, turn off renderCachedChunks) 1.0f = fully opaque

#set cachedChunksOpacity 0.5source
Defaulttrue

Cancel the current path if the goal has changed, and the path originally ended in the goal but doesn't anymore.

Currently only runs when either MineBehavior or FollowBehavior is active.

For example, if Baritone is doing "mine iron_ore", the instant it breaks the ore (and it becomes air), that location is no longer a goal. This means that if this setting is true, it will stop there. If this setting were off, it would continue with its path, and walk into that location. The tradeoff is if this setting is true, it mines ores much faster since it doesn't waste any time getting into locations that no longer contain ores, but on the other hand, it misses some drops, and continues on without ever picking them up.

Also on cosmic prisons this should be set to true since you don't actually mine the ore it just gets replaced with stone.

#set cancelOnGoalInvalidation falsesource
Defaultfalse

Censor coordinates in goals and block positions

#set censorCoordinates truesource
Defaultfalse

Censor arguments to ran commands, to hide, for example, coordinates to #goal

#set censorRanCommands truesource

chatControl

Boolean
Defaulttrue

Allow chat based control of Baritone. Most likely should be disabled when Baritone is imported for use in something else

#set chatControl falsesource
Defaultfalse

Some clients like Impact try to force chatControl to off, so here's a second setting to do it anyway

#set chatControlAnyway truesource

chatDebug

Boolean
Defaultfalse

Print all the debug messages to chat

#set chatDebug truesource

chunkCaching

Boolean
Defaulttrue

The big one. Download all chunks in simplified 2-bit format and save them for better very-long-distance pathing.

#set chunkCaching falsesource
Default2000

The chunk packer queue can never grow to larger than this, if it does, the oldest chunks are discarded

The newest chunks are kept, so that if you're moving in a straight line quickly then stop, your immediate render distance is still included

#set chunkPackerQueueMaxSize 2000source

colorGoalBox

Color
DefaultColor.GREEN

The color of the goal box

#set colorGoalBox <value>source
DefaultColor.RED

The color of the goal box when it's inverted

#set colorInvertedGoalBox <value>source
DefaultColor.MAGENTA

The color of the next path

#set colorNextPath <value>source
DefaultColor.CYAN

The color of all selections

#set colorSelection <value>source
Defaulttrue

For example, if you have Mining Fatigue or Haste, adjust the costs of breaking blocks accordingly.

#set considerPotionEffects falsesource

costHeuristic

Double
Default3.563

This is the big A* setting. As long as your cost heuristic is an *underestimate*, it's guaranteed to find you the best path. 3.5 is always an underestimate, even if you are sprinting. If you're walking only (with allowSprint off) 4.6 is safe. Any value below 3.5 is never worth it. It's just more computation to find the same path, guaranteed. (specifically, it needs to be strictly slightly less than ActionCosts.WALK_ONE_BLOCK_COST, which is about 3.56)

Setting it at 3.57 or above with sprinting, or to 4.64 or above without sprinting, will result in faster computation, at the cost of a suboptimal path. Any value above the walk / sprint cost will result in it going straight at its goal, and not investigating alternatives, because the combined cost / heuristic metric gets better and better with each block, instead of slightly worse.

Finding the optimal path is worth it, so it's the default.

#set costHeuristic 3.563source
Default5

Stop 5 movements before anything that made the path COST_INF. For example, if lava has spread across the path, don't walk right up to it then recalculate, it might still be spreading lol

#set costVerificationLookahead 5source
Defaultfalse

After calculating a path (potentially through cached chunks), artificially cut it off to just the part that is entirely within currently loaded chunks. Improves path safety because cached chunks are heavily simplified.

This is much safer to leave off now, and makes pathing more efficient. More explanation in the issue.

See also
#set cutoffAtLoadBoundary truesource

D

Defaultfalse

Turn this on if your exploration filter is enormous, you don't want it to check if it's done, and you are just fine with it just hanging on completion

#set disableCompletionCheck truesource
Defaultfalse

Disconnect from the server upon arriving at your goal

#set disconnectOnArrival truesource

distanceTrim

Boolean
Defaulttrue

Trim incorrect positions too far away, helps performance but hurts reliability in very large schematics

#set distanceTrim falsesource

doBedWaypoints

Boolean
Defaulttrue

allows baritone to save bed waypoints when interacting with beds

#set doBedWaypoints falsesource
Defaulttrue

allows baritone to save death waypoints

#set doDeathWaypoints falsesource

E

echoCommands

Boolean
Defaulttrue

Echo commands to chat when they are run

#set echoCommands falsesource
Defaulttrue

Automatically land when elytra is almost out of durability, or almost out of fireworks

#set elytraAllowEmergencyLand falsesource

elytraAutoJump

Boolean
Defaultfalse

Automatically path to and jump off of ledges to initiate elytra flight when grounded.

#set elytraAutoJump truesource

elytraAutoSwap

Boolean
Defaulttrue

Automatically swap the current elytra with a new one when the durability gets too low

#set elytraAutoSwap falsesource
Default5000

Maximum distance chunks can be before being culled from the nether pathfinder chunk cache

#set elytraCacheCullDistance 5000source

elytraChatSpam

Boolean
Defaultfalse

Verbose chat logging in elytra mode

#set elytraChatSpam truesource
Defaultfalse

If enabled, avoids using fireworks when descending along the flight path.

#set elytraConserveFireworks truesource
Default15

The delay after the player's position is set-back by the server that a firework may be automatically deployed. Value is in ticks.

#set elytraFireworkSetbackUseDelay 15source
Default1.2

The minimum speed that the player can drop to (in blocks/tick) before a firework is automatically deployed.

#set elytraFireworkSpeed 1.2source

elytraFreeLook

Boolean
Defaulttrue

Automatically elytra fly without having to force the client-sided rotations.

#set elytraFreeLook falsesource
Default0.2

The minimum padding value that is added to the player's hitbox when considering which point to fly to on the path. High values can result in points not being considered which are otherwise safe to fly to. Low values can result in flight paths which are extremely tight, and there's the possibility of crashing due to getting too low to the ground.

#set elytraMinimumAvoidance 0.2source
Default146008555100680

The seed used to generate chunks for long distance elytra path-finding in the nether. Defaults to 2b2t's nether seed.

#set elytraNetherSeed 146008555100680source
Default25

The maximum allowed deviation in pitch from a direct line-of-sight to the flight target. Higher values are computationally more expensive.

#set elytraPitchRange 25source
Defaultfalse

Whether nether-pathfinder should generate terrain based on elytraNetherSeed. If false all chunks that haven't been loaded are assumed to be air.

#set elytraPredictTerrain truesource
Defaultfalse

Renders the raytraces that are performed by the elytra fly calculation.

#set elytraRenderRaytraces truesource
Defaulttrue

Renders the best elytra flight path that was simulated each tick.

#set elytraRenderSimulation falsesource
Default20

The number of ticks of elytra movement to simulate while firework boost is not active. Higher values are computationally more expensive.

#set elytraSimulationTicks 20source
Defaultfalse

Has the user read and understood the elytra terms and conditions

#set elytraTermsAccepted truesource
DefaultTimeUnit.MINUTES.toSeconds(3)

Time between culling far away chunks from the nether pathfinder chunk cache

#set elytraTimeBetweenCacheCullSecs TimeUnit.MINUTES.toSeconds(3)source

enterPortal

Boolean
Defaulttrue

When running a goto towards a nether portal block, walk all the way into the portal instead of stopping one block before.

#set enterPortal falsesource
Default10

Take the 10 closest chunks, even if they aren't strictly tied for distance metric from origin.

#set exploreChunkSetMinimumSize 10source
Defaulttrue

When GetToBlock or non-legit Mine doesn't know any locations for the desired block, explore randomly instead of giving up.

#set exploreForBlocks falsesource
Default64

Attempt to maintain Y coordinate while exploring

-1 to disable

#set exploreMaintainY 64source
Defaultfalse

When the cache scan gives less blocks than the maximum threshold (but still above zero), scan the main world too.

Only if you have a beefy CPU and automatically mine blocks that are in cache

#set extendCacheOnThreshold truesource

F

fadePath

Boolean
Defaultfalse

Start fading out the path at 20 movements ahead, and stop rendering it entirely 30 movements ahead. Improves FPS.

#set fadePath truesource
Default2000

Pathing can never take longer than this, even if that means failing to find any path at all

#set failureTimeoutMS 2000source

farmMaxScanSize

Integer
Default256

Farming will scan for at most this many blocks.

#set farmMaxScanSize 256source
Default0

The actual GoalNear is set in this direction from the entity you're following. This value is in degrees.

#set followOffsetDirection 0source
Default0

The actual GoalNear is set this distance away from the entity you're following

For example, set followOffsetDistance to 5 and followRadius to 0 to always stay precisely 5 blocks north of your follow target.

#set followOffsetDistance 0source

followRadius

Integer
Default3

The radius (for the GoalNear) of how close to your target position you actually have to be

#set followRadius 3source
Defaulttrue

When mining block of a certain type, try to mine two at once instead of one. If the block above is also a goal block, set GoalBlock instead of GoalTwoBlocks If the block below is also a goal block, set GoalBlock to the position one down instead of GoalTwoBlocks

#set forceInternalMining falsesource

freeLook

Boolean
Defaulttrue

Move without having to force the client-sided rotations

#set freeLook falsesource

G

Defaultfalse

As well as breaking from above, set a goal to up and to the side of all blocks to break.

Never turn this on without also turning on breakFromAbove.

#set goalBreakFromAbove truesource

I

incorrectSize

Integer
Default100

The set of incorrect blocks can never grow beyond this size

#set incorrectSize 100source
Defaulttrue

Modification to the previous setting, only has effect if forceInternalMining is true If true, only apply the previous setting if the block adjacent to the goal isn't air.

#set internalMiningAirException falsesource
Defaultfalse

Come to a halt before doing any inventory moves. Intended for anticheat such as 2b2t

#set inventoryMoveOnlyIfStationary truesource

itemSaver

Boolean
Defaultfalse

Stop using tools just before they are going to break.

#set itemSaver truesource
Default10

Durability to leave on the tool when using itemSaver

#set itemSaverThreshold 10source

J

jumpPenalty

Double
Default2

Additional penalty for hitting the space bar (ascend, pillar, or parkour) because it uses hunger

#set jumpPenalty 2source

L

layerHeight

Integer
Default1

How high should the individual layers be?

#set layerHeight 1source

layerOrder

Boolean
Defaultfalse

false = build from bottom to top

true = build from top to bottom

#set layerOrder truesource

legitMine

Boolean
Defaultfalse

Disallow MineBehavior from using X-Ray to see where the ores are. Turn this option on to force it to mine "legit" where it will only mine an ore once it can actually see it, so it won't do or know anything that a normal player couldn't. If you don't want it to look like you're X-Raying, turn this on This will always explore, regardless of exploreForBlocks

#set legitMine truesource
Defaultfalse

Magically see ores that are separated diagonally from existing ores. Basically like mining around the ores that it finds in case there's one there touching it diagonally, except it checks it un-legit-ly without having the mine blocks to see it. You can decide whether this looks plausible or not.

This is disabled because it results in some weird behavior. For example, it can """see""" the top block of a vein of iron_ore through a lava lake. This isn't an issue normally since it won't consider anything touching lava, so it just ignores it. However, this setting expands that and allows it to see the entire vein so it'll mine under the lava lake to get the iron that it can reach without mining blocks adjacent to lava. This really defeats the purpose of legitMine since a player could never do that lol, so thats one reason why its disabled

#set legitMineIncludeDiagonals truesource

legitMineYLevel

Integer
Default-59

What Y level to go to for legit strip mining

#set legitMineYLevel -59source

logAsToast

Boolean
Defaultfalse

Shows popup message in the upper right corner, similarly to when you make an advancement

#set logAsToast truesource

logger

Consumer<Component> Java only
Default(msg) -> { try { final GuiMessageTag tag = useMessageTag.value ? Helper.MESSAGE_TAG : null; Minecraft.getInstance().gui.getChat().addMessage(msg, null, tag); } catch (Throwable t) { LOGGER.warn("Failed to log message to chat: " + msg.getString(), t); } }

The function that is called when Baritone will log to chat. This function can be added to via Consumer#andThen(Consumer) or it can completely be overriden via setting Setting#value;

#set logger <value>source

M

mapArtMode

Boolean
Defaultfalse

Build in map art mode, which makes baritone only care about the top block in each column

#set mapArtMode truesource
Default10

After finding this many instances of the target block in the cache, it will stop expanding outward the chunk search.

#set maxCachedWorldScanCount 10source
Default10

If a movement's cost increases by more than this amount between calculation and execution (due to changes in the environment / world), cancel and recalculate

#set maxCostIncrease 10source
Default20

How far are you allowed to fall onto solid ground (with a water bucket)? It's not that reliable, so I've set it below what would kill an unarmored player (23)

#set maxFallHeightBucket 20source
Default3

How far are you allowed to fall onto solid ground (without a water bucket)? 3 won't deal any damage. But if you just want to get down the mountain quickly and you have Feather Falling IV, you might set it a bit higher, like 4 or 5.

#set maxFallHeightNoWater 3source
Default300

If we are more than 300 movements into the current path, discard the oldest segments, as they are no longer useful

#set maxPathHistoryLength 300source
Default250

While mining, wait this number of milliseconds after mining an ore to see if it will drop an item instead of immediately going onto the next one

Thanks Louca

#set mineDropLoiterDurationMSThanksLouca 250source
Defaulttrue

While mining, should it also consider dropped items of the correct type as a pathing destination (as well as ore blocks)?

#set mineScanDroppedItems falsesource
Defaulttrue

Don't repropagate cost improvements below 0.01 ticks. They're all just floating point inaccuracies, and there's no point.

#set minimumImprovementRepropagation falsesource
Default0

Sets the minimum y level whilst mining - set to 0 to turn off. if world has negative y values, subtract the min world height to get the value to put here

#set minYLevelWhileMining 0source
Default1.5

Set to 1.0 to effectively disable this feature

Set below 1.0 to go out of your way to walk near mobs

#set mobAvoidanceCoefficient 1.5source
Default2.0

Set to 1.0 to effectively disable this feature

Set below 1.0 to go out of your way to walk near mob spawners

#set mobSpawnerAvoidanceCoefficient 2.0source
Default100

If a movement takes this many ticks more than its initial cost estimate, cancel it

#set movementTimeoutTicks 100source

N

notifier

BiConsumer<String, Boolean> Java only
DefaultNotificationHelper::notify

The function that is called when Baritone will send a desktop notification. This function can be added to via Consumer#andThen(Consumer) or it can completely be overriden via setting Setting#value;

#set notifier <value>source

O

okIfAir

List<Block>
Default(empty)

A list of blocks to become air

If a schematic asks for a block on this list, only air will be accepted at that location (and nothing on buildIgnoreBlocks)

#set okIfAir <value>source

okIfWater

Boolean
Defaultfalse

Override builder's behavior to not attempt to correct blocks that are currently water

#set okIfWater truesource
Defaulttrue

If we overshoot a traverse and end up one block beyond the destination, mark it as successful anyway.

This helps with speed exceeding 20m/s

#set overshootTraverse falsesource

P

Default0.9

Static cutoff factor. 0.9 means cut off the last 10% of all paths, regardless of chunk load state

#set pathCutoffFactor 0.9source
Default30

Only apply static cutoff for paths of at least this length (in terms of number of movements)

#set pathCutoffMinimumLength 30source
Default50

If the current path is too long, cut off this many movements from the beginning.

#set pathHistoryCutoffAmount 50source
Default1024

Default size of the Long2ObjectOpenHashMap used in pathing

#set pathingMapDefaultSize 1024source
Default0.75

Load factor coefficient for the Long2ObjectOpenHashMap used in pathing

Decrease for faster map operations, but higher memory usage

#set pathingMapLoadFactor 0.75source
Default50

The maximum number of times it will fetch outside loaded or cached chunks before assuming that pathing has reached the end of the known area, and should therefore stop.

#set pathingMaxChunkBorderFetch 50source
Defaultfalse

Exclusively use cached chunks for pathing

Never turn this on

#set pathThroughCachedOnly truesource
Defaulttrue

When breaking blocks for a movement, wait until all falling blocks have settled before continuing

#set pauseMiningForFallingBlocks falsesource
Default5000

Planning ahead while executing a segment can never take longer than this, even if that means failing to find any path at all

#set planAheadFailureTimeoutMS 5000source
Default4000

Planning ahead while executing a segment ends after this amount of time, but only if a path has been found

If no valid path (length above the minimum) has been found, pathing continues up until the failure timeout

#set planAheadPrimaryTimeoutMS 4000source
Default150

Start planning the next path once the remaining movements tick estimates sum up to less than this value

#set planningTickLookahead 150source

preferSilkTouch

Boolean
Defaultfalse

Always prefer silk touch tools over regular tools. This will not sacrifice speed, but it will always prefer silk touch tools over other tools of the same speed. This includes always choosing ANY silk touch tool over your hand.

#set preferSilkTouch truesource

prefix

String
Default"#"

The command prefix for chat control

#set prefix "#"source

prefixControl

Boolean
Defaulttrue

Whether or not to allow you to run Baritone commands with the prefix

#set prefixControl falsesource
Default500

Pathing ends after this amount of time, but only if a path has been found

If no valid path (length above the minimum) has been found, pathing continues up until the failure timeout

#set primaryTimeoutMS 500source
Defaulttrue

On save, delete from RAM any cached regions that are more than 1024 blocks away from the player

Temporarily disabled

Temporarily reenabled

See also
#set pruneRegionsFromRAM falsesource

R

randomLooking

Double
Default0.01

How many degrees to randomize the pitch and yaw every tick. Set to 0 to disable

#set randomLooking 0.01source
Default2

How many degrees to randomize the yaw every tick. Set to 0 to disable

#set randomLooking113 2source
Defaulttrue

When true, the player will remain with its existing look direction as often as possible. Although, in some cases this can get it stuck, hence this setting to disable that behavior.

#set remainWithExistingLookDirection falsesource
Defaultfalse

😎 Render cached chunks as semitransparent. Doesn't work with OptiFine 😭 Rarely randomly crashes, see this issue.

Can be very useful on servers with low render distance. After enabling, you may need to reload the world in order for it to have an effect (e.g. disconnect and reconnect, enter then exit the nether, die and respawn, etc). This may literally kill your FPS and CPU because every chunk gets recompiled twice as much as normal, since the cached version comes into range, then the normal one comes from the server for real.

Note that flowing water is cached as AVOID, which is rendered as lava. As you get closer, you may therefore see lava falls being replaced with water falls.

SOLID is rendered as stone in the overworld, netherrack in the nether, and end stone in the end

#set renderCachedChunks truesource
Defaultfalse

Render the path as a line instead of a frickin thingy

#set renderPathAsLine truesource
Defaulttrue

Ignore depth when rendering the selection boxes (to break, to place, to walk into)

#set renderSelectionBoxesIgnoreDepth falsesource
Defaulttrue

Whenever a block changes, repack the whole chunk that it's in

#set repackOnAnyBlockChange falsesource

replantCrops

Boolean
Defaulttrue

Replant normal Crops while farming and leave cactus and sugarcane to regrow

#set replantCrops falsesource
Defaultfalse

Replant nether wart while farming. This setting only has an effect when replantCrops is also enabled

#set replantNetherWart truesource
Defaulttrue

When running a goto towards a container block (chest, ender chest, furnace, etc), right click and open it once you arrive.

#set rightClickContainerOnArrival falsesource

rightClickSpeed

Integer
Default4

How many ticks between right clicks are allowed. Default in game is 4

#set rightClickSpeed 4source

S

Default"schematic"

The fallback used by the build command when no extension is specified. This may be useful if schematics of a particular format are used often, and the user does not wish to have to specify the extension with every usage.

#set schematicFallbackExtension "schematic"source
Defaultfalse

When this setting is true, build a schematic with the highest X coordinate being the origin, instead of the lowest

#set schematicOrientationX truesource
Defaultfalse

When this setting is true, build a schematic with the highest Y coordinate being the origin, instead of the lowest

#set schematicOrientationY truesource
Defaultfalse

When this setting is true, build a schematic with the highest Z coordinate being the origin, instead of the lowest

#set schematicOrientationZ truesource
Default.5

The opacity of the selection. 0 is completely transparent, 1 is completely opaque

#set selectionOpacity .5source
Defaultfalse

Use a short Baritone prefix [B] instead of [Baritone] when logging to chat

#set shortBaritonePrefix truesource
Defaulttrue

If your goal is a GoalBlock in an unloaded chunk, assume it's far enough away that the Y coord doesn't matter yet, and replace it with a GoalXZ to the same place before calculating a path. Once a segment ends within chunk load range of the GoalBlock, it will go back to normal behavior of considering the Y coord. The reasoning is that if your X and Z are 10,000 blocks away, your Y coordinate's accuracy doesn't matter at all until you get much much closer.

#set simplifyUnloadedYCoord falsesource
Defaultfalse

If a layer is unable to be constructed, just skip it.

#set skipFailedLayers truesource

slowPath

Boolean
Defaultfalse

For debugging, consider nodes much much slower

#set slowPath truesource
Default40000

The alternative timeout number when slowPath is on

#set slowPathTimeoutMS 40000source

smoothLook

Boolean
Defaultfalse

Forces the client-sided yaw rotation to an average of the last smoothLookTicks of server-sided rotations.

#set smoothLook truesource

splicePath

Boolean
Defaulttrue

When a new segment is calculated that doesn't overlap with the current one, but simply begins where the current segment ends, splice it on and make a longer combined path. If this setting is off, any planned segment will not be spliced and will instead be the "next path" in PathingBehavior, and will only start after this one ends. Turning this off hurts planning ahead, because the next segment will exist even if it's very short.

#set splicePath falsesource

sprintAscends

Boolean
Defaulttrue

Sprint and jump a block early on ascends wherever possible

#set sprintAscends falsesource

sprintInWater

Boolean
Defaulttrue

Continue sprinting while in water

#set sprintInWater falsesource

startAtLayer

Integer
Default0

Start building the schematic at a specific layer. Can help on larger builds when schematic wants to break things its already built

#set startAtLayer 0source
Defaultfalse

Don't allow breaking blocks next to liquids.

Enable if you have mods adding custom fluid physics.

#set strictLiquidCheck truesource

T

toaster

BiConsumer<Component, Component> Java only
DefaultBaritoneToast::addOrUpdate

The function that is called when Baritone will show a toast. This function can be added to via Consumer#andThen(Consumer) or it can completely be overriden via setting Setting#value;

#set toaster <value>source

U

useMessageTag

Boolean
Defaultfalse

Use a modern message tag instead of a prefix when logging to chat

#set useMessageTag truesource

V

Defaultfalse

Print out ALL command exceptions as a stack trace to stdout, even simple syntax errors

#set verboseCommandExceptions truesource

W

Default3

Walking on water uses up hunger really quick, so penalize it

#set walkOnWaterOnePenalty 3source
Defaulttrue

Don't stop walking forward when you need to break blocks in your way

#set walkWhileBreaking falsesource
Default0

While exploring the world, offset the closest unloaded chunk by this much in both axes.

This can result in more efficient loading, if you set this to the render distance.

#set worldExploringChunkOffset 0source

Y

yLevelBoxSize

Double
Default15

The size of the box that is rendered when the current goal is a GoalYLevel

#set yLevelBoxSize 15source
No settings matchTry a different search term, or clear the type filter.

Class members

Beyond the settings above, Settings declares the following. These are for code using the Baritone API, not for players changing settings in chat.

Settings.Setting<T>nested class
A single setting. Holds the current value and the defaultValue, and exposes the setting's name and type.
byLowerNameMap<String, Setting<?>>
A map of lowercase setting field names to their respective setting.
allSettingsList<Setting<?>>
A list of all settings.
settingTypesMap<Setting<?>, Type>
The resolved generic type of each setting.
getAllValuesByType(Class<T>)method
Returns List<Setting<T>> — every setting whose value type matches the given class.

Author: leijurv. Baritone's settings apply to all Baritone instances.