From 40e83423bc64e5beb562af5dd9167afc0a239c9c Mon Sep 17 00:00:00 2001 From: Murat Bayraktar Date: Sat, 10 May 2025 05:36:17 +0000 Subject: [PATCH 1/8] Update build limits (#4736) * Update minimum build limit * Update MovementDescend.java to work for any minimum height * Update RenderCommand.java for dynamic build heights. * Fix so it actually compiles. * Small syntax change. * Simpler formatting * Fix more height issues. * Remove allowJumpAt256 as redundant. * Remove allowJumpAt256 as redundant. * Update CalculationContext.java * Update Settings.java * Update Settings.java * Deprecate allowJumpAt256. * Re-introduce build limit jump setting. * Update MovementParkour.java * Update CalculationContext.java * Update Settings.java * Update CalculationContext.java * Update src/api/java/baritone/api/Settings.java Co-authored-by: ZacSharp <68165024+ZacSharp@users.noreply.github.com> --------- Co-authored-by: Murat65536 Co-authored-by: ZacSharp <68165024+ZacSharp@users.noreply.github.com> --- src/api/java/baritone/api/Settings.java | 7 +++++++ src/main/java/baritone/command/defaults/RenderCommand.java | 4 ++-- src/main/java/baritone/command/defaults/TunnelCommand.java | 2 +- .../java/baritone/pathing/movement/CalculationContext.java | 4 ++-- .../pathing/movement/movements/MovementDescend.java | 4 ++-- .../pathing/movement/movements/MovementParkour.java | 3 +-- .../baritone/utils/BlockStateInterfaceAccessWrapper.java | 4 ++-- 7 files changed, 17 insertions(+), 11 deletions(-) diff --git a/src/api/java/baritone/api/Settings.java b/src/api/java/baritone/api/Settings.java index 44dabae2a..d008007ce 100644 --- a/src/api/java/baritone/api/Settings.java +++ b/src/api/java/baritone/api/Settings.java @@ -185,6 +185,13 @@ public final class Settings { *

* Defaults to false because this fails on constantiam. Please let me know if this is ever disabled. Please. */ + public final Setting allowJumpAtBuildLimit = new Setting<>(false); + + /** + * Just here so mods that use the API don't break. Does nothing. + */ + @Deprecated + @JavaOnly public final Setting allowJumpAt256 = new Setting<>(false); /** diff --git a/src/main/java/baritone/command/defaults/RenderCommand.java b/src/main/java/baritone/command/defaults/RenderCommand.java index 543c3387c..308391241 100644 --- a/src/main/java/baritone/command/defaults/RenderCommand.java +++ b/src/main/java/baritone/command/defaults/RenderCommand.java @@ -40,10 +40,10 @@ public class RenderCommand extends Command { int renderDistance = (ctx.minecraft().options.renderDistance().get() + 1) * 16; ctx.minecraft().levelRenderer.setBlocksDirty( origin.x - renderDistance, - 0, + ctx.world().getMinBuildHeight(), origin.z - renderDistance, origin.x + renderDistance, - 255, + ctx.world().getMaxBuildHeight(), origin.z + renderDistance ); logDirect("Done"); diff --git a/src/main/java/baritone/command/defaults/TunnelCommand.java b/src/main/java/baritone/command/defaults/TunnelCommand.java index dec304a03..9e1cca1cb 100644 --- a/src/main/java/baritone/command/defaults/TunnelCommand.java +++ b/src/main/java/baritone/command/defaults/TunnelCommand.java @@ -44,7 +44,7 @@ public class TunnelCommand extends Command { int width = Integer.parseInt(args.getArgs().get(1).getValue()); int depth = Integer.parseInt(args.getArgs().get(2).getValue()); - if (width < 1 || height < 2 || depth < 1 || height > 255) { + if (width < 1 || height < 2 || depth < 1 || height > ctx.world().getMaxBuildHeight()){ logDirect("Width and depth must at least be 1 block; Height must at least be 2 blocks, and cannot be greater than the build limit."); cont = false; } diff --git a/src/main/java/baritone/pathing/movement/CalculationContext.java b/src/main/java/baritone/pathing/movement/CalculationContext.java index e84188a7f..ffd1a2fca 100644 --- a/src/main/java/baritone/pathing/movement/CalculationContext.java +++ b/src/main/java/baritone/pathing/movement/CalculationContext.java @@ -63,7 +63,7 @@ public class CalculationContext { public final List allowBreakAnyway; public final boolean allowParkour; public final boolean allowParkourPlace; - public final boolean allowJumpAt256; + public final boolean allowJumpAtBuildLimit; public final boolean allowParkourAscend; public final boolean assumeWalkOnWater; public boolean allowFallIntoLava; @@ -104,7 +104,7 @@ public class CalculationContext { this.allowBreakAnyway = new ArrayList<>(Baritone.settings().allowBreakAnyway.value); this.allowParkour = Baritone.settings().allowParkour.value; this.allowParkourPlace = Baritone.settings().allowParkourPlace.value; - this.allowJumpAt256 = Baritone.settings().allowJumpAt256.value; + this.allowJumpAtBuildLimit = Baritone.settings().allowJumpAtBuildLimit.value; this.allowParkourAscend = Baritone.settings().allowParkourAscend.value; this.assumeWalkOnWater = Baritone.settings().assumeWalkOnWater.value; this.allowFallIntoLava = false; // Super secret internal setting for ElytraBehavior diff --git a/src/main/java/baritone/pathing/movement/movements/MovementDescend.java b/src/main/java/baritone/pathing/movement/movements/MovementDescend.java index 07d6d7d01..0b84ef4db 100644 --- a/src/main/java/baritone/pathing/movement/movements/MovementDescend.java +++ b/src/main/java/baritone/pathing/movement/movements/MovementDescend.java @@ -147,9 +147,9 @@ public class MovementDescend extends Movement { int effectiveStartHeight = y; for (int fallHeight = 3; true; fallHeight++) { int newY = y - fallHeight; - if (newY < 0) { + if (newY < context.world.getMinBuildHeight()) { // when pathing in the end, where you could plausibly fall into the void - // this check prevents it from getting the block at y=-1 and crashing + // this check prevents it from getting the block at y=(below whatever the minimum height is) and crashing return false; } boolean reachedMinimum = fallHeight >= context.minFallHeight; diff --git a/src/main/java/baritone/pathing/movement/movements/MovementParkour.java b/src/main/java/baritone/pathing/movement/movements/MovementParkour.java index c46cf68bd..d1f56ed81 100644 --- a/src/main/java/baritone/pathing/movement/movements/MovementParkour.java +++ b/src/main/java/baritone/pathing/movement/movements/MovementParkour.java @@ -64,10 +64,9 @@ public class MovementParkour extends Movement { if (!context.allowParkour) { return; } - if (y == 256 && !context.allowJumpAt256) { + if (!context.allowJumpAtBuildLimit && y >= context.world.getMaxBuildHeight()) { return; } - int xDiff = dir.getStepX(); int zDiff = dir.getStepZ(); if (!MovementHelper.fullyPassable(context, x + xDiff, y, z + zDiff)) { diff --git a/src/main/java/baritone/utils/BlockStateInterfaceAccessWrapper.java b/src/main/java/baritone/utils/BlockStateInterfaceAccessWrapper.java index 19b04b454..a388e4333 100644 --- a/src/main/java/baritone/utils/BlockStateInterfaceAccessWrapper.java +++ b/src/main/java/baritone/utils/BlockStateInterfaceAccessWrapper.java @@ -56,12 +56,12 @@ public final class BlockStateInterfaceAccessWrapper implements BlockGetter { @Override public int getHeight() { - return 255; + return bsi.world.getMaxBuildHeight(); } @Override public int getMinBuildHeight() { - return 0; + return bsi.world.getMinBuildHeight(); } } From f86f0ab6cdd4e7f93302ac3b692663f7d61411e3 Mon Sep 17 00:00:00 2001 From: ZacSharp <68165024+ZacSharp@users.noreply.github.com> Date: Sat, 10 May 2025 15:51:20 +0200 Subject: [PATCH 2/8] Fix height vs. max build height mixup --- .../java/baritone/utils/BlockStateInterfaceAccessWrapper.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/baritone/utils/BlockStateInterfaceAccessWrapper.java b/src/main/java/baritone/utils/BlockStateInterfaceAccessWrapper.java index a388e4333..9f4bddf12 100644 --- a/src/main/java/baritone/utils/BlockStateInterfaceAccessWrapper.java +++ b/src/main/java/baritone/utils/BlockStateInterfaceAccessWrapper.java @@ -56,7 +56,7 @@ public final class BlockStateInterfaceAccessWrapper implements BlockGetter { @Override public int getHeight() { - return bsi.world.getMaxBuildHeight(); + return bsi.world.getHeight(); } @Override From 31b30e3a3179897c9eb7d1532264e91b6fa055a7 Mon Sep 17 00:00:00 2001 From: ZacSharp <68165024+ZacSharp@users.noreply.github.com> Date: Sat, 10 May 2025 20:24:26 +0200 Subject: [PATCH 3/8] Migrate `allowJumpAt256` to `allowJumpAtBuildLimit` in settings files --- src/api/java/baritone/api/utils/SettingsUtil.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/api/java/baritone/api/utils/SettingsUtil.java b/src/api/java/baritone/api/utils/SettingsUtil.java index 7a18b61c3..57ba8af90 100644 --- a/src/api/java/baritone/api/utils/SettingsUtil.java +++ b/src/api/java/baritone/api/utils/SettingsUtil.java @@ -83,6 +83,10 @@ public class SettingsUtil { String settingName = matcher.group("setting").toLowerCase(); String settingValue = matcher.group("value"); + // TODO remove soonish + if ("allowjumpat256".equals(settingName)) { + settingName = "allowjumpatbuildlimit"; + } try { parseAndApply(settings, settingName, settingValue); } catch (Exception ex) { From 01379f5474539f6ec96e31e057289272557fa00d Mon Sep 17 00:00:00 2001 From: ZacSharp <68165024+ZacSharp@users.noreply.github.com> Date: Tue, 13 May 2025 19:32:29 +0200 Subject: [PATCH 4/8] v1.9.4 --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index 845c524f6..d780b28c2 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,6 +1,6 @@ org.gradle.jvmargs=-Xmx4G -mod_version=1.9.3 +mod_version=1.9.4 maven_group=baritone archives_base_name=baritone From 647daf23aa548e1276d28cf4bff25d8ce107b0f9 Mon Sep 17 00:00:00 2001 From: ZacSharp <68165024+ZacSharp@users.noreply.github.com> Date: Tue, 13 May 2025 19:35:28 +0200 Subject: [PATCH 5/8] v1.9.5 previous commit was mistaken v1.9.4 already exists --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index d780b28c2..bd275b61a 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,6 +1,6 @@ org.gradle.jvmargs=-Xmx4G -mod_version=1.9.4 +mod_version=1.9.5 maven_group=baritone archives_base_name=baritone From 773d753c600452014d5fc139a492b59e363349f0 Mon Sep 17 00:00:00 2001 From: ZacSharp <68165024+ZacSharp@users.noreply.github.com> Date: Tue, 13 May 2025 21:31:56 +0200 Subject: [PATCH 6/8] Update quick download links --- README.md | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index fa5a624e4..b920edfaa 100644 --- a/README.md +++ b/README.md @@ -59,19 +59,20 @@ Baritone is the pathfinding system used in [Impact](https://impactclient.net/) s **Quick download links:** -| Forge | Fabric | -|---------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------| -| [1.12.2 Forge](https://github.com/cabaletta/baritone/releases/download/v1.2.19/baritone-api-forge-1.2.19.jar) | | -| [1.16.5 Forge](https://github.com/cabaletta/baritone/releases/download/v1.6.5/baritone-api-forge-1.6.5.jar) | [1.16.5 Fabric](https://github.com/cabaletta/baritone/releases/download/v1.6.5/baritone-api-fabric-1.6.5.jar) | -| [1.17.1 Forge](https://github.com/cabaletta/baritone/releases/download/v1.7.3/baritone-api-forge-1.7.3.jar) | [1.17.1 Fabric](https://github.com/cabaletta/baritone/releases/download/v1.7.3/baritone-api-fabric-1.7.3.jar) | -| [1.18.2 Forge](https://github.com/cabaletta/baritone/releases/download/v1.8.6/baritone-api-forge-1.8.6.jar) | [1.18.2 Fabric](https://github.com/cabaletta/baritone/releases/download/v1.8.6/baritone-api-fabric-1.8.6.jar) | -| [1.19.2 Forge](https://github.com/cabaletta/baritone/releases/download/v1.9.4/baritone-api-forge-1.9.4.jar) | [1.19.2 Fabric](https://github.com/cabaletta/baritone/releases/download/v1.9.4/baritone-api-fabric-1.9.4.jar) | -| [1.19.3 Forge](https://github.com/cabaletta/baritone/releases/download/v1.9.1/baritone-api-forge-1.9.1.jar) | [1.19.3 Fabric](https://github.com/cabaletta/baritone/releases/download/v1.9.1/baritone-api-fabric-1.9.1.jar) | -| [1.19.4 Forge](https://github.com/cabaletta/baritone/releases/download/v1.9.3/baritone-api-forge-1.9.3.jar) | [1.19.4 Fabric](https://github.com/cabaletta/baritone/releases/download/v1.9.3/baritone-api-fabric-1.9.3.jar) | -| [1.20.1 Forge](https://github.com/cabaletta/baritone/releases/download/v1.10.1/baritone-api-forge-1.10.1.jar) | [1.20.1 Fabric](https://github.com/cabaletta/baritone/releases/download/v1.10.1/baritone-api-fabric-1.10.1.jar) | -| [1.20.3 Forge](https://github.com/cabaletta/baritone/releases/download/v1.10.2/baritone-api-forge-1.10.2.jar) | [1.20.3 Fabric](https://github.com/cabaletta/baritone/releases/download/v1.10.2/baritone-api-fabric-1.10.2.jar) | -| [1.20.4 Forge](https://github.com/cabaletta/baritone/releases/download/v1.10.2/baritone-api-forge-1.10.2.jar) | [1.20.4 Fabric](https://github.com/cabaletta/baritone/releases/download/v1.10.2/baritone-api-fabric-1.10.2.jar) | -| [1.21.3 Forge](https://github.com/cabaletta/baritone/releases/download/v1.11.1/baritone-api-forge-1.11.1.jar) | [1.21.3 Fabric](https://github.com/cabaletta/baritone/releases/download/v1.11.1/baritone-api-fabric-1.11.1.jar) | +| Forge | Fabric | NeoForge | +|---------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------| +| [1.12.2 Forge](https://github.com/cabaletta/baritone/releases/download/v1.2.19/baritone-api-forge-1.2.19.jar) | | | +| [1.16.5 Forge](https://github.com/cabaletta/baritone/releases/download/v1.6.5/baritone-api-forge-1.6.5.jar) | [1.16.5 Fabric](https://github.com/cabaletta/baritone/releases/download/v1.6.5/baritone-api-fabric-1.6.5.jar) | | +| [1.17.1 Forge](https://github.com/cabaletta/baritone/releases/download/v1.7.3/baritone-api-forge-1.7.3.jar) | [1.17.1 Fabric](https://github.com/cabaletta/baritone/releases/download/v1.7.3/baritone-api-fabric-1.7.3.jar) | | +| [1.18.2 Forge](https://github.com/cabaletta/baritone/releases/download/v1.8.6/baritone-api-forge-1.8.6.jar) | [1.18.2 Fabric](https://github.com/cabaletta/baritone/releases/download/v1.8.6/baritone-api-fabric-1.8.6.jar) | | +| [1.19.2 Forge](https://github.com/cabaletta/baritone/releases/download/v1.9.4/baritone-api-forge-1.9.4.jar) | [1.19.2 Fabric](https://github.com/cabaletta/baritone/releases/download/v1.9.4/baritone-api-fabric-1.9.4.jar) | | +| [1.19.3 Forge](https://github.com/cabaletta/baritone/releases/download/v1.9.1/baritone-api-forge-1.9.1.jar) | [1.19.3 Fabric](https://github.com/cabaletta/baritone/releases/download/v1.9.1/baritone-api-fabric-1.9.1.jar) | | +| [1.19.4 Forge](https://github.com/cabaletta/baritone/releases/download/v1.9.5/baritone-api-forge-1.9.5.jar) | [1.19.4 Fabric](https://github.com/cabaletta/baritone/releases/download/v1.9.5/baritone-api-fabric-1.9.5.jar) | | +| [1.20.1 Forge](https://github.com/cabaletta/baritone/releases/download/v1.10.3/baritone-api-forge-1.10.3.jar) | [1.20.1 Fabric](https://github.com/cabaletta/baritone/releases/download/v1.10.3/baritone-api-fabric-1.10.3.jar) | | +| [1.20.3 Forge](https://github.com/cabaletta/baritone/releases/download/v1.10.4/baritone-api-forge-1.10.4.jar) | [1.20.3 Fabric](https://github.com/cabaletta/baritone/releases/download/v1.10.4/baritone-api-fabric-1.10.4.jar) | [1.20.3 NeoForge](https://github.com/cabaletta/baritone/releases/download/v1.10.4/baritone-api-neoforge-1.10.4.jar) | +| [1.20.4 Forge](https://github.com/cabaletta/baritone/releases/download/v1.10.4/baritone-api-forge-1.10.4.jar) | [1.20.4 Fabric](https://github.com/cabaletta/baritone/releases/download/v1.10.4/baritone-api-fabric-1.10.4.jar) | [1.20.4 NeoForge](https://github.com/cabaletta/baritone/releases/download/v1.10.4/baritone-api-neoforge-1.10.4.jar) | +| [1.21.1 Forge](https://github.com/cabaletta/baritone/releases/download/v1.11.2/baritone-api-forge-1.11.2.jar) | [1.21.1 Fabric](https://github.com/cabaletta/baritone/releases/download/v1.11.2/baritone-api-fabric-1.11.2.jar) | [1.21.1 NeoForge](https://github.com/cabaletta/baritone/releases/download/v1.11.2/baritone-api-neoforge-1.11.2.jar) | +| [1.21.3 Forge](https://github.com/cabaletta/baritone/releases/download/v1.11.1/baritone-api-forge-1.11.1.jar) | [1.21.3 Fabric](https://github.com/cabaletta/baritone/releases/download/v1.11.1/baritone-api-fabric-1.11.1.jar) | [1.21.3 NeoForge](https://github.com/cabaletta/baritone/releases/download/v1.11.1/baritone-api-neoforge-1.11.1.jar) | **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](http://discord.gg/s6fRBAUpmr). 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](https://youtu.be/NnSlQi-68eQ). From 5ffd3fcf2076cc39c39f29bb8579426a60b9db66 Mon Sep 17 00:00:00 2001 From: ZacSharp <68165024+ZacSharp@users.noreply.github.com> Date: Tue, 13 May 2025 23:29:54 +0200 Subject: [PATCH 7/8] Update setup information --- SETUP.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/SETUP.md b/SETUP.md index 1bf6e5dbd..91075d81f 100644 --- a/SETUP.md +++ b/SETUP.md @@ -1,6 +1,6 @@ # Installation -The easiest way to install Baritone is to install it as Forge/Neoforge/Fabric mod, but if you know how you can also use with a custom `version.json` +The easiest way to install Baritone is to install it as Forge/Neoforge/Fabric mod, but if you know how you can also use it with a custom `version.json` (Examples: [1.14.4](https://www.dropbox.com/s/rkml3hjokd3qv0m/1.14.4-Baritone.zip?dl=1), [1.15.2](https://www.dropbox.com/s/8rx6f0kts9hvd4f/1.15.2-Baritone.zip?dl=1), [1.16.5](https://www.dropbox.com/s/i6f292o2i7o9acp/1.16.5-Baritone.zip?dl=1)). Once Baritone is installed, look [here](USAGE.md) for instructions on how to use it. @@ -10,10 +10,10 @@ Releases are made rarely and are not always up to date with the latest features Link to the releases page: [Releases](https://github.com/cabaletta/baritone/releases) -The mapping between major Minecraft versions and major Baritone versions is as follows -| Minecraft version | 1.12 | 1.13 | 1.14 | 1.15 | 1.16 | 1.17 | 1.18 | 1.19 | 1.20 | 1.21 | -|-------------------|------|------|------|------|------|------|------|------|-------|-------| -| Baritone version | v1.2 | v1.3 | v1.4 | v1.5 | v1.6 | v1.7 | v1.8 | v1.9 | v1.10 | v1.11 | +The mapping between Minecraft versions and major Baritone versions is as follows +| Minecraft version | 1.12 | 1.13 | 1.14 | 1.15 | 1.16 | 1.17 | 1.18 | 1.19 | 1.20 | 1.21 | 1.21.5 | +|-------------------|------|------|------|------|------|------|------|------|-------|-------|--------| +| Baritone version | v1.2 | v1.3 | v1.4 | v1.5 | v1.6 | v1.7 | v1.8 | v1.9 | v1.10 | v1.11 | v1.14 | Any official release will be GPG signed by leijurv (44A3EA646EADAC6A). Please verify that the hash of the file you download is in `checksums.txt` and that `checksums_signed.asc` is a valid signature by that public keys of `checksums.txt`. @@ -56,7 +56,7 @@ The recommended Java versions by Minecraft version are | 1.12.2 - 1.16.5 | 8 | | 1.17.1 | 16 | | 1.18.2 - 1.20.4 | 17 | -| 1.20.5 - 1.21.4 | 21 | +| 1.20.5 - 1.21.5 | 21 | Download java: https://adoptium.net/ From de0b1f271e40f5e168e99f99918488ee7f1dabc4 Mon Sep 17 00:00:00 2001 From: ZacSharp <68165024+ZacSharp@users.noreply.github.com> Date: Tue, 13 May 2025 23:33:25 +0200 Subject: [PATCH 8/8] Update quick download links --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b920edfaa..7494381c1 100644 --- a/README.md +++ b/README.md @@ -73,6 +73,7 @@ Baritone is the pathfinding system used in [Impact](https://impactclient.net/) s | [1.20.4 Forge](https://github.com/cabaletta/baritone/releases/download/v1.10.4/baritone-api-forge-1.10.4.jar) | [1.20.4 Fabric](https://github.com/cabaletta/baritone/releases/download/v1.10.4/baritone-api-fabric-1.10.4.jar) | [1.20.4 NeoForge](https://github.com/cabaletta/baritone/releases/download/v1.10.4/baritone-api-neoforge-1.10.4.jar) | | [1.21.1 Forge](https://github.com/cabaletta/baritone/releases/download/v1.11.2/baritone-api-forge-1.11.2.jar) | [1.21.1 Fabric](https://github.com/cabaletta/baritone/releases/download/v1.11.2/baritone-api-fabric-1.11.2.jar) | [1.21.1 NeoForge](https://github.com/cabaletta/baritone/releases/download/v1.11.2/baritone-api-neoforge-1.11.2.jar) | | [1.21.3 Forge](https://github.com/cabaletta/baritone/releases/download/v1.11.1/baritone-api-forge-1.11.1.jar) | [1.21.3 Fabric](https://github.com/cabaletta/baritone/releases/download/v1.11.1/baritone-api-fabric-1.11.1.jar) | [1.21.3 NeoForge](https://github.com/cabaletta/baritone/releases/download/v1.11.1/baritone-api-neoforge-1.11.1.jar) | +| [1.21.5 Forge](https://github.com/cabaletta/baritone/releases/download/v1.14.0/baritone-api-forge-1.14.0.jar) | [1.21.5 Fabric](https://github.com/cabaletta/baritone/releases/download/v1.14.0/baritone-api-fabric-1.14.0.jar) | [1.21.5 NeoForge](https://github.com/cabaletta/baritone/releases/download/v1.14.0/baritone-api-neoforge-1.14.0.jar) | **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](http://discord.gg/s6fRBAUpmr). 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](https://youtu.be/NnSlQi-68eQ).