Cleaner fix for water jump issue
This commit is contained in:
@@ -123,7 +123,7 @@ public abstract class Movement implements IMovement, MovementHelper {
|
||||
public MovementStatus update() {
|
||||
ctx.player().getAbilities().flying = false;
|
||||
currentState = updateState(currentState);
|
||||
if (MovementHelper.isLiquid(ctx, ctx.playerFeet())) {
|
||||
if (MovementHelper.isLiquid(ctx, ctx.playerFeet()) && ctx.player().position().y < dest.y + 0.6) {
|
||||
currentState.setInput(Input.JUMP, true);
|
||||
}
|
||||
if (ctx.player().isInWall()) {
|
||||
|
||||
@@ -70,7 +70,7 @@ public class MovementTraverse extends Movement {
|
||||
|
||||
@Override
|
||||
protected Set<BetterBlockPos> calculateValidPositions() {
|
||||
return ImmutableSet.of(src, src.above(), dest); // src.above means that we don't get caught in an infinite loop in water
|
||||
return ImmutableSet.of(src, dest); // src.above means that we don't get caught in an infinite loop in water
|
||||
}
|
||||
|
||||
public static double cost(CalculationContext context, int x, int y, int z, int destX, int destZ) {
|
||||
@@ -237,6 +237,7 @@ public class MovementTraverse extends Movement {
|
||||
if (feet.getY() != dest.getY() && !ladder) {
|
||||
logDebug("Wrong Y coordinate");
|
||||
if (feet.getY() < dest.getY()) {
|
||||
System.out.println("In movement traverse");
|
||||
return state.setInput(Input.JUMP, true);
|
||||
}
|
||||
return state;
|
||||
|
||||
Reference in New Issue
Block a user