diff --git a/src/main/java/baritone/pathing/movement/MovementHelper.java b/src/main/java/baritone/pathing/movement/MovementHelper.java index 0fa326d51..11b6d2a55 100644 --- a/src/main/java/baritone/pathing/movement/MovementHelper.java +++ b/src/main/java/baritone/pathing/movement/MovementHelper.java @@ -658,6 +658,15 @@ public interface MovementHelper extends ActionCosts, Helper { )).setInput(Input.MOVE_FORWARD, true); } + static void alignBridge(IPlayerContext ctx, MovementState state, BlockPos dest) { + state.setTarget(new MovementTarget( + RotationUtils.calcRotationFromVec3d(VecUtils.getBlockPosCenter(dest), + ctx.playerHead(), + ctx.playerRotations()).withPitch(ctx.playerRotations().getPitch()), + false + )).setInput(Input.MOVE_BACK, true); + } + /** * Returns whether or not the specified block is * water, regardless of whether or not it is flowing. diff --git a/src/main/java/baritone/pathing/movement/movements/MovementTraverse.java b/src/main/java/baritone/pathing/movement/movements/MovementTraverse.java index cec3ca39a..f9ae54770 100644 --- a/src/main/java/baritone/pathing/movement/movements/MovementTraverse.java +++ b/src/main/java/baritone/pathing/movement/movements/MovementTraverse.java @@ -283,6 +283,7 @@ public class MovementTraverse extends Movement { } } MovementHelper.moveTowards(ctx, state, against); +// MovementHelper.moveBackwards(ctx, state, against); return state; } else { wasTheBridgeBlockAlwaysThere = false; @@ -315,6 +316,7 @@ public class MovementTraverse extends Movement { // but only if our attempted place is straight ahead return state.setInput(Input.MOVE_FORWARD, true); } +// return state.setInput(Input.MOVE_BACK, true); } else if (ctx.playerRotations().isReallyCloseTo(state.getTarget().rotation)) { // well i guess theres something in the way return state.setInput(Input.CLICK_LEFT, true); @@ -352,7 +354,9 @@ public class MovementTraverse extends Movement { } return state; } - MovementHelper.moveTowards(ctx, state, positionsToBreak[0]); +// MovementHelper.moveTowards(ctx, state, positionsToBreak[0]); +// MovementHelper.moveTowardsBlock(ctx, state, positionsToBreak[0]); + MovementHelper.alignBridge(ctx, state, dest); return state; // TODO MovementManager.moveTowardsBlock(to); // move towards not look at because if we are bridging for a couple blocks in a row, it is faster if we dont spin around and walk forwards then spin around and place backwards for every block }