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 119a41f73..07a1d4811 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 @@ -441,13 +441,13 @@ public abstract class AbstractContraptionEntity extends Entity implements IEntit return; if (contraption == null) return; - - discard(); - + StructureTransform transform = makeStructureTransform(); AllPackets.channel.send(PacketDistributor.TRACKING_ENTITY.with(() -> this), new ContraptionDisassemblyPacket(this.getId(), transform)); + discard(); + contraption.addBlocksToWorld(level, transform); contraption.addPassengersToWorld(level, transform, getPassengers()); diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/belt/transport/BeltFunnelInteractionHandler.java b/src/main/java/com/simibubi/create/content/contraptions/relays/belt/transport/BeltFunnelInteractionHandler.java index e4b94be27..52f0cbe7a 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/relays/belt/transport/BeltFunnelInteractionHandler.java +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/belt/transport/BeltFunnelInteractionHandler.java @@ -80,8 +80,15 @@ public class BeltFunnelInteractionHandler { else continue; - if (amountToExtract != -1) + if (amountToExtract != -1) { toInsert.setCount(amountToExtract); + ItemStack remainder = inserting.simulate().insert(toInsert); + if (!remainder.isEmpty()) + if (blocking) + return true; + else + continue; + } ItemStack remainder = inserting.insert(toInsert); if (toInsert.equals(remainder, false)) diff --git a/src/main/java/com/simibubi/create/content/curiosities/toolbox/ToolboxInventory.java b/src/main/java/com/simibubi/create/content/curiosities/toolbox/ToolboxInventory.java index b5c7e4674..48e6d0b08 100644 --- a/src/main/java/com/simibubi/create/content/curiosities/toolbox/ToolboxInventory.java +++ b/src/main/java/com/simibubi/create/content/curiosities/toolbox/ToolboxInventory.java @@ -147,6 +147,7 @@ public class ToolboxInventory extends ItemStackHandler { if (!settling && !te.getLevel().isClientSide) settle(slot / STACKS_PER_COMPARTMENT); te.sendData(); + te.setChanged(); super.onContentsChanged(slot); }