diff --git a/src/main/java/li/cil/oc2/common/bus/TileEntityDeviceBusElement.java b/src/main/java/li/cil/oc2/common/bus/TileEntityDeviceBusElement.java index b6b889ab..a037c4a1 100644 --- a/src/main/java/li/cil/oc2/common/bus/TileEntityDeviceBusElement.java +++ b/src/main/java/li/cil/oc2/common/bus/TileEntityDeviceBusElement.java @@ -120,10 +120,6 @@ public class TileEntityDeviceBusElement extends AbstractGroupingBlockDeviceBusEl }); } - public void dispose() { - scheduleScan(); - } - /////////////////////////////////////////////////////////////////// protected boolean canScanContinueTowards(@Nullable final Direction direction) { diff --git a/src/main/java/li/cil/oc2/common/tileentity/BusCableTileEntity.java b/src/main/java/li/cil/oc2/common/tileentity/BusCableTileEntity.java index e89920bd..a9bce818 100644 --- a/src/main/java/li/cil/oc2/common/tileentity/BusCableTileEntity.java +++ b/src/main/java/li/cil/oc2/common/tileentity/BusCableTileEntity.java @@ -73,7 +73,7 @@ public final class BusCableTileEntity extends AbstractTileEntity { // Bus element will usually be discovered via bus scan, not via capability request, so // automatic invalidation via capability will *not* necessarily schedule a scan on the // controller of our current bus. So we need to trigger that manually. - busElement.dispose(); + busElement.scheduleScan(); } /////////////////////////////////////////////////////////////////// diff --git a/src/main/java/li/cil/oc2/common/tileentity/ComputerTileEntity.java b/src/main/java/li/cil/oc2/common/tileentity/ComputerTileEntity.java index 121f0195..0f139217 100644 --- a/src/main/java/li/cil/oc2/common/tileentity/ComputerTileEntity.java +++ b/src/main/java/li/cil/oc2/common/tileentity/ComputerTileEntity.java @@ -514,7 +514,10 @@ public final class ComputerTileEntity extends AbstractTileEntity implements ITic virtualMachine.vmAdapter.suspend(); busController.dispose(); - busElement.dispose(); + + // This is necessary in case some other controller found us before our controller + // did its scan, which can happen because the scan can happen with a delay. + busElement.scheduleScan(); } ///////////////////////////////////////////////////////////////////