baritone/README.md

4.5 KiB

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

Command Line

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

Running Baritone:

$ gradlew runClient

Building Baritone:

$ gradlew build

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").

IntelliJ's Gradle UI

  • Open the project in IntelliJ as a Gradle project
  • Run the Gradle tasks setupDecompWorkspace then genIntellijRuns
  • Refresh the Gradle project (or, to be safe, just restart IntelliJ)
  • Select the "Minecraft Client" launch config
  • In Edit Configurations... you may need to select baritone_launch for Use classpath of module:.

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.