diff --git a/src/main/java/baritone/pathing/calc/AStarPathFinder.java b/src/main/java/baritone/pathing/calc/AStarPathFinder.java index 893d9686..7435c3f0 100644 --- a/src/main/java/baritone/pathing/calc/AStarPathFinder.java +++ b/src/main/java/baritone/pathing/calc/AStarPathFinder.java @@ -109,7 +109,7 @@ public class AStarPathFinder extends AbstractNodeCostSearch implements Helper { if (movementToGetToNeighbor == null) { continue; } - BetterBlockPos dest = (BetterBlockPos) movementToGetToNeighbor.getDest(); + BetterBlockPos dest = movementToGetToNeighbor.getDest(); int chunkX = currentNodePos.x >> 4; int chunkZ = currentNodePos.z >> 4; if (dest.x >> 4 != chunkX || dest.z >> 4 != chunkZ) { diff --git a/src/main/java/baritone/pathing/movement/Movement.java b/src/main/java/baritone/pathing/movement/Movement.java index 0ee4a35f..ddf36034 100644 --- a/src/main/java/baritone/pathing/movement/Movement.java +++ b/src/main/java/baritone/pathing/movement/Movement.java @@ -22,6 +22,7 @@ import baritone.behavior.impl.LookBehavior; import baritone.behavior.impl.LookBehaviorUtils; import baritone.pathing.movement.MovementState.MovementStatus; import baritone.utils.*; +import baritone.utils.pathing.BetterBlockPos; import net.minecraft.util.EnumFacing; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.RayTraceResult; @@ -39,9 +40,9 @@ public abstract class Movement implements Helper, MovementHelper { private MovementState currentState = new MovementState().setStatus(MovementStatus.PREPPING); - protected final BlockPos src; + protected final BetterBlockPos src; - protected final BlockPos dest; + protected final BetterBlockPos dest; /** * The positions that need to be broken before this movement can ensue @@ -57,14 +58,14 @@ public abstract class Movement implements Helper, MovementHelper { private Double cost; - protected Movement(BlockPos src, BlockPos dest, BlockPos[] toBreak, BlockPos toPlace) { + protected Movement(BetterBlockPos src, BetterBlockPos dest, BlockPos[] toBreak, BlockPos toPlace) { this.src = src; this.dest = dest; this.positionsToBreak = toBreak; this.positionToPlace = toPlace; } - protected Movement(BlockPos src, BlockPos dest, BlockPos[] toBreak) { + protected Movement(BetterBlockPos src, BetterBlockPos dest, BlockPos[] toBreak) { this(src, dest, toBreak, null); } @@ -185,11 +186,11 @@ public abstract class Movement implements Helper, MovementHelper { && currentState.getStatus() != MovementStatus.WAITING); } - public BlockPos getSrc() { + public BetterBlockPos getSrc() { return src; } - public BlockPos getDest() { + public BetterBlockPos getDest() { return dest; } diff --git a/src/main/java/baritone/pathing/movement/MovementHelper.java b/src/main/java/baritone/pathing/movement/MovementHelper.java index 1dbcfae5..6aa2f5e0 100644 --- a/src/main/java/baritone/pathing/movement/MovementHelper.java +++ b/src/main/java/baritone/pathing/movement/MovementHelper.java @@ -23,6 +23,7 @@ import baritone.pathing.movement.MovementState.MovementTarget; import baritone.pathing.movement.movements.MovementDescend; import baritone.pathing.movement.movements.MovementFall; import baritone.utils.*; +import baritone.utils.pathing.BetterBlockPos; import net.minecraft.block.*; import net.minecraft.block.properties.PropertyBool; import net.minecraft.block.state.IBlockState; @@ -401,7 +402,7 @@ public interface MovementHelper extends ActionCosts, Helper { )).setInput(InputOverrideHandler.Input.MOVE_FORWARD, true); } - static Movement generateMovementFallOrDescend(BlockPos pos, BlockPos dest, CalculationContext calcContext) { + static Movement generateMovementFallOrDescend(BetterBlockPos pos, BetterBlockPos dest, CalculationContext calcContext) { // A //SA // A @@ -423,7 +424,7 @@ public interface MovementHelper extends ActionCosts, Helper { // we're clear for a fall 2 // let's see how far we can fall for (int fallHeight = 3; true; fallHeight++) { - BlockPos onto = dest.down(fallHeight); + BetterBlockPos onto = dest.down(fallHeight); if (onto.getY() < 0) { // 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 diff --git a/src/main/java/baritone/pathing/movement/movements/MovementAscend.java b/src/main/java/baritone/pathing/movement/movements/MovementAscend.java index 1177b376..9ddb7760 100644 --- a/src/main/java/baritone/pathing/movement/movements/MovementAscend.java +++ b/src/main/java/baritone/pathing/movement/movements/MovementAscend.java @@ -26,6 +26,7 @@ import baritone.pathing.movement.MovementState.MovementStatus; import baritone.utils.BlockStateInterface; import baritone.utils.InputOverrideHandler; import baritone.utils.Utils; +import baritone.utils.pathing.BetterBlockPos; import net.minecraft.block.Block; import net.minecraft.block.BlockFalling; import net.minecraft.block.state.IBlockState; @@ -41,7 +42,7 @@ public class MovementAscend extends Movement { private int ticksWithoutPlacement = 0; - public MovementAscend(BlockPos src, BlockPos dest) { + public MovementAscend(BetterBlockPos src, BetterBlockPos dest) { super(src, dest, new BlockPos[]{dest, src.up(2), dest.up()}, dest.down()); } @@ -155,8 +156,8 @@ public class MovementAscend extends Movement { if (player().isSneaking()) { state.setInput(InputOverrideHandler.Input.CLICK_RIGHT, true); } - if (ticksWithoutPlacement > 20) { - // After 20 ticks without placement, we might be standing in the way, move back + if (ticksWithoutPlacement > 10) { + // After 10 ticks without placement, we might be standing in the way, move back state.setInput(InputOverrideHandler.Input.MOVE_BACK, true); } } else { diff --git a/src/main/java/baritone/pathing/movement/movements/MovementDescend.java b/src/main/java/baritone/pathing/movement/movements/MovementDescend.java index d8d9d3b2..593c410a 100644 --- a/src/main/java/baritone/pathing/movement/movements/MovementDescend.java +++ b/src/main/java/baritone/pathing/movement/movements/MovementDescend.java @@ -24,13 +24,14 @@ import baritone.pathing.movement.MovementState; import baritone.pathing.movement.MovementState.MovementStatus; import baritone.utils.BlockStateInterface; import baritone.utils.InputOverrideHandler; +import baritone.utils.pathing.BetterBlockPos; import net.minecraft.block.Block; import net.minecraft.init.Blocks; import net.minecraft.util.math.BlockPos; public class MovementDescend extends Movement { - public MovementDescend(BlockPos start, BlockPos end) { + public MovementDescend(BetterBlockPos start, BetterBlockPos end) { super(start, end, new BlockPos[]{end.up(2), end.up(), end}, end.down()); } diff --git a/src/main/java/baritone/pathing/movement/movements/MovementDiagonal.java b/src/main/java/baritone/pathing/movement/movements/MovementDiagonal.java index d343234c..121ea7c7 100644 --- a/src/main/java/baritone/pathing/movement/movements/MovementDiagonal.java +++ b/src/main/java/baritone/pathing/movement/movements/MovementDiagonal.java @@ -23,6 +23,7 @@ import baritone.pathing.movement.MovementHelper; import baritone.pathing.movement.MovementState; import baritone.utils.BlockStateInterface; import baritone.utils.InputOverrideHandler; +import baritone.utils.pathing.BetterBlockPos; import net.minecraft.block.Block; import net.minecraft.block.BlockMagma; import net.minecraft.block.state.IBlockState; @@ -37,16 +38,16 @@ public class MovementDiagonal extends Movement { private static final double SQRT_2 = Math.sqrt(2); - public MovementDiagonal(BlockPos start, EnumFacing dir1, EnumFacing dir2) { + public MovementDiagonal(BetterBlockPos start, EnumFacing dir1, EnumFacing dir2) { this(start, start.offset(dir1), start.offset(dir2), dir2); // super(start, start.offset(dir1).offset(dir2), new BlockPos[]{start.offset(dir1), start.offset(dir1).up(), start.offset(dir2), start.offset(dir2).up(), start.offset(dir1).offset(dir2), start.offset(dir1).offset(dir2).up()}, new BlockPos[]{start.offset(dir1).offset(dir2).down()}); } - public MovementDiagonal(BlockPos start, BlockPos dir1, BlockPos dir2, EnumFacing drr2) { + private MovementDiagonal(BetterBlockPos start, BetterBlockPos dir1, BetterBlockPos dir2, EnumFacing drr2) { this(start, dir1.offset(drr2), dir1, dir2); } - public MovementDiagonal(BlockPos start, BlockPos end, BlockPos dir1, BlockPos dir2) { + private MovementDiagonal(BetterBlockPos start, BetterBlockPos end, BetterBlockPos dir1, BetterBlockPos dir2) { super(start, end, new BlockPos[]{dir1, dir1.up(), dir2, dir2.up(), end, end.up()}); } diff --git a/src/main/java/baritone/pathing/movement/movements/MovementDownward.java b/src/main/java/baritone/pathing/movement/movements/MovementDownward.java index 9565e932..48d26161 100644 --- a/src/main/java/baritone/pathing/movement/movements/MovementDownward.java +++ b/src/main/java/baritone/pathing/movement/movements/MovementDownward.java @@ -22,6 +22,7 @@ import baritone.pathing.movement.Movement; import baritone.pathing.movement.MovementHelper; import baritone.pathing.movement.MovementState; import baritone.utils.BlockStateInterface; +import baritone.utils.pathing.BetterBlockPos; import net.minecraft.block.Block; import net.minecraft.block.state.IBlockState; import net.minecraft.init.Blocks; @@ -31,7 +32,7 @@ public class MovementDownward extends Movement { private int numTicks = 0; - public MovementDownward(BlockPos start, BlockPos end) { + public MovementDownward(BetterBlockPos start, BetterBlockPos end) { super(start, end, new BlockPos[]{end}); } diff --git a/src/main/java/baritone/pathing/movement/movements/MovementFall.java b/src/main/java/baritone/pathing/movement/movements/MovementFall.java index 40fa291d..dbcde285 100644 --- a/src/main/java/baritone/pathing/movement/movements/MovementFall.java +++ b/src/main/java/baritone/pathing/movement/movements/MovementFall.java @@ -25,6 +25,7 @@ import baritone.pathing.movement.MovementState; import baritone.pathing.movement.MovementState.MovementStatus; import baritone.pathing.movement.MovementState.MovementTarget; import baritone.utils.*; +import baritone.utils.pathing.BetterBlockPos; import net.minecraft.block.Block; import net.minecraft.block.BlockFalling; import net.minecraft.block.state.IBlockState; @@ -41,7 +42,7 @@ public class MovementFall extends Movement { private static final ItemStack STACK_BUCKET_WATER = new ItemStack(Items.WATER_BUCKET); private static final ItemStack STACK_BUCKET_EMPTY = new ItemStack(Items.BUCKET); - public MovementFall(BlockPos src, BlockPos dest) { + public MovementFall(BetterBlockPos src, BetterBlockPos dest) { super(src, dest, MovementFall.buildPositionsToBreak(src, dest)); } diff --git a/src/main/java/baritone/pathing/movement/movements/MovementParkour.java b/src/main/java/baritone/pathing/movement/movements/MovementParkour.java index 40f9b5a3..1041ae07 100644 --- a/src/main/java/baritone/pathing/movement/movements/MovementParkour.java +++ b/src/main/java/baritone/pathing/movement/movements/MovementParkour.java @@ -24,6 +24,7 @@ import baritone.pathing.movement.MovementHelper; import baritone.pathing.movement.MovementState; import baritone.utils.BlockStateInterface; import baritone.utils.InputOverrideHandler; +import baritone.utils.pathing.BetterBlockPos; import net.minecraft.block.state.IBlockState; import net.minecraft.init.Blocks; import net.minecraft.util.EnumFacing; @@ -34,14 +35,14 @@ public class MovementParkour extends Movement { final EnumFacing direction; final int dist; - private MovementParkour(BlockPos src, int dist, EnumFacing dir) { + private MovementParkour(BetterBlockPos src, int dist, EnumFacing dir) { super(src, src.offset(dir, dist), new BlockPos[]{}); this.direction = dir; this.dist = dist; super.override(costFromJumpDistance(dist)); } - public static MovementParkour calculate(BlockPos src, EnumFacing dir) { + public static MovementParkour calculate(BetterBlockPos src, EnumFacing dir) { if (!Baritone.settings().allowParkour.get()) { return null; } diff --git a/src/main/java/baritone/pathing/movement/movements/MovementPillar.java b/src/main/java/baritone/pathing/movement/movements/MovementPillar.java index 6933a83f..73a591ad 100644 --- a/src/main/java/baritone/pathing/movement/movements/MovementPillar.java +++ b/src/main/java/baritone/pathing/movement/movements/MovementPillar.java @@ -25,6 +25,7 @@ import baritone.utils.BlockStateInterface; import baritone.utils.InputOverrideHandler; import baritone.utils.Rotation; import baritone.utils.Utils; +import baritone.utils.pathing.BetterBlockPos; import net.minecraft.block.*; import net.minecraft.block.state.IBlockState; import net.minecraft.client.Minecraft; @@ -33,7 +34,7 @@ import net.minecraft.util.math.BlockPos; public class MovementPillar extends Movement { private int numTicks = 0; - public MovementPillar(BlockPos start, BlockPos end) { + public MovementPillar(BetterBlockPos start, BetterBlockPos end) { super(start, end, new BlockPos[]{start.up(2)}, start); } @@ -169,7 +170,7 @@ public class MovementPillar extends Movement { state.setInput(InputOverrideHandler.Input.SNEAK, true); // Otherwise jump - if (numTicks > 40) { + if (numTicks > 20) { double diffX = player().posX - (dest.getX() + 0.5); double diffZ = player().posZ - (dest.getZ() + 0.5); double dist = Math.sqrt(diffX * diffX + diffZ * diffZ); diff --git a/src/main/java/baritone/pathing/movement/movements/MovementTraverse.java b/src/main/java/baritone/pathing/movement/movements/MovementTraverse.java index 44c594c0..da206d5e 100644 --- a/src/main/java/baritone/pathing/movement/movements/MovementTraverse.java +++ b/src/main/java/baritone/pathing/movement/movements/MovementTraverse.java @@ -25,6 +25,7 @@ import baritone.pathing.movement.MovementState; import baritone.utils.BlockStateInterface; import baritone.utils.InputOverrideHandler; import baritone.utils.Utils; +import baritone.utils.pathing.BetterBlockPos; import net.minecraft.block.*; import net.minecraft.block.state.IBlockState; import net.minecraft.client.Minecraft; @@ -42,7 +43,7 @@ public class MovementTraverse extends Movement { */ private boolean wasTheBridgeBlockAlwaysThere = true; - public MovementTraverse(BlockPos from, BlockPos to) { + public MovementTraverse(BetterBlockPos from, BetterBlockPos to) { super(from, to, new BlockPos[]{to.up(), to}, to.down()); }