diff --git a/src/main/java/com/simibubi/create/content/contraptions/TranslatingContraption.java b/src/main/java/com/simibubi/create/content/contraptions/TranslatingContraption.java index a5c20710a..e995cba17 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/TranslatingContraption.java +++ b/src/main/java/com/simibubi/create/content/contraptions/TranslatingContraption.java @@ -21,7 +21,7 @@ public abstract class TranslatingContraption extends Contraption { return Collections.emptySet(); if (cachedColliders == null || cachedColliderDirection != movementDirection) { cachedColliderDirection = movementDirection; - cachedColliders= createColliders(world, movementDirection); + cachedColliders = createColliders(world, movementDirection); } return cachedColliders; } diff --git a/src/main/java/com/simibubi/create/content/trains/station/StationBlockEntity.java b/src/main/java/com/simibubi/create/content/trains/station/StationBlockEntity.java index 86318d1a1..a164782e6 100644 --- a/src/main/java/com/simibubi/create/content/trains/station/StationBlockEntity.java +++ b/src/main/java/com/simibubi/create/content/trains/station/StationBlockEntity.java @@ -288,7 +288,7 @@ public class StationBlockEntity extends SmartBlockEntity implements ITransformab BlockPos up = new BlockPos(track.getUpNormal(level, pos, state)); BlockPos down = new BlockPos(track.getUpNormal(level, pos, state).scale(-1)); int bogeyOffset = pos.distManhattan(edgePoint.getGlobalPosition()) - 1; - + if (!isValidBogeyOffset(bogeyOffset)) { for (boolean upsideDown : Iterate.falseAndTrue) { for (int i = -1; i <= 1; i++) { @@ -364,6 +364,10 @@ public class StationBlockEntity extends SmartBlockEntity implements ITransformab if (!tryEnterAssemblyMode()) return false; + //Check the station wasn't destroyed + if (!(level.getBlockState(worldPosition).getBlock() instanceof StationBlock)) + return true; + BlockState newState = getBlockState().setValue(StationBlock.ASSEMBLING, true); level.setBlock(getBlockPos(), newState, 3); refreshBlockState();