The Minecraft pathfinding bot Baritone, with extra movement tech and AltoClef built in.
Install · Quick start · What's new · Usage · Features · Building · Contributing
Important
Soprano is a drop-in replacement for Baritone. Don't install both.
| Minecraft | Latest Soprano | Loaders | Download |
|---|---|---|---|
| 26.3 | 1.1.6 | Fabric, Forge, NeoForge | Soprano v1.1.6 |
| 1.21.11 | 1.2.0 | Fabric, Forge, NeoForge | Soprano v1.2.0 |
| 1.21.4 (2b2t) | 1.0.3 | Fabric, Forge, NeoForge | Soprano v1.0.3 |
| Any Version (beta, 26.3 client joins any server) | 1.1.6 | Fabric | Soprano v1.1.6 Any Version |
Nightly builds get new features and fixes first. They can be buggy and aren't confirmed stable releases.
| Minecraft | Latest nightly | Loaders | Download |
|---|---|---|---|
| 26.3 | 1.1.7-nightly.11 | Fabric, Forge, NeoForge | Soprano v1.1.7-nightly.11 |
| Any Version | 1.1.7-nightly.11 | Fabric | Soprano v1.1.7-nightly.11 Any Version |
- Open the release for your Minecraft version.
- Download the jar for your loader and drop it in your
modsfolder, replacing Baritone if you had it. - In game, try
#goto 1000 500, then#stop.
Which jar do I want?
Most people want the api jar.
| Jar | What it is |
|---|---|
soprano-api-<loader>-<version>.jar |
The one you want. Everything outside baritone.api is obfuscated, so other mods can still use the API. |
soprano-unoptimized-fabric-<version>.jar |
Fabric only. Nothing is obfuscated. Use it when reporting a bug, the stack traces are readable. |
Updating
From 1.1.7-nightly.1 on, Soprano updates itself. A card in the top left of the title screen tells you when a new version is out. Press Update and it swaps in when you close the game. 1.1.6 and older don't have this, so the first one goes in by hand.
On a stable build you only get stable updates, on a nightly you only get newer nightlies. When you're up to date, a small button on the card switches you between nightly and stable (switching to stable needs 1.1.7 or newer to be out).
Don't want it? #set checkForUpdates false.
Note
Each branch of this repo is one Minecraft version, named after it (1.21.4, 1.21.11, 26.3). The newest version lives on 26.3, the default branch. You're looking at 26.3. To build it yourself, see SETUP.md.
Commands start with #.
#goto 1000 500
#mine diamond_ore
#get iron_pickaxe
#set allowNeos true
#stop
#help lists every command, and it's clickable. USAGE.md covers commands, settings and common problems.
Soprano ships Baritone's API as it was, so existing integrations keep working. See Baritone's javadocs for the API, and Settings.java for the new settings.
BaritoneAPI.getSettings().allowSprint.value = true;
BaritoneAPI.getSettings().allowNeos.value = true;
BaritoneAPI.getProvider().getPrimaryBaritone().getCustomGoalProcess().setGoalAndPath(new GoalXZ(10000, 20000));Anything outside baritone.api isn't supported for outside use.
Found something broken? Open an issue and include your latest.log, your Minecraft version and the output of #modified. Questions are welcome in the Discord.
To change code, read CONTRIBUTING.md. Some of the work done here has been sent back to Baritone as pull requests. Bugs that also happen in plain Baritone are worth reporting upstream too.
Soprano is Baritone, made by cabaletta, leijurv, Brady and all of Baritone's contributors. Without their years of work there's nothing to fork. The pathfinder, the API, the commands and most of the movement code are theirs.
The built-in AltoClef is AltoClef by gaucho-matrero and Adris Jautakas, using MarvionKirito's 1.21 fork. It's MIT licensed, see LICENSE-AltoClef.
#branchmine is adapted from BranchMiningTask in Hackerokuz's AltoClef fork (LegitMineFeature branch). That fork carries the same MIT license and copyright as AltoClef, so LICENSE-AltoClef covers it.
Soprano is licensed under the LGPL-3.0, same as Baritone.