unscuff water, thanks wwe

This commit is contained in:
Leijurv 2019-03-12 23:08:06 -07:00
parent 909ab553eb
commit 74e0552be0
No known key found for this signature in database
GPG Key ID: 44A3EA646EADAC6A

View File

@ -122,7 +122,7 @@ public class MovementDescend extends Movement {
// and potentially replace the water we're going to fall into // and potentially replace the water we're going to fall into
return false; return false;
} }
if (!MovementHelper.canWalkThrough(context.bsi, destX, y - 2, destZ, below) && below.getBlock() != Blocks.WATER) { if (!MovementHelper.canWalkThrough(context.bsi, destX, y - 2, destZ, below)) {
return false; return false;
} }
double costSoFar = 0; double costSoFar = 0;
@ -137,9 +137,10 @@ public class MovementDescend extends Movement {
IBlockState ontoBlock = context.get(destX, newY, destZ); IBlockState ontoBlock = context.get(destX, newY, destZ);
int unprotectedFallHeight = fallHeight - (y - effectiveStartHeight); // equal to fallHeight - y + effectiveFallHeight, which is equal to -newY + effectiveFallHeight, which is equal to effectiveFallHeight - newY int unprotectedFallHeight = fallHeight - (y - effectiveStartHeight); // equal to fallHeight - y + effectiveFallHeight, which is equal to -newY + effectiveFallHeight, which is equal to effectiveFallHeight - newY
double tentativeCost = WALK_OFF_BLOCK_COST + FALL_N_BLOCKS_COST[unprotectedFallHeight] + frontBreak + costSoFar; double tentativeCost = WALK_OFF_BLOCK_COST + FALL_N_BLOCKS_COST[unprotectedFallHeight] + frontBreak + costSoFar;
if ((ontoBlock.getBlock() == Blocks.WATER || ontoBlock.getBlock() == Blocks.FLOWING_WATER) && context.getBlock(destX, newY + 1, destZ) != Blocks.WATERLILY) { if (MovementHelper.isWater(ontoBlock.getBlock())) {
// lilypads are canWalkThrough, but we can't end a fall that should be broken by water if it's covered by a lilypad if (!MovementHelper.canWalkThrough(context.bsi, destX, newY, destZ, ontoBlock)) {
// however, don't return impossible in the lilypad scenario, because we could still jump right on it (water that's below a lilypad is canWalkOn so it works) return false;
}
if (context.assumeWalkOnWater) { if (context.assumeWalkOnWater) {
return false; // TODO fix return false; // TODO fix
} }