diff --git a/src/main/java/li/cil/oc2/common/bus/BlockEntityDeviceBusElement.java b/src/main/java/li/cil/oc2/common/bus/BlockEntityDeviceBusElement.java index d31f8b44..3694c571 100644 --- a/src/main/java/li/cil/oc2/common/bus/BlockEntityDeviceBusElement.java +++ b/src/main/java/li/cil/oc2/common/bus/BlockEntityDeviceBusElement.java @@ -96,7 +96,7 @@ public class BlockEntityDeviceBusElement extends AbstractGroupingDeviceBusElemen return; } - final HashSet newDevices = collectDevices(level, pos, direction); + final HashSet newDevices = collectDevices(level, pos, direction.getOpposite()); final int index = direction.get3DDataValue(); setEntriesForGroup(index, newDevices); diff --git a/src/main/java/li/cil/oc2/common/bus/device/provider/block/DiskDriveDeviceProvider.java b/src/main/java/li/cil/oc2/common/bus/device/provider/block/DiskDriveDeviceProvider.java index 4223c85b..c544096b 100644 --- a/src/main/java/li/cil/oc2/common/bus/device/provider/block/DiskDriveDeviceProvider.java +++ b/src/main/java/li/cil/oc2/common/bus/device/provider/block/DiskDriveDeviceProvider.java @@ -17,7 +17,7 @@ public final class DiskDriveDeviceProvider extends AbstractBlockEntityDeviceProv protected Invalidatable getBlockDevice(final BlockDeviceQuery query, final DiskDriveBlockEntity blockEntity) { // We only allow connecting to exactly one face of the disk drive to ensure only one // bus (and thus, one VM) will access the device at any single time. - if (query.getQuerySide() != blockEntity.getBlockState().getValue(HorizontalDirectionalBlock.FACING)) { + if (query.getQuerySide() == blockEntity.getBlockState().getValue(HorizontalDirectionalBlock.FACING)) { return Invalidatable.empty(); }