MCPcopy Index your code
hub / github.com/cabaletta/baritone

github.com/cabaletta/baritone @v1.15.0 sqlite

repository ↗ · DeepWiki ↗ · release v1.15.0 ↗
2,651 symbols 8,303 edges 363 files 572 documented · 22%
README

Baritone

GitHub All Releases

Minecraft Minecraft Minecraft Minecraft Minecraft Minecraft Minecraft Minecraft Minecraft Minecraft Minecraft

Build Status Release License Codacy Badge Code of Conduct Known Vulnerabilities Contributions welcome Issues GitHub issues-closed Pull Requests GitHub contributors GitHub commits Code size GitHub repo size Lines of Code yes

Impact integration Lambda integration ForgeHax integration Aristois add-on integration rootNET integration Future integration RusherHack integration

forthebadge forthebadge

A Minecraft pathfinder bot.

Baritone is the pathfinding system used in Impact since 4.4. Here's a (very old!) video I made showing off what it can do.

Baritone Discord Server

Quick download links:

Forge Fabric
1.12.2 Forge
1.16.5 Forge 1.16.5 Fabric
1.17.1 Forge 1.17.1 Fabric
1.18.2 Forge 1.18.2 Fabric
1.19.2 Forge 1.19.2 Fabric
1.19.3 Forge 1.19.3 Fabric
1.19.4 Forge 1.19.4 Fabric
1.20.1 Forge 1.20.1 Fabric
1.20.3 Forge 1.20.3 Fabric
1.20.4 Forge 1.20.4 Fabric
1.21.3 Forge 1.21.3 Fabric

Message for 2b2t players looking for 1.19/1.20 Baritone If you like, please try the beta for Baritone Elytra for 2b2t, find it in #announcements of the Baritone discord. It supports 1.19.4 and 1.20.1, Forge or Fabric. If you have to see it to believe it, watch this YouTube video.

How to immediately get started: Type #goto 1000 500 in chat to go to x=1000 z=500. Type #mine diamond_ore to mine diamond ore. Type #stop to stop. For more, read the usage page and/or watch this tutorial playlist. Also try #elytra for Elytra flying in the Nether using fireworks.

For other versions of Minecraft or more complicated situations or for development, see Installation & setup. Also consider just installing Impact, which comes with Baritone and is easier to install than wrangling with version JSONs and zips. For 1.16.5, click here and see description. Once Baritone is installed, look here for instructions on how to use it. There's a showcase video made by @Adovin#6313 on Baritone which I recommend.

This project is an updated version of MineBot, the original version of the bot for Minecraft 1.8.9, rebuilt for 1.12.2 onwards. Baritone focuses on reliability and particularly performance (it's over 30x faster than MineBot at calculating paths).

Have committed at least once a day from Aug 1, 2018, to Aug 1, 2019.

1Leijurv3DWTrGAfmmiTphjhXLvQiHg7K2

Getting Started

Here are some links to help to get started:

Stars over time

Stargazers over time

API

The API is heavily documented, you can find the Javadocs for the latest release here. Please note that usage of anything located outside of the baritone.api package is not supported by the API release jar.

Below is an example of basic usage for changing some settings, and then pathing to an X/Z goal.

BaritoneAPI.getSettings().allowSprint.value = true;
BaritoneAPI.getSettings().primaryTimeoutMS.value = 2000L;

BaritoneAPI.getProvider().getPrimaryBaritone().getCustomGoalProcess().setGoalAndPath(new GoalXZ(10000, 20000));

FAQ

Can I use Baritone as a library in my custom utility client?

That's what it's for, sure! (As long as usage complies with the LGPL 3.0 License)

How is it so fast?

Magic. (Hours of leijurv enduring excruciating pain)

Additional Special Thanks To:

YourKit-Logo

YourKit supports open source projects with innovative and intelligent tools for monitoring and profiling Java and .NET applications.

YourKit is the creator of the YourKit Java Profiler, YourKit .NET Profiler, and YourKit YouMonitor.

We thank them for granting Baritone an OSS license so that we can make our software the best it can be.

Why is it called Baritone?

It's named for FitMC's deep sultry voice.

Extension points exported contracts — how you extend this code

Helper (Interface)
An ease-of-access interface to provide the Minecraft game instance, chat and console logging mechanisms, and the [11 implementers]
src/api/java/baritone/api/utils/Helper.java
IOpenSet (Interface)
An open set for A or similar graph search algorithm @author leijurv [4 implementers]
src/main/java/baritone/pathing/calc/openset/IOpenSet.java
ISchematic (Interface)
(no doc)
src/schematica_api/java/com/github/lunatrius/schematica/api/ISchematic.java
IDatatype (Interface)
An IDatatype is similar to an IArgParser in the sense that it is capable of consuming an argument to tra [40 implementers]
src/api/java/baritone/api/command/datatypes/IDatatype.java
MovementHelper (Interface)
Static helpers for cost calculation @author leijurv [1 implementers]
src/main/java/baritone/pathing/movement/MovementHelper.java
IDatatypeFor (Interface)
An IDatatype which acts as a Supplier, in essence. The only difference is that it requires an {@link IDa [6 implementers]
src/api/java/baritone/api/command/datatypes/IDatatypeFor.java
IRenderer (Interface)
(no doc) [2 implementers]
src/main/java/baritone/utils/IRenderer.java
Goal (Interface)
An abstract Goal for pathing, can be anything from a specific block to just a Y coordinate. @author leijurv [29 implementers]
src/api/java/baritone/api/pathing/goals/Goal.java

Core symbols most depended-on inside this repo

settings
called by 291
src/main/java/baritone/Baritone.java
get
called by 260
src/api/java/baritone/api/command/argument/IArgConsumer.java
player
called by 232
src/api/java/baritone/api/utils/IPlayerContext.java
add
called by 173
src/api/java/baritone/api/utils/Rotation.java
logDirect
called by 153
src/api/java/baritone/api/utils/Helper.java
getBlock
called by 151
src/api/java/baritone/api/cache/IBlockTypeAccess.java
playerFeet
called by 128
src/api/java/baritone/api/utils/IPlayerContext.java
getX
called by 127
src/api/java/baritone/api/cache/ICachedRegion.java

Shape

Method 2,224
Class 290
Interface 84
Enum 53

Languages

Java100%

Modules by API surface

src/main/java/baritone/process/BuilderProcess.java74 symbols
src/main/java/baritone/process/elytra/ElytraBehavior.java63 symbols
src/main/java/baritone/command/argument/ArgConsumer.java52 symbols
src/api/java/baritone/api/command/argument/IArgConsumer.java48 symbols
src/main/java/baritone/process/ElytraProcess.java38 symbols
src/main/java/baritone/pathing/movement/MovementHelper.java34 symbols
src/main/java/baritone/behavior/PathingBehavior.java30 symbols
src/main/java/baritone/behavior/LookBehavior.java30 symbols
src/main/java/baritone/process/MineProcess.java29 symbols
src/main/java/baritone/process/ExploreProcess.java27 symbols
src/main/java/baritone/Baritone.java27 symbols
src/main/java/baritone/pathing/path/PathExecutor.java25 symbols

For agents

$ claude mcp add baritone \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact