diff --git a/src/api/java/baritone/api/Settings.java b/src/api/java/baritone/api/Settings.java index 14f00055e..05d5d618c 100644 --- a/src/api/java/baritone/api/Settings.java +++ b/src/api/java/baritone/api/Settings.java @@ -741,6 +741,7 @@ public final class Settings { /** * 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 */ public final Setting minYLevelWhileMining = new Setting<>(0); diff --git a/src/launch/java/baritone/launch/mixins/MixinItemStack.java b/src/launch/java/baritone/launch/mixins/MixinItemStack.java index 1582bc880..e4d336d7a 100644 --- a/src/launch/java/baritone/launch/mixins/MixinItemStack.java +++ b/src/launch/java/baritone/launch/mixins/MixinItemStack.java @@ -63,6 +63,8 @@ public abstract class MixinItemStack implements IItemStack { @Override public int getBaritoneHash() { + // TODO: figure out why mixin not working, was 0 for some reason + if (baritoneHash == 0) recalculateHash(); return baritoneHash; } } diff --git a/src/main/java/baritone/pathing/calc/AStarPathFinder.java b/src/main/java/baritone/pathing/calc/AStarPathFinder.java index 23ede2c7a..b37b598ff 100644 --- a/src/main/java/baritone/pathing/calc/AStarPathFinder.java +++ b/src/main/java/baritone/pathing/calc/AStarPathFinder.java @@ -111,7 +111,7 @@ public final class AStarPathFinder extends AbstractNodeCostSearch { if (!moves.dynamicXZ && !worldBorder.entirelyContains(newX, newZ)) { continue; } - if (currentNode.y + moves.yOffset > height || currentNode.y + moves.yOffset < 0) { + if (currentNode.y + moves.yOffset > height || currentNode.y + moves.yOffset < minY) { continue; } res.reset(); diff --git a/src/main/java/baritone/pathing/movement/movements/MovementFall.java b/src/main/java/baritone/pathing/movement/movements/MovementFall.java index 669f0a7dd..cb8711757 100644 --- a/src/main/java/baritone/pathing/movement/movements/MovementFall.java +++ b/src/main/java/baritone/pathing/movement/movements/MovementFall.java @@ -179,7 +179,7 @@ public class MovementFall extends Movement { BetterBlockPos[] toBreak; int diffX = src.getX() - dest.getX(); int diffZ = src.getZ() - dest.getZ(); - int diffY = src.getY() - dest.getY(); + int diffY = Math.abs(src.getY() - dest.getY()); toBreak = new BetterBlockPos[diffY + 2]; for (int i = 0; i < toBreak.length; i++) { toBreak[i] = new BetterBlockPos(src.getX() - diffX, src.getY() + 1 - i, src.getZ() - diffZ); diff --git a/src/main/java/baritone/process/MineProcess.java b/src/main/java/baritone/process/MineProcess.java index 34ae75e8c..cf14e7bf7 100644 --- a/src/main/java/baritone/process/MineProcess.java +++ b/src/main/java/baritone/process/MineProcess.java @@ -418,7 +418,7 @@ public final class MineProcess extends BaritoneProcessHelper implements IMinePro } }) - .filter(pos -> pos.getY() >= Baritone.settings().minYLevelWhileMining.value) + .filter(pos -> pos.getY() >= Baritone.settings().minYLevelWhileMining.value + ctx.world.dimensionType().minY()) .filter(pos -> !blacklist.contains(pos))