diff --git a/src/main/java/li/cil/oc2/common/block/ComputerBlock.java b/src/main/java/li/cil/oc2/common/block/ComputerBlock.java index 975d992e..20b49bd7 100644 --- a/src/main/java/li/cil/oc2/common/block/ComputerBlock.java +++ b/src/main/java/li/cil/oc2/common/block/ComputerBlock.java @@ -133,7 +133,7 @@ public final class ComputerBlock extends HorizontalDirectionalBlock implements E public void neighborChanged(final BlockState state, final Level level, final BlockPos pos, final Block changedBlock, final BlockPos changedBlockPos, final boolean isMoving) { final BlockEntity blockEntity = level.getBlockEntity(pos); if (blockEntity instanceof final ComputerBlockEntity computer) { - computer.handleNeighborChanged(); + computer.handleNeighborChanged(changedBlockPos); } } diff --git a/src/main/java/li/cil/oc2/common/blockentity/ComputerBlockEntity.java b/src/main/java/li/cil/oc2/common/blockentity/ComputerBlockEntity.java index a6e4ec71..33125652 100644 --- a/src/main/java/li/cil/oc2/common/blockentity/ComputerBlockEntity.java +++ b/src/main/java/li/cil/oc2/common/blockentity/ComputerBlockEntity.java @@ -132,9 +132,10 @@ public final class ComputerBlockEntity extends ModBlockEntity implements Termina return terminalUsers; } - public void handleNeighborChanged() { + public void handleNeighborChanged(final BlockPos pos) { if (level != null && !level.isClientSide()) { virtualMachine.busController.scheduleBusScan(); + busElement.handleNeighborChanged(pos); } } @@ -382,6 +383,11 @@ public final class ComputerBlockEntity extends ModBlockEntity implements Termina return getBlockState().getValue(ComputerBlock.FACING) != direction; } + @Override + protected boolean canDetectDevicesTowards(@Nullable final Direction direction) { + return false; + } + @Override public Optional getDeviceIdentifier(final Device device) { if (devices.contains(device)) {