diff --git a/src/main/java/appeng/tile/crafting/CraftingTileEntity.java b/src/main/java/appeng/tile/crafting/CraftingTileEntity.java index 47c153550..69f90421c 100644 --- a/src/main/java/appeng/tile/crafting/CraftingTileEntity.java +++ b/src/main/java/appeng/tile/crafting/CraftingTileEntity.java @@ -246,6 +246,11 @@ public class CraftingTileEntity extends AENetworkTileEntity implements IAEMultiB } public void breakCluster() { + // Since breaking the cluster will most likely also update the TE's state, + // it's essential that we're not working with outdated block-state information, + // since this particular TE's block might already have been removed (state=air) + updateContainingBlockInfo(); + if (this.cluster != null) { this.cluster.cancel(); final IMEInventory inv = this.cluster.getInventory(); diff --git a/src/main/java/appeng/tile/qnb/QuantumBridgeTileEntity.java b/src/main/java/appeng/tile/qnb/QuantumBridgeTileEntity.java index f625a6bfd..c79320a59 100644 --- a/src/main/java/appeng/tile/qnb/QuantumBridgeTileEntity.java +++ b/src/main/java/appeng/tile/qnb/QuantumBridgeTileEntity.java @@ -289,6 +289,11 @@ public class QuantumBridgeTileEntity extends AENetworkInvTileEntity implements I } public void breakCluster() { + // Since breaking the cluster will most likely also update the TE's state, + // it's essential that we're not working with outdated block-state information, + // since this particular TE's block might already have been removed (state=air) + updateContainingBlockInfo(); + if (this.cluster != null) { this.cluster.destroy(); }