minecraft-source/src/net/minecraft/world/level/block/piston/PistonMath.java

33 lines
1.4 KiB
Java

package net.minecraft.world.level.block.piston;
import net.minecraft.core.Direction;
import net.minecraft.world.phys.AABB;
public class PistonMath {
public static AABB getMovementArea(final AABB cvc, final Direction fp, final double double3) {
final double double4 = double3 * fp.getAxisDirection().getStep();
final double double5 = Math.min(double4, 0.0);
final double double6 = Math.max(double4, 0.0);
switch (fp) {
case WEST: {
return new AABB(cvc.minX + double5, cvc.minY, cvc.minZ, cvc.minX + double6, cvc.maxY, cvc.maxZ);
}
case EAST: {
return new AABB(cvc.maxX + double5, cvc.minY, cvc.minZ, cvc.maxX + double6, cvc.maxY, cvc.maxZ);
}
case DOWN: {
return new AABB(cvc.minX, cvc.minY + double5, cvc.minZ, cvc.maxX, cvc.minY + double6, cvc.maxZ);
}
default: {
return new AABB(cvc.minX, cvc.maxY + double5, cvc.minZ, cvc.maxX, cvc.maxY + double6, cvc.maxZ);
}
case NORTH: {
return new AABB(cvc.minX, cvc.minY, cvc.minZ + double5, cvc.maxX, cvc.maxY, cvc.minZ + double6);
}
case SOUTH: {
return new AABB(cvc.minX, cvc.minY, cvc.maxZ + double5, cvc.maxX, cvc.maxY, cvc.maxZ + double6);
}
}
}
}