diff --git a/src/main/java/li/cil/oc2/common/entity/RobotEntity.java b/src/main/java/li/cil/oc2/common/entity/RobotEntity.java index bfcab480..de5f8d63 100644 --- a/src/main/java/li/cil/oc2/common/entity/RobotEntity.java +++ b/src/main/java/li/cil/oc2/common/entity/RobotEntity.java @@ -183,7 +183,9 @@ public final class RobotEntity extends Entity { final int z = iterator.getZ(); mutablePosition.setPos(x, y, z); final BlockState blockState = world.getBlockState(mutablePosition); - if (blockState.isAir(world, mutablePosition)) { + if (blockState.isAir(world, mutablePosition) || + blockState.isIn(Blocks.MOVING_PISTON) || + blockState.isIn(Blocks.PISTON_HEAD)) { continue; } @@ -315,6 +317,11 @@ public final class RobotEntity extends Entity { protected void doBlockCollisions() { } + @Override + protected Vector3d handlePistonMovement(final Vector3d pos) { + return Vector3d.ZERO; + } + /////////////////////////////////////////////////////////////////// @OnlyIn(Dist.CLIENT)