From f84b749ff43d41bcf01498040d5acf8af0b11f59 Mon Sep 17 00:00:00 2001 From: leijurv Date: Sat, 6 Jan 2024 12:21:52 -0800 Subject: [PATCH 1/6] Update README.md --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 3f2923f92..c2417806c 100644 --- a/README.md +++ b/README.md @@ -63,11 +63,13 @@ Baritone is the pathfinding system used in [Impact](https://impactclient.net/) s | [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.5/baritone-api-forge-1.8.5.jar) | [1.18.2 Fabric](https://github.com/cabaletta/baritone/releases/download/v1.8.5/baritone-api-fabric-1.8.5.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) | **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 340d2a1d54e58df8e6d6c61c9eb1ff1ae3091642 Mon Sep 17 00:00:00 2001 From: Wagyourtail Date: Sat, 20 Jan 2024 07:53:11 -0700 Subject: [PATCH 2/6] =?UTF-8?q?fix=20=F0=9F=AA=A8=F0=9F=A7=A0=20preventing?= =?UTF-8?q?=20null=20elytra=20process=20from=20working?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/baritone/Baritone.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/baritone/Baritone.java b/src/main/java/baritone/Baritone.java index c1176a3d4..ad6871413 100755 --- a/src/main/java/baritone/Baritone.java +++ b/src/main/java/baritone/Baritone.java @@ -79,7 +79,7 @@ public class Baritone implements IBaritone { private final ExploreProcess exploreProcess; private final FarmProcess farmProcess; private final InventoryPauserProcess inventoryPauserProcess; - private final ElytraProcess elytraProcess; + private final IElytraProcess elytraProcess; private final PathingControlManager pathingControlManager; private final SelectionManager selectionManager; From e7e434a95b1557e7ff608b84ca0529856df16e7f Mon Sep 17 00:00:00 2001 From: ZacSharp <68165024+ZacSharp@users.noreply.github.com> Date: Sat, 20 Jan 2024 23:35:54 +0100 Subject: [PATCH 3/6] Remove unsafe generic cast --- src/main/java/baritone/process/ElytraProcess.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/baritone/process/ElytraProcess.java b/src/main/java/baritone/process/ElytraProcess.java index 2c57c6f55..e6d7ee34a 100644 --- a/src/main/java/baritone/process/ElytraProcess.java +++ b/src/main/java/baritone/process/ElytraProcess.java @@ -84,10 +84,10 @@ public class ElytraProcess extends BaritoneProcessHelper implements IBaritonePro baritone.getGameEventHandler().registerEventListener(this); } - public static T create(final Baritone baritone) { - return (T) (NetherPathfinderContext.isSupported() + public static IElytraProcess create(final Baritone baritone) { + return NetherPathfinderContext.isSupported() ? new ElytraProcess(baritone) - : new NullElytraProcess(baritone)); + : new NullElytraProcess(baritone); } @Override From 9378f7e8a07b41b928f17e1505cf6cd2da910267 Mon Sep 17 00:00:00 2001 From: ZacSharp <68165024+ZacSharp@users.noreply.github.com> Date: Sun, 21 Jan 2024 01:32:30 +0100 Subject: [PATCH 4/6] Unhardcode `ORE_LOCATIONS_COUNT` --- src/api/java/baritone/api/Settings.java | 7 +++++++ src/main/java/baritone/process/MineProcess.java | 8 +++----- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/api/java/baritone/api/Settings.java b/src/api/java/baritone/api/Settings.java index 9171a3d68..31d33010c 100644 --- a/src/api/java/baritone/api/Settings.java +++ b/src/api/java/baritone/api/Settings.java @@ -900,6 +900,13 @@ public final class Settings { */ public final Setting maxCachedWorldScanCount = new Setting<>(10); + /** + * Mine will not scan for or remember more than this many target locations. + * Note that the number of locations retrieved from cache is additionaly + * limited by {@link #maxCachedWorldScanCount}. + */ + public final Setting mineMaxOreLocationsCount = new Setting<>(64); + /** * Sets the minimum y level whilst mining - set to 0 to turn off. * if world has negative y values, subtract the min world height to get the value to put here diff --git a/src/main/java/baritone/process/MineProcess.java b/src/main/java/baritone/process/MineProcess.java index b6f2be526..d1bec672f 100644 --- a/src/main/java/baritone/process/MineProcess.java +++ b/src/main/java/baritone/process/MineProcess.java @@ -53,8 +53,6 @@ import static baritone.api.pathing.movement.ActionCosts.COST_INF; */ public final class MineProcess extends BaritoneProcessHelper implements IMineProcess { - private static final int ORE_LOCATIONS_COUNT = 64; - private BlockOptionalMetaLookup filter; private List knownOreLocations; private List blacklist; // inaccessible @@ -186,7 +184,7 @@ public final class MineProcess extends BaritoneProcessHelper implements IMinePro List locs = knownOreLocations; if (!locs.isEmpty()) { CalculationContext context = new CalculationContext(baritone); - List locs2 = prune(context, new ArrayList<>(locs), filter, ORE_LOCATIONS_COUNT, blacklist, droppedItemsScan()); + List locs2 = prune(context, new ArrayList<>(locs), filter, Baritone.settings().mineMaxOreLocationsCount.value, blacklist, droppedItemsScan()); // can't reassign locs, gotta make a new var locs2, because we use it in a lambda right here, and variables you use in a lambda must be effectively final Goal goal = new GoalComposite(locs2.stream().map(loc -> coalesce(loc, locs2, context)).toArray(Goal[]::new)); knownOreLocations = locs2; @@ -235,7 +233,7 @@ public final class MineProcess extends BaritoneProcessHelper implements IMinePro return; } List dropped = droppedItemsScan(); - List locs = searchWorld(context, filter, ORE_LOCATIONS_COUNT, already, blacklist, dropped); + List locs = searchWorld(context, filter, Baritone.settings().mineMaxOreLocationsCount.value, already, blacklist, dropped); locs.addAll(dropped); if (locs.isEmpty() && !Baritone.settings().exploreForBlocks.value) { logDirect("No locations for " + filter + " known, cancelling"); @@ -425,7 +423,7 @@ public final class MineProcess extends BaritoneProcessHelper implements IMinePro } } } - knownOreLocations = prune(new CalculationContext(baritone), knownOreLocations, filter, ORE_LOCATIONS_COUNT, blacklist, dropped); + knownOreLocations = prune(new CalculationContext(baritone), knownOreLocations, filter, Baritone.settings().mineMaxOreLocationsCount.value, blacklist, dropped); return true; } From d51b23bd1ea09e940b18874b6a0f52843735f48c Mon Sep 17 00:00:00 2001 From: Wagyourtail Date: Mon, 22 Jan 2024 10:39:12 -0700 Subject: [PATCH 5/6] Fix feather crashing by catching error --- src/api/java/baritone/api/Settings.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/api/java/baritone/api/Settings.java b/src/api/java/baritone/api/Settings.java index 9171a3d68..647176a0a 100644 --- a/src/api/java/baritone/api/Settings.java +++ b/src/api/java/baritone/api/Settings.java @@ -29,6 +29,8 @@ import net.minecraft.network.chat.Component; import net.minecraft.world.item.Item; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Blocks; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import java.awt.*; import java.lang.annotation.ElementType; @@ -50,6 +52,7 @@ import java.util.function.Consumer; * @author leijurv */ public final class Settings { + private static final Logger LOGGER = LoggerFactory.getLogger("Baritone"); /** * Allow Baritone to break blocks @@ -1209,8 +1212,12 @@ public final class Settings { */ @JavaOnly public final Setting> logger = new Setting<>((msg) -> { - final GuiMessageTag tag = useMessageTag.value ? Helper.MESSAGE_TAG : null; - Minecraft.getInstance().gui.getChat().addMessage(msg, null, tag); + try { + final GuiMessageTag tag = useMessageTag.value ? Helper.MESSAGE_TAG : null; + Minecraft.getInstance().gui.getChat().addMessage(msg, null, tag); + } catch (Throwable t) { + LOGGER.warn("Failed to log message to chat: " + msg.getString(), t); + } }); /** From 078b3909b351db3814683153d253bd1301fa5182 Mon Sep 17 00:00:00 2001 From: Wagyourtail Date: Tue, 23 Jan 2024 08:18:58 -0700 Subject: [PATCH 6/6] fix build failing, by making nether pathfinder version consistent --- build.gradle | 2 +- fabric/build.gradle | 2 +- forge/build.gradle | 2 +- gradle.properties | 2 ++ 4 files changed, 5 insertions(+), 3 deletions(-) diff --git a/build.gradle b/build.gradle index 086d16c90..4ffc147e0 100755 --- a/build.gradle +++ b/build.gradle @@ -77,7 +77,7 @@ allprojects { // The following line declares the yarn mappings you may select this one as well. // mappings "net.fabricmc:yarn:1.17.1+build.32:v2" //launchImplementation('dev.babbaj:nether-pathfinder:1.3.0') - implementation 'dev.babbaj:nether-pathfinder:1.4.1' + implementation "dev.babbaj:nether-pathfinder:${project.nether_pathfinder_version}" } unimined.minecraft(sourceSets.main, true) { diff --git a/fabric/build.gradle b/fabric/build.gradle index 9674f4e7a..e0d5d8442 100644 --- a/fabric/build.gradle +++ b/fabric/build.gradle @@ -45,7 +45,7 @@ dependencies { common sourceSet.output shadowCommon sourceSet.output } - include 'dev.babbaj:nether-pathfinder:1.3.0' + include "dev.babbaj:nether-pathfinder:${project.nether_pathfinder_version}" } processResources { diff --git a/forge/build.gradle b/forge/build.gradle index d12da3201..334bd968c 100644 --- a/forge/build.gradle +++ b/forge/build.gradle @@ -56,7 +56,7 @@ dependencies { common sourceSet.output shadowCommon sourceSet.output } - shadowCommon 'dev.babbaj:nether-pathfinder:1.3.0' + shadowCommon "dev.babbaj:nether-pathfinder:${project.nether_pathfinder_version}" } processResources { diff --git a/gradle.properties b/gradle.properties index 77fe67e7f..d3db032c2 100644 --- a/gradle.properties +++ b/gradle.properties @@ -7,3 +7,5 @@ archives_base_name=baritone minecraft_version=1.19.4 forge_version=45.0.43 fabric_version=0.14.11 + +nether_pathfinder_version=1.4.1 \ No newline at end of file