Minecraft AI pathfinder bot
Go to file
2019-01-24 15:06:01 -06:00
.idea/copyright Change License to GNU Lesser General Public License v3 2018-09-17 17:11:40 -05:00
buildSrc cursed 2019-01-02 21:08:31 -08:00
gradle/wrapper Add gradle configu 2018-08-01 13:09:39 -04:00
scripts Feed codacy and leijurv at the same time? 2018-12-01 13:22:11 -05:00
src don't create a new bsi for every selection box every tick 2019-01-23 21:25:38 -08:00
.gitignore CreateDist task 2018-10-12 21:21:16 -05:00
.travis.yml CreateDist task 2018-10-12 21:21:16 -05:00
build.gradle Fix API javadoc errors and make API only javadoc export 2018-12-03 19:37:54 -06:00
Dockerfile update some documentation 2018-10-19 21:15:37 -07:00
FEATURES.md more documentation 2018-10-07 17:57:07 -07:00
gradlew Add gradle configu 2018-08-01 13:09:39 -04:00
gradlew.bat Add gradle configu 2018-08-01 13:09:39 -04:00
IMPACT.md update install and impact information 2018-10-15 16:22:03 -07:00
INSTALL.md bump version to match build gradle 2018-10-21 14:24:23 -07:00
LICENSE Change License to GNU Lesser General Public License v3 2018-09-17 17:11:40 -05:00
README.md Image tutorial epic haha 2019-01-24 15:06:01 -06:00
settings.gradle Change License to GNU Lesser General Public License v3 2018-09-17 17:11:40 -05:00

Baritone

Build Status Release License Codacy Badge HitCount Known Vulnerabilities contributions welcome Minecraft Asuna integration Impact integration KAMI integration WWE integration Future integration ForgeHax integration

A Minecraft pathfinder bot.

Baritone is the pathfinding system used in Impact since 4.4. There's a showcase video made by @Adovin#3153 on Baritone's integration into Impact. Here's a video I made showing off what it can do.

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

Here are some links to help to get started:

Setup

  • Clone or download Baritone

    Image

    • If you choose to download, make sure you extract the ZIP archive.
  • Follow one of the instruction sets below, based on your preference

Command Line

On Mac OSX and Linux, use ./gradlew instead of gradlew.

Setting up the Environment:

$ gradlew setupDecompWorkspace
$ gradlew --refresh-dependencies

Running Baritone:

$ gradlew runClient

For information on how to build baritone, see Building Baritone

IntelliJ

  • Open the project in IntelliJ as a Gradle project

    Image

  • Run the Gradle tasks setupDecompWorkspace then genIntellijRuns

    Image

  • Refresh the Gradle project (or, to be safe, just restart IntelliJ)

    Image

  • Select the "Minecraft Client" launch config

    Image

  • Click on Edit Configurations... from the same dropdown and select the "Minecraft Client" config

    Image

  • In Edit Configurations... you need to select baritone_launch for Use classpath of module:.

    Image

Building

Command Line

$ gradlew build

IntelliJ

  • Navigate to the gradle tasks on the right tab as follows

    Image

  • Right click on build and press Run

Artifacts

Building Baritone will result in 3 artifacts created in the dist directory.

  • API: Only the non-api packages are obfuscated. This should be used in environments where other mods would like to use Baritone's features.
  • 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.
  • Unoptimized: Nothing is obfuscated. This shouldn't be used ever in production.

More Info

To replace out Impact 4.4's Baritone build with a customized one, switch to the impact4.4-compat branch, build Baritone as above then copy dist/baritone-api-$VERSION$.jar into minecraft/libraries/cabaletta/baritone-api/1.0.0/baritone-api-1.0.0.jar, replacing the jar that was previously there. You also need to edit minecraft/versions/1.12.2-Impact_4.4/1.12.2-Impact_4.4.json, find the line "name": "cabaletta:baritone-api:1.0.0", remove the comma from the end, and entirely remove the line that's immediately after (starts with "url").

Chat control

Defined Here

Quick start example: thisway 1000 or goal 70 to set the goal, path to actually start pathing. Also try mine diamond_ore. cancel to cancel.

API example

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

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

FAQ

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

Sure! (As long as usage is in compliance with the LGPL 3 License)

How is it so fast?

Magic. (Hours of Leijurv enduring excruciating pain)

Why is it called Baritone?

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