diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/AbstractContraptionEntity.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/AbstractContraptionEntity.java index c8bfc9585..91c8a10e4 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/AbstractContraptionEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/AbstractContraptionEntity.java @@ -435,6 +435,15 @@ public abstract class AbstractContraptionEntity extends Entity implements IEntit } } + @SuppressWarnings("deprecation") + @Override + public void remove(boolean keepData) { + if (!world.isRemote && !removed && contraption != null) { + contraption.stop(world); + } + super.remove(keepData); + } + protected abstract StructureTransform makeStructureTransform(); @Override diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/Contraption.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/Contraption.java index fd27685ce..c71acc94f 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/Contraption.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/Contraption.java @@ -743,7 +743,6 @@ public abstract class Contraption { } public void addBlocksToWorld(World world, StructureTransform transform) { - stop(world); for (boolean nonBrittles : Iterate.trueAndFalse) { for (BlockInfo block : blocks.values()) { if (nonBrittles == BlockMovementTraits.isBrittle(block.state))