From 1f6aec67a23bb6cc1a90fc6309b488bc97dd0641 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20N=C3=BCcke?= Date: Mon, 4 Jan 2021 13:57:39 +0100 Subject: [PATCH] Make computer add devices for self. Avoids making a cable adjacent to computers lead to more devices, and allows standalone computers inspecting themselves. --- .../li/cil/oc2/common/tileentity/ComputerTileEntity.java | 7 +++++++ 1 file changed, 7 insertions(+) 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 3107e1d8..ee077f32 100644 --- a/src/main/java/li/cil/oc2/common/tileentity/ComputerTileEntity.java +++ b/src/main/java/li/cil/oc2/common/tileentity/ComputerTileEntity.java @@ -17,6 +17,7 @@ import li.cil.oc2.common.bus.AbstractDeviceBusController; import li.cil.oc2.common.bus.TileEntityDeviceBusController; import li.cil.oc2.common.bus.TileEntityDeviceBusElement; import li.cil.oc2.common.bus.device.data.FileSystems; +import li.cil.oc2.common.bus.device.util.BlockDeviceInfo; import li.cil.oc2.common.bus.device.util.Devices; import li.cil.oc2.common.bus.device.util.ItemDeviceInfo; import li.cil.oc2.common.capabilities.Capabilities; @@ -504,6 +505,12 @@ public final class ComputerTileEntity extends AbstractTileEntity implements ITic busElement.initialize(); virtualMachine.rtcMinecraft.setWorld(getWorld()); + + // Always add devices provided for the computer itself, even if there's no + // adjacent cable. Because that would just be weird. + for (final LazyOptional optional : Devices.getDevices(this, (Direction) null)) { + optional.ifPresent(info -> busElement.addDevice(info.device)); + } } @Override