when parkouring from soul sand, the maximum gap should be 1, fixes #247

This commit is contained in:
Leijurv 2018-11-05 13:47:00 -08:00
parent c0e0f8dc2a
commit f286c400a3
No known key found for this signature in database
GPG Key ID: 44A3EA646EADAC6A

View File

@ -93,7 +93,17 @@ public class MovementParkour extends Movement {
if (!MovementHelper.fullyPassable(x, y + 2, z)) { if (!MovementHelper.fullyPassable(x, y + 2, z)) {
return; return;
} }
for (int i = 2; i <= (context.canSprint() ? 4 : 3); i++) { int maxJump;
if (standingOn.getBlock() == Blocks.SOUL_SAND) {
maxJump = 2; // 1 block gap
} else {
if (context.canSprint()) {
maxJump = 4;
} else {
maxJump = 3;
}
}
for (int i = 2; i <= maxJump; i++) {
// TODO perhaps dest.up(3) doesn't need to be fullyPassable, just canWalkThrough, possibly? // TODO perhaps dest.up(3) doesn't need to be fullyPassable, just canWalkThrough, possibly?
for (int y2 = 0; y2 < 4; y2++) { for (int y2 = 0; y2 < 4; y2++) {
if (!MovementHelper.fullyPassable(x + xDiff * i, y + y2, z + zDiff * i)) { if (!MovementHelper.fullyPassable(x + xDiff * i, y + y2, z + zDiff * i)) {
@ -108,7 +118,7 @@ public class MovementParkour extends Movement {
return; return;
} }
} }
if (!context.canSprint()) { if (maxJump != 4) {
return; return;
} }
if (!Baritone.settings().allowParkourPlace.get()) { if (!Baritone.settings().allowParkourPlace.get()) {