From ff8d2c8da65a665161ed7aeefa99a167cf2acb84 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20N=C3=BCcke?= Date: Tue, 29 Dec 2020 17:30:37 +0100 Subject: [PATCH] Package shuffle. Rename base class for clarity, remove unnecessary intermediate class. --- .../common/block/entity/ComputerTileEntity.java | 4 ++-- .../AbstractGroupingBlockDeviceBusElement.java | 2 +- .../bus/AbstractGroupingDeviceBusElement.java | 2 +- .../AbstractGroupingItemDeviceBusElement.java | 2 +- .../common/bus/ItemHandlerDeviceBusElement.java | 2 +- .../common/bus/TileEntityDeviceBusElement.java | 4 ++-- .../common/bus/device/AbstractItemDevice.java | 10 ---------- .../device/{provider => block}/package-info.java | 2 +- .../AbstractHardDriveVMDevice.java} | 8 +++++--- .../ByteBufferFlashMemoryVMDevice.java} | 8 +++++--- .../FirmwareFlashMemoryVMDevice.java} | 8 +++++--- .../HardDriveVMDevice.java} | 6 +++--- .../bus/device/{ => item}/MemoryDevice.java | 6 ++++-- .../SparseHardDriveVMDevice.java} | 12 +++++++++--- .../bus/device/{ => item}/package-info.java | 2 +- .../{ => block}/BlockStateDeviceProvider.java | 2 +- .../EnergyStorageBlockDeviceProvider.java | 14 +++++++------- .../FluidHandlerBlockDeviceProvider.java | 12 ++++++------ .../ItemHandlerBlockDeviceProvider.java | 12 ++++++------ .../{ => block}/TileEntityDeviceProvider.java | 2 +- .../bus/device/provider/block/package-info.java | 7 +++++++ .../FlashMemoryItemDeviceProvider.java | 10 +++++----- .../{ => item}/HardDriveItemDeviceProvider.java | 10 +++++----- .../{ => item}/MemoryItemDeviceProvider.java | 4 ++-- .../bus/device/provider/item/package-info.java | 7 +++++++ .../device/{ => util}/AbstractDeviceInfo.java | 2 +- .../bus/device/{ => util}/BlockDeviceInfo.java | 2 +- .../bus/device/{ => util}/DeviceTypeImpl.java | 2 +- .../common/bus/device/{ => util}/Devices.java | 2 +- .../IdentityProxy.java} | 16 ++++++++-------- .../bus/device/{ => util}/ItemDeviceInfo.java | 2 +- .../oc2/common/bus/device/util/package-info.java | 7 +++++++ .../common/container/DeviceItemStackHandler.java | 2 +- .../container/TypedDeviceItemStackHandler.java | 4 ++-- .../java/li/cil/oc2/common/init/DeviceTypes.java | 2 +- .../java/li/cil/oc2/common/init/Providers.java | 5 ++++- .../li/cil/oc2/common/item/FlashMemoryItem.java | 4 ++-- 37 files changed, 118 insertions(+), 90 deletions(-) delete mode 100644 src/main/java/li/cil/oc2/common/bus/device/AbstractItemDevice.java rename src/main/java/li/cil/oc2/common/bus/device/{provider => block}/package-info.java (77%) rename src/main/java/li/cil/oc2/common/bus/device/{AbstractHardDriveDevice.java => item/AbstractHardDriveVMDevice.java} (95%) rename src/main/java/li/cil/oc2/common/bus/device/{ByteBufferFlashMemoryDevice.java => item/ByteBufferFlashMemoryVMDevice.java} (91%) rename src/main/java/li/cil/oc2/common/bus/device/{FirmwareFlashMemoryDevice.java => item/FirmwareFlashMemoryVMDevice.java} (72%) rename src/main/java/li/cil/oc2/common/bus/device/{HardDriveDevice.java => item/HardDriveVMDevice.java} (81%) rename src/main/java/li/cil/oc2/common/bus/device/{ => item}/MemoryDevice.java (94%) rename src/main/java/li/cil/oc2/common/bus/device/{SparseHardDriveDevice.java => item/SparseHardDriveVMDevice.java} (86%) rename src/main/java/li/cil/oc2/common/bus/device/{ => item}/package-info.java (78%) rename src/main/java/li/cil/oc2/common/bus/device/provider/{ => block}/BlockStateDeviceProvider.java (96%) rename src/main/java/li/cil/oc2/common/bus/device/provider/{ => block}/EnergyStorageBlockDeviceProvider.java (81%) rename src/main/java/li/cil/oc2/common/bus/device/provider/{ => block}/FluidHandlerBlockDeviceProvider.java (83%) rename src/main/java/li/cil/oc2/common/bus/device/provider/{ => block}/ItemHandlerBlockDeviceProvider.java (83%) rename src/main/java/li/cil/oc2/common/bus/device/provider/{ => block}/TileEntityDeviceProvider.java (95%) create mode 100644 src/main/java/li/cil/oc2/common/bus/device/provider/block/package-info.java rename src/main/java/li/cil/oc2/common/bus/device/provider/{ => item}/FlashMemoryItemDeviceProvider.java (79%) rename src/main/java/li/cil/oc2/common/bus/device/provider/{ => item}/HardDriveItemDeviceProvider.java (81%) rename src/main/java/li/cil/oc2/common/bus/device/provider/{ => item}/MemoryItemDeviceProvider.java (89%) create mode 100644 src/main/java/li/cil/oc2/common/bus/device/provider/item/package-info.java rename src/main/java/li/cil/oc2/common/bus/device/{ => util}/AbstractDeviceInfo.java (96%) rename src/main/java/li/cil/oc2/common/bus/device/{ => util}/BlockDeviceInfo.java (89%) rename src/main/java/li/cil/oc2/common/bus/device/{ => util}/DeviceTypeImpl.java (94%) rename src/main/java/li/cil/oc2/common/bus/device/{ => util}/Devices.java (99%) rename src/main/java/li/cil/oc2/common/bus/device/{AbstractObjectDevice.java => util/IdentityProxy.java} (56%) rename src/main/java/li/cil/oc2/common/bus/device/{ => util}/ItemDeviceInfo.java (88%) create mode 100644 src/main/java/li/cil/oc2/common/bus/device/util/package-info.java diff --git a/src/main/java/li/cil/oc2/common/block/entity/ComputerTileEntity.java b/src/main/java/li/cil/oc2/common/block/entity/ComputerTileEntity.java index 3877e26b..e80ebe37 100644 --- a/src/main/java/li/cil/oc2/common/block/entity/ComputerTileEntity.java +++ b/src/main/java/li/cil/oc2/common/block/entity/ComputerTileEntity.java @@ -16,8 +16,8 @@ import li.cil.oc2.common.block.ComputerBlock; 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.Devices; -import li.cil.oc2.common.bus.device.ItemDeviceInfo; +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; import li.cil.oc2.common.container.DeviceItemStackHandler; import li.cil.oc2.common.container.TypedDeviceItemStackHandler; diff --git a/src/main/java/li/cil/oc2/common/bus/AbstractGroupingBlockDeviceBusElement.java b/src/main/java/li/cil/oc2/common/bus/AbstractGroupingBlockDeviceBusElement.java index 8a573ace..cb41afbb 100644 --- a/src/main/java/li/cil/oc2/common/bus/AbstractGroupingBlockDeviceBusElement.java +++ b/src/main/java/li/cil/oc2/common/bus/AbstractGroupingBlockDeviceBusElement.java @@ -1,7 +1,7 @@ package li.cil.oc2.common.bus; import li.cil.oc2.api.bus.device.provider.BlockDeviceProvider; -import li.cil.oc2.common.bus.device.BlockDeviceInfo; +import li.cil.oc2.common.bus.device.util.BlockDeviceInfo; public abstract class AbstractGroupingBlockDeviceBusElement extends AbstractGroupingDeviceBusElement { public AbstractGroupingBlockDeviceBusElement(final int groupCount) { diff --git a/src/main/java/li/cil/oc2/common/bus/AbstractGroupingDeviceBusElement.java b/src/main/java/li/cil/oc2/common/bus/AbstractGroupingDeviceBusElement.java index c6995d51..626b0e39 100644 --- a/src/main/java/li/cil/oc2/common/bus/AbstractGroupingDeviceBusElement.java +++ b/src/main/java/li/cil/oc2/common/bus/AbstractGroupingDeviceBusElement.java @@ -1,7 +1,7 @@ package li.cil.oc2.common.bus; import li.cil.oc2.api.bus.device.Device; -import li.cil.oc2.common.bus.device.AbstractDeviceInfo; +import li.cil.oc2.common.bus.device.util.AbstractDeviceInfo; import li.cil.oc2.common.util.ItemDeviceUtils; import li.cil.oc2.common.util.NBTTagIds; import net.minecraft.nbt.CompoundNBT; diff --git a/src/main/java/li/cil/oc2/common/bus/AbstractGroupingItemDeviceBusElement.java b/src/main/java/li/cil/oc2/common/bus/AbstractGroupingItemDeviceBusElement.java index b11ee9c3..e002b956 100644 --- a/src/main/java/li/cil/oc2/common/bus/AbstractGroupingItemDeviceBusElement.java +++ b/src/main/java/li/cil/oc2/common/bus/AbstractGroupingItemDeviceBusElement.java @@ -1,7 +1,7 @@ package li.cil.oc2.common.bus; import li.cil.oc2.api.bus.device.provider.ItemDeviceProvider; -import li.cil.oc2.common.bus.device.ItemDeviceInfo; +import li.cil.oc2.common.bus.device.util.ItemDeviceInfo; public abstract class AbstractGroupingItemDeviceBusElement extends AbstractGroupingDeviceBusElement { public AbstractGroupingItemDeviceBusElement(final int groupCount) { diff --git a/src/main/java/li/cil/oc2/common/bus/ItemHandlerDeviceBusElement.java b/src/main/java/li/cil/oc2/common/bus/ItemHandlerDeviceBusElement.java index 695efb19..81467def 100644 --- a/src/main/java/li/cil/oc2/common/bus/ItemHandlerDeviceBusElement.java +++ b/src/main/java/li/cil/oc2/common/bus/ItemHandlerDeviceBusElement.java @@ -1,6 +1,6 @@ package li.cil.oc2.common.bus; -import li.cil.oc2.common.bus.device.ItemDeviceInfo; +import li.cil.oc2.common.bus.device.util.ItemDeviceInfo; import li.cil.oc2.common.util.ItemDeviceUtils; import li.cil.oc2.common.util.NBTTagIds; import net.minecraft.item.ItemStack; 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 e4677ed1..2275712f 100644 --- a/src/main/java/li/cil/oc2/common/bus/TileEntityDeviceBusElement.java +++ b/src/main/java/li/cil/oc2/common/bus/TileEntityDeviceBusElement.java @@ -3,8 +3,8 @@ package li.cil.oc2.common.bus; import li.cil.oc2.api.bus.BlockDeviceBusElement; import li.cil.oc2.api.bus.DeviceBus; import li.cil.oc2.api.bus.DeviceBusElement; -import li.cil.oc2.common.bus.device.BlockDeviceInfo; -import li.cil.oc2.common.bus.device.Devices; +import li.cil.oc2.common.bus.device.util.BlockDeviceInfo; +import li.cil.oc2.common.bus.device.util.Devices; import li.cil.oc2.common.capabilities.Capabilities; import li.cil.oc2.common.util.ServerScheduler; import li.cil.oc2.common.util.WorldUtils; diff --git a/src/main/java/li/cil/oc2/common/bus/device/AbstractItemDevice.java b/src/main/java/li/cil/oc2/common/bus/device/AbstractItemDevice.java deleted file mode 100644 index cb640ba3..00000000 --- a/src/main/java/li/cil/oc2/common/bus/device/AbstractItemDevice.java +++ /dev/null @@ -1,10 +0,0 @@ -package li.cil.oc2.common.bus.device; - -import li.cil.oc2.api.bus.device.ItemDevice; -import net.minecraft.item.ItemStack; - -public abstract class AbstractItemDevice extends AbstractObjectDevice implements ItemDevice { - public AbstractItemDevice(final ItemStack value) { - super(value); - } -} diff --git a/src/main/java/li/cil/oc2/common/bus/device/provider/package-info.java b/src/main/java/li/cil/oc2/common/bus/device/block/package-info.java similarity index 77% rename from src/main/java/li/cil/oc2/common/bus/device/provider/package-info.java rename to src/main/java/li/cil/oc2/common/bus/device/block/package-info.java index 7f699222..afe248e1 100644 --- a/src/main/java/li/cil/oc2/common/bus/device/provider/package-info.java +++ b/src/main/java/li/cil/oc2/common/bus/device/block/package-info.java @@ -1,6 +1,6 @@ @ParametersAreNonnullByDefault @MethodsReturnNonnullByDefault -package li.cil.oc2.common.bus.device.provider; +package li.cil.oc2.common.bus.device.block; import mcp.MethodsReturnNonnullByDefault; diff --git a/src/main/java/li/cil/oc2/common/bus/device/AbstractHardDriveDevice.java b/src/main/java/li/cil/oc2/common/bus/device/item/AbstractHardDriveVMDevice.java similarity index 95% rename from src/main/java/li/cil/oc2/common/bus/device/AbstractHardDriveDevice.java rename to src/main/java/li/cil/oc2/common/bus/device/item/AbstractHardDriveVMDevice.java index df3443bc..b043ac01 100644 --- a/src/main/java/li/cil/oc2/common/bus/device/AbstractHardDriveDevice.java +++ b/src/main/java/li/cil/oc2/common/bus/device/item/AbstractHardDriveVMDevice.java @@ -1,6 +1,8 @@ -package li.cil.oc2.common.bus.device; +package li.cil.oc2.common.bus.device.item; +import li.cil.oc2.api.bus.device.ItemDevice; import li.cil.oc2.api.bus.device.vm.*; +import li.cil.oc2.common.bus.device.util.IdentityProxy; import li.cil.oc2.common.serialization.BlobStorage; import li.cil.oc2.common.serialization.NBTSerialization; import li.cil.oc2.common.util.NBTTagIds; @@ -16,7 +18,7 @@ import java.util.OptionalInt; import java.util.OptionalLong; import java.util.UUID; -public abstract class AbstractHardDriveDevice extends AbstractItemDevice implements VMDevice, VMDeviceLifecycleListener { +public abstract class AbstractHardDriveVMDevice extends IdentityProxy implements VMDevice, VMDeviceLifecycleListener, ItemDevice { private static final String DEVICE_NBT_TAG_NAME = "device"; private static final String ADDRESS_NBT_TAG_NAME = "address"; private static final String INTERRUPT_NBT_TAG_NAME = "interrupt"; @@ -40,7 +42,7 @@ public abstract class AbstractHardDriveDevice extends Abs /////////////////////////////////////////////////////////////// - protected AbstractHardDriveDevice(final ItemStack stack) { + protected AbstractHardDriveVMDevice(final ItemStack stack) { super(stack); } diff --git a/src/main/java/li/cil/oc2/common/bus/device/ByteBufferFlashMemoryDevice.java b/src/main/java/li/cil/oc2/common/bus/device/item/ByteBufferFlashMemoryVMDevice.java similarity index 91% rename from src/main/java/li/cil/oc2/common/bus/device/ByteBufferFlashMemoryDevice.java rename to src/main/java/li/cil/oc2/common/bus/device/item/ByteBufferFlashMemoryVMDevice.java index a86a1e51..4748c176 100644 --- a/src/main/java/li/cil/oc2/common/bus/device/ByteBufferFlashMemoryDevice.java +++ b/src/main/java/li/cil/oc2/common/bus/device/item/ByteBufferFlashMemoryVMDevice.java @@ -1,6 +1,8 @@ -package li.cil.oc2.common.bus.device; +package li.cil.oc2.common.bus.device.item; +import li.cil.oc2.api.bus.device.ItemDevice; import li.cil.oc2.api.bus.device.vm.*; +import li.cil.oc2.common.bus.device.util.IdentityProxy; import li.cil.sedna.api.memory.MemoryAccessException; import li.cil.sedna.api.memory.MemoryMap; import li.cil.sedna.device.flash.FlashMemoryDevice; @@ -13,7 +15,7 @@ import org.apache.logging.log4j.Logger; import java.nio.ByteBuffer; import java.util.OptionalLong; -public final class ByteBufferFlashMemoryDevice extends AbstractItemDevice implements VMDevice, VMDeviceLifecycleListener { +public final class ByteBufferFlashMemoryVMDevice extends IdentityProxy implements VMDevice, VMDeviceLifecycleListener, ItemDevice { private static final Logger LOGGER = LogManager.getLogger(); /////////////////////////////////////////////////////////////// @@ -35,7 +37,7 @@ public final class ByteBufferFlashMemoryDevice extends AbstractItemDevice implem /////////////////////////////////////////////////////////////// - public ByteBufferFlashMemoryDevice(final ItemStack value, final int size) { + public ByteBufferFlashMemoryVMDevice(final ItemStack value, final int size) { super(value); this.size = size; } diff --git a/src/main/java/li/cil/oc2/common/bus/device/FirmwareFlashMemoryDevice.java b/src/main/java/li/cil/oc2/common/bus/device/item/FirmwareFlashMemoryVMDevice.java similarity index 72% rename from src/main/java/li/cil/oc2/common/bus/device/FirmwareFlashMemoryDevice.java rename to src/main/java/li/cil/oc2/common/bus/device/item/FirmwareFlashMemoryVMDevice.java index 60d275c2..e49c9d7c 100644 --- a/src/main/java/li/cil/oc2/common/bus/device/FirmwareFlashMemoryDevice.java +++ b/src/main/java/li/cil/oc2/common/bus/device/item/FirmwareFlashMemoryVMDevice.java @@ -1,17 +1,19 @@ -package li.cil.oc2.common.bus.device; +package li.cil.oc2.common.bus.device.item; +import li.cil.oc2.api.bus.device.ItemDevice; import li.cil.oc2.api.bus.device.data.Firmware; import li.cil.oc2.api.bus.device.vm.*; +import li.cil.oc2.common.bus.device.util.IdentityProxy; import li.cil.sedna.api.memory.MemoryMap; import net.minecraft.item.ItemStack; -public final class FirmwareFlashMemoryDevice extends AbstractItemDevice implements VMDevice, VMDeviceLifecycleListener { +public final class FirmwareFlashMemoryVMDevice extends IdentityProxy implements VMDevice, VMDeviceLifecycleListener, ItemDevice { private final Firmware firmware; private MemoryMap memoryMap; /////////////////////////////////////////////////////////////// - public FirmwareFlashMemoryDevice(final ItemStack stack, final Firmware firmware) { + public FirmwareFlashMemoryVMDevice(final ItemStack stack, final Firmware firmware) { super(stack); this.firmware = firmware; } diff --git a/src/main/java/li/cil/oc2/common/bus/device/HardDriveDevice.java b/src/main/java/li/cil/oc2/common/bus/device/item/HardDriveVMDevice.java similarity index 81% rename from src/main/java/li/cil/oc2/common/bus/device/HardDriveDevice.java rename to src/main/java/li/cil/oc2/common/bus/device/item/HardDriveVMDevice.java index 3b1c607e..338c5fcf 100644 --- a/src/main/java/li/cil/oc2/common/bus/device/HardDriveDevice.java +++ b/src/main/java/li/cil/oc2/common/bus/device/item/HardDriveVMDevice.java @@ -1,4 +1,4 @@ -package li.cil.oc2.common.bus.device; +package li.cil.oc2.common.bus.device.item; import li.cil.sedna.device.block.ByteBufferBlockDevice; import net.minecraft.item.ItemStack; @@ -7,13 +7,13 @@ import java.io.InputStream; import java.io.OutputStream; import java.util.Optional; -public final class HardDriveDevice extends AbstractHardDriveDevice { +public final class HardDriveVMDevice extends AbstractHardDriveVMDevice { private final int size; private final boolean readonly; /////////////////////////////////////////////////////////////////// - public HardDriveDevice(final ItemStack stack, final int size, final boolean readonly) { + public HardDriveVMDevice(final ItemStack stack, final int size, final boolean readonly) { super(stack); this.size = size; this.readonly = readonly; diff --git a/src/main/java/li/cil/oc2/common/bus/device/MemoryDevice.java b/src/main/java/li/cil/oc2/common/bus/device/item/MemoryDevice.java similarity index 94% rename from src/main/java/li/cil/oc2/common/bus/device/MemoryDevice.java rename to src/main/java/li/cil/oc2/common/bus/device/item/MemoryDevice.java index 543e67d3..800cbaba 100644 --- a/src/main/java/li/cil/oc2/common/bus/device/MemoryDevice.java +++ b/src/main/java/li/cil/oc2/common/bus/device/item/MemoryDevice.java @@ -1,7 +1,9 @@ -package li.cil.oc2.common.bus.device; +package li.cil.oc2.common.bus.device.item; import li.cil.oc2.Config; +import li.cil.oc2.api.bus.device.ItemDevice; import li.cil.oc2.api.bus.device.vm.*; +import li.cil.oc2.common.bus.device.util.IdentityProxy; import li.cil.oc2.common.item.MemoryItem; import li.cil.oc2.common.serialization.BlobStorage; import li.cil.oc2.common.util.NBTTagIds; @@ -16,7 +18,7 @@ import net.minecraft.util.math.MathHelper; import java.util.OptionalLong; import java.util.UUID; -public final class MemoryDevice extends AbstractItemDevice implements VMDevice, VMDeviceLifecycleListener { +public final class MemoryDevice extends IdentityProxy implements VMDevice, VMDeviceLifecycleListener, ItemDevice { private static final String BLOB_HANDLE_NBT_TAG_NAME = "blob"; private static final String ADDRESS_NBT_TAG_NAME = "address"; diff --git a/src/main/java/li/cil/oc2/common/bus/device/SparseHardDriveDevice.java b/src/main/java/li/cil/oc2/common/bus/device/item/SparseHardDriveVMDevice.java similarity index 86% rename from src/main/java/li/cil/oc2/common/bus/device/SparseHardDriveDevice.java rename to src/main/java/li/cil/oc2/common/bus/device/item/SparseHardDriveVMDevice.java index 1e2d5762..700ddedb 100644 --- a/src/main/java/li/cil/oc2/common/bus/device/SparseHardDriveDevice.java +++ b/src/main/java/li/cil/oc2/common/bus/device/item/SparseHardDriveVMDevice.java @@ -1,4 +1,4 @@ -package li.cil.oc2.common.bus.device; +package li.cil.oc2.common.bus.device.item; import li.cil.ceres.BinarySerialization; import li.cil.sedna.api.device.BlockDevice; @@ -13,16 +13,20 @@ import java.io.OutputStream; import java.nio.ByteBuffer; import java.util.Optional; -public final class SparseHardDriveDevice extends AbstractHardDriveDevice { +public final class SparseHardDriveVMDevice extends AbstractHardDriveVMDevice { private final BlockDevice base; private final boolean readonly; - public SparseHardDriveDevice(final ItemStack stack, final BlockDevice base, final boolean readonly) { + /////////////////////////////////////////////////////////////////// + + public SparseHardDriveVMDevice(final ItemStack stack, final BlockDevice base, final boolean readonly) { super(stack); this.base = base; this.readonly = readonly; } + /////////////////////////////////////////////////////////////////// + @Override protected int getSize() { return (int) base.getCapacity(); @@ -47,6 +51,8 @@ public final class SparseHardDriveDevice extends AbstractHardDriveDevice { + public static final class EnergyStorageDevice extends IdentityProxy { public EnergyStorageDevice(final IEnergyStorage energyStorage) { super(energyStorage); } @Callback public int getEnergyStored() { - return value.getEnergyStored(); + return identity.getEnergyStored(); } @Callback public int getMaxEnergyStored() { - return value.getMaxEnergyStored(); + return identity.getMaxEnergyStored(); } @Callback public boolean canExtract() { - return value.canExtract(); + return identity.canExtract(); } @Callback public boolean canReceive() { - return value.canReceive(); + return identity.canReceive(); } } } diff --git a/src/main/java/li/cil/oc2/common/bus/device/provider/FluidHandlerBlockDeviceProvider.java b/src/main/java/li/cil/oc2/common/bus/device/provider/block/FluidHandlerBlockDeviceProvider.java similarity index 83% rename from src/main/java/li/cil/oc2/common/bus/device/provider/FluidHandlerBlockDeviceProvider.java rename to src/main/java/li/cil/oc2/common/bus/device/provider/block/FluidHandlerBlockDeviceProvider.java index f269e045..9366b419 100644 --- a/src/main/java/li/cil/oc2/common/bus/device/provider/FluidHandlerBlockDeviceProvider.java +++ b/src/main/java/li/cil/oc2/common/bus/device/provider/block/FluidHandlerBlockDeviceProvider.java @@ -1,11 +1,11 @@ -package li.cil.oc2.common.bus.device.provider; +package li.cil.oc2.common.bus.device.provider.block; import li.cil.oc2.api.bus.device.Device; import li.cil.oc2.api.bus.device.object.Callback; import li.cil.oc2.api.bus.device.object.ObjectDevice; import li.cil.oc2.api.bus.device.provider.BlockDeviceQuery; import li.cil.oc2.common.bus.device.provider.util.AbstractTileEntityCapabilityDeviceProvider; -import li.cil.oc2.common.bus.device.AbstractObjectDevice; +import li.cil.oc2.common.bus.device.util.IdentityProxy; import li.cil.oc2.common.capabilities.Capabilities; import net.minecraft.tileentity.TileEntity; import net.minecraftforge.common.util.LazyOptional; @@ -30,24 +30,24 @@ public final class FluidHandlerBlockDeviceProvider extends AbstractTileEntityCap /////////////////////////////////////////////////////////////////// - public static final class FluidHandlerDevice extends AbstractObjectDevice { + public static final class FluidHandlerDevice extends IdentityProxy { public FluidHandlerDevice(final IFluidHandler fluidHandler) { super(fluidHandler); } @Callback public int getTanks() { - return value.getTanks(); + return identity.getTanks(); } @Callback public FluidStack getFluidInTank(final int tank) { - return value.getFluidInTank(tank); + return identity.getFluidInTank(tank); } @Callback public int getTankCapacity(final int tank) { - return value.getTankCapacity(tank); + return identity.getTankCapacity(tank); } } } diff --git a/src/main/java/li/cil/oc2/common/bus/device/provider/ItemHandlerBlockDeviceProvider.java b/src/main/java/li/cil/oc2/common/bus/device/provider/block/ItemHandlerBlockDeviceProvider.java similarity index 83% rename from src/main/java/li/cil/oc2/common/bus/device/provider/ItemHandlerBlockDeviceProvider.java rename to src/main/java/li/cil/oc2/common/bus/device/provider/block/ItemHandlerBlockDeviceProvider.java index 4e41ec74..4084bb7b 100644 --- a/src/main/java/li/cil/oc2/common/bus/device/provider/ItemHandlerBlockDeviceProvider.java +++ b/src/main/java/li/cil/oc2/common/bus/device/provider/block/ItemHandlerBlockDeviceProvider.java @@ -1,10 +1,10 @@ -package li.cil.oc2.common.bus.device.provider; +package li.cil.oc2.common.bus.device.provider.block; import li.cil.oc2.api.bus.device.Device; import li.cil.oc2.api.bus.device.object.Callback; import li.cil.oc2.api.bus.device.object.ObjectDevice; import li.cil.oc2.api.bus.device.provider.BlockDeviceQuery; -import li.cil.oc2.common.bus.device.AbstractObjectDevice; +import li.cil.oc2.common.bus.device.util.IdentityProxy; import li.cil.oc2.common.bus.device.provider.util.AbstractTileEntityCapabilityDeviceProvider; import li.cil.oc2.common.capabilities.Capabilities; import net.minecraft.item.ItemStack; @@ -30,24 +30,24 @@ public final class ItemHandlerBlockDeviceProvider extends AbstractTileEntityCapa /////////////////////////////////////////////////////////////////// - public static final class ItemHandlerDevice extends AbstractObjectDevice { + public static final class ItemHandlerDevice extends IdentityProxy { public ItemHandlerDevice(final IItemHandler itemHandler) { super(itemHandler); } @Callback public int getSlots() { - return value.getSlots(); + return identity.getSlots(); } @Callback public ItemStack getStackInSlot(final int slot) { - return value.getStackInSlot(slot); + return identity.getStackInSlot(slot); } @Callback public int getSlotLimit(final int slot) { - return value.getSlotLimit(slot); + return identity.getSlotLimit(slot); } } } diff --git a/src/main/java/li/cil/oc2/common/bus/device/provider/TileEntityDeviceProvider.java b/src/main/java/li/cil/oc2/common/bus/device/provider/block/TileEntityDeviceProvider.java similarity index 95% rename from src/main/java/li/cil/oc2/common/bus/device/provider/TileEntityDeviceProvider.java rename to src/main/java/li/cil/oc2/common/bus/device/provider/block/TileEntityDeviceProvider.java index 825f962c..64aee2bb 100644 --- a/src/main/java/li/cil/oc2/common/bus/device/provider/TileEntityDeviceProvider.java +++ b/src/main/java/li/cil/oc2/common/bus/device/provider/block/TileEntityDeviceProvider.java @@ -1,4 +1,4 @@ -package li.cil.oc2.common.bus.device.provider; +package li.cil.oc2.common.bus.device.provider.block; import li.cil.oc2.api.bus.device.Device; import li.cil.oc2.api.bus.device.object.Callbacks; diff --git a/src/main/java/li/cil/oc2/common/bus/device/provider/block/package-info.java b/src/main/java/li/cil/oc2/common/bus/device/provider/block/package-info.java new file mode 100644 index 00000000..0ef6d858 --- /dev/null +++ b/src/main/java/li/cil/oc2/common/bus/device/provider/block/package-info.java @@ -0,0 +1,7 @@ +@ParametersAreNonnullByDefault +@MethodsReturnNonnullByDefault +package li.cil.oc2.common.bus.device.provider.block; + +import mcp.MethodsReturnNonnullByDefault; + +import javax.annotation.ParametersAreNonnullByDefault; \ No newline at end of file diff --git a/src/main/java/li/cil/oc2/common/bus/device/provider/FlashMemoryItemDeviceProvider.java b/src/main/java/li/cil/oc2/common/bus/device/provider/item/FlashMemoryItemDeviceProvider.java similarity index 79% rename from src/main/java/li/cil/oc2/common/bus/device/provider/FlashMemoryItemDeviceProvider.java rename to src/main/java/li/cil/oc2/common/bus/device/provider/item/FlashMemoryItemDeviceProvider.java index 1c015999..23e4f887 100644 --- a/src/main/java/li/cil/oc2/common/bus/device/provider/FlashMemoryItemDeviceProvider.java +++ b/src/main/java/li/cil/oc2/common/bus/device/provider/item/FlashMemoryItemDeviceProvider.java @@ -1,4 +1,4 @@ -package li.cil.oc2.common.bus.device.provider; +package li.cil.oc2.common.bus.device.provider.item; import li.cil.oc2.Config; import li.cil.oc2.api.bus.device.DeviceType; @@ -6,8 +6,8 @@ import li.cil.oc2.api.bus.device.DeviceTypes; import li.cil.oc2.api.bus.device.ItemDevice; import li.cil.oc2.api.bus.device.data.Firmware; import li.cil.oc2.api.bus.device.provider.ItemDeviceQuery; -import li.cil.oc2.common.bus.device.ByteBufferFlashMemoryDevice; -import li.cil.oc2.common.bus.device.FirmwareFlashMemoryDevice; +import li.cil.oc2.common.bus.device.item.ByteBufferFlashMemoryVMDevice; +import li.cil.oc2.common.bus.device.item.FirmwareFlashMemoryVMDevice; import li.cil.oc2.common.bus.device.provider.util.AbstractItemDeviceProvider; import li.cil.oc2.common.init.Items; import li.cil.oc2.common.item.FlashMemoryItem; @@ -29,11 +29,11 @@ public final class FlashMemoryItemDeviceProvider extends AbstractItemDeviceProvi final Firmware firmware = FlashMemoryItem.getFirmware(stack); if (firmware != null) { - return Optional.of(new FirmwareFlashMemoryDevice(stack, firmware)); + return Optional.of(new FirmwareFlashMemoryVMDevice(stack, firmware)); } final int size = MathHelper.clamp(FlashMemoryItem.getCapacity(stack), 0, Config.maxFlashMemorySize); - return Optional.of(new ByteBufferFlashMemoryDevice(stack, size)); + return Optional.of(new ByteBufferFlashMemoryVMDevice(stack, size)); } @Override diff --git a/src/main/java/li/cil/oc2/common/bus/device/provider/HardDriveItemDeviceProvider.java b/src/main/java/li/cil/oc2/common/bus/device/provider/item/HardDriveItemDeviceProvider.java similarity index 81% rename from src/main/java/li/cil/oc2/common/bus/device/provider/HardDriveItemDeviceProvider.java rename to src/main/java/li/cil/oc2/common/bus/device/provider/item/HardDriveItemDeviceProvider.java index 5cec4fa8..c02e4a9b 100644 --- a/src/main/java/li/cil/oc2/common/bus/device/provider/HardDriveItemDeviceProvider.java +++ b/src/main/java/li/cil/oc2/common/bus/device/provider/item/HardDriveItemDeviceProvider.java @@ -1,4 +1,4 @@ -package li.cil.oc2.common.bus.device.provider; +package li.cil.oc2.common.bus.device.provider.item; import li.cil.oc2.Config; import li.cil.oc2.api.bus.device.DeviceType; @@ -6,8 +6,8 @@ import li.cil.oc2.api.bus.device.DeviceTypes; import li.cil.oc2.api.bus.device.ItemDevice; import li.cil.oc2.api.bus.device.data.BaseBlockDevice; import li.cil.oc2.api.bus.device.provider.ItemDeviceQuery; -import li.cil.oc2.common.bus.device.HardDriveDevice; -import li.cil.oc2.common.bus.device.SparseHardDriveDevice; +import li.cil.oc2.common.bus.device.item.HardDriveVMDevice; +import li.cil.oc2.common.bus.device.item.SparseHardDriveVMDevice; import li.cil.oc2.common.bus.device.provider.util.AbstractItemDeviceProvider; import li.cil.oc2.common.init.Items; import li.cil.oc2.common.item.HardDriveItem; @@ -32,11 +32,11 @@ public final class HardDriveItemDeviceProvider extends AbstractItemDeviceProvide final BaseBlockDevice baseBlockDevice = HardDriveItem.getBaseBlockDevice(stack); if (baseBlockDevice != null) { final BlockDevice base = baseBlockDevice.get(); - return Optional.of(new SparseHardDriveDevice(stack, base, readonly)); + return Optional.of(new SparseHardDriveVMDevice(stack, base, readonly)); } final int size = MathHelper.clamp(HardDriveItem.getCapacity(stack), 0, Config.maxHardDriveSize); - return Optional.of(new HardDriveDevice(stack, size, readonly)); + return Optional.of(new HardDriveVMDevice(stack, size, readonly)); } @Override diff --git a/src/main/java/li/cil/oc2/common/bus/device/provider/MemoryItemDeviceProvider.java b/src/main/java/li/cil/oc2/common/bus/device/provider/item/MemoryItemDeviceProvider.java similarity index 89% rename from src/main/java/li/cil/oc2/common/bus/device/provider/MemoryItemDeviceProvider.java rename to src/main/java/li/cil/oc2/common/bus/device/provider/item/MemoryItemDeviceProvider.java index a1375d9d..372e6aff 100644 --- a/src/main/java/li/cil/oc2/common/bus/device/provider/MemoryItemDeviceProvider.java +++ b/src/main/java/li/cil/oc2/common/bus/device/provider/item/MemoryItemDeviceProvider.java @@ -1,10 +1,10 @@ -package li.cil.oc2.common.bus.device.provider; +package li.cil.oc2.common.bus.device.provider.item; import li.cil.oc2.api.bus.device.DeviceType; import li.cil.oc2.api.bus.device.DeviceTypes; import li.cil.oc2.api.bus.device.ItemDevice; import li.cil.oc2.api.bus.device.provider.ItemDeviceQuery; -import li.cil.oc2.common.bus.device.MemoryDevice; +import li.cil.oc2.common.bus.device.item.MemoryDevice; import li.cil.oc2.common.bus.device.provider.util.AbstractItemDeviceProvider; import li.cil.oc2.common.init.Items; diff --git a/src/main/java/li/cil/oc2/common/bus/device/provider/item/package-info.java b/src/main/java/li/cil/oc2/common/bus/device/provider/item/package-info.java new file mode 100644 index 00000000..c4bdeefd --- /dev/null +++ b/src/main/java/li/cil/oc2/common/bus/device/provider/item/package-info.java @@ -0,0 +1,7 @@ +@ParametersAreNonnullByDefault +@MethodsReturnNonnullByDefault +package li.cil.oc2.common.bus.device.provider.item; + +import mcp.MethodsReturnNonnullByDefault; + +import javax.annotation.ParametersAreNonnullByDefault; \ No newline at end of file diff --git a/src/main/java/li/cil/oc2/common/bus/device/AbstractDeviceInfo.java b/src/main/java/li/cil/oc2/common/bus/device/util/AbstractDeviceInfo.java similarity index 96% rename from src/main/java/li/cil/oc2/common/bus/device/AbstractDeviceInfo.java rename to src/main/java/li/cil/oc2/common/bus/device/util/AbstractDeviceInfo.java index 4a42fd40..b189bbce 100644 --- a/src/main/java/li/cil/oc2/common/bus/device/AbstractDeviceInfo.java +++ b/src/main/java/li/cil/oc2/common/bus/device/util/AbstractDeviceInfo.java @@ -1,4 +1,4 @@ -package li.cil.oc2.common.bus.device; +package li.cil.oc2.common.bus.device.util; import li.cil.oc2.api.bus.device.Device; import net.minecraftforge.registries.IForgeRegistryEntry; diff --git a/src/main/java/li/cil/oc2/common/bus/device/BlockDeviceInfo.java b/src/main/java/li/cil/oc2/common/bus/device/util/BlockDeviceInfo.java similarity index 89% rename from src/main/java/li/cil/oc2/common/bus/device/BlockDeviceInfo.java rename to src/main/java/li/cil/oc2/common/bus/device/util/BlockDeviceInfo.java index 269a4364..2ca9edc5 100644 --- a/src/main/java/li/cil/oc2/common/bus/device/BlockDeviceInfo.java +++ b/src/main/java/li/cil/oc2/common/bus/device/util/BlockDeviceInfo.java @@ -1,4 +1,4 @@ -package li.cil.oc2.common.bus.device; +package li.cil.oc2.common.bus.device.util; import li.cil.oc2.api.bus.device.Device; import li.cil.oc2.api.bus.device.provider.BlockDeviceProvider; diff --git a/src/main/java/li/cil/oc2/common/bus/device/DeviceTypeImpl.java b/src/main/java/li/cil/oc2/common/bus/device/util/DeviceTypeImpl.java similarity index 94% rename from src/main/java/li/cil/oc2/common/bus/device/DeviceTypeImpl.java rename to src/main/java/li/cil/oc2/common/bus/device/util/DeviceTypeImpl.java index 9d0bf93c..30ff1945 100644 --- a/src/main/java/li/cil/oc2/common/bus/device/DeviceTypeImpl.java +++ b/src/main/java/li/cil/oc2/common/bus/device/util/DeviceTypeImpl.java @@ -1,4 +1,4 @@ -package li.cil.oc2.common.bus.device; +package li.cil.oc2.common.bus.device.util; import li.cil.oc2.api.bus.device.DeviceType; import net.minecraft.util.ResourceLocation; diff --git a/src/main/java/li/cil/oc2/common/bus/device/Devices.java b/src/main/java/li/cil/oc2/common/bus/device/util/Devices.java similarity index 99% rename from src/main/java/li/cil/oc2/common/bus/device/Devices.java rename to src/main/java/li/cil/oc2/common/bus/device/util/Devices.java index 9b056a7d..c4412a9e 100644 --- a/src/main/java/li/cil/oc2/common/bus/device/Devices.java +++ b/src/main/java/li/cil/oc2/common/bus/device/util/Devices.java @@ -1,4 +1,4 @@ -package li.cil.oc2.common.bus.device; +package li.cil.oc2.common.bus.device.util; import li.cil.oc2.api.bus.device.Device; import li.cil.oc2.api.bus.device.DeviceType; diff --git a/src/main/java/li/cil/oc2/common/bus/device/AbstractObjectDevice.java b/src/main/java/li/cil/oc2/common/bus/device/util/IdentityProxy.java similarity index 56% rename from src/main/java/li/cil/oc2/common/bus/device/AbstractObjectDevice.java rename to src/main/java/li/cil/oc2/common/bus/device/util/IdentityProxy.java index 8a72ca68..5e5257c7 100644 --- a/src/main/java/li/cil/oc2/common/bus/device/AbstractObjectDevice.java +++ b/src/main/java/li/cil/oc2/common/bus/device/util/IdentityProxy.java @@ -1,15 +1,15 @@ -package li.cil.oc2.common.bus.device; +package li.cil.oc2.common.bus.device.util; import javax.annotation.Nullable; import java.util.Objects; -public abstract class AbstractObjectDevice { - protected final T value; +public abstract class IdentityProxy { + protected final T identity; /////////////////////////////////////////////////////////////////// - public AbstractObjectDevice(final T value) { - this.value = value; + public IdentityProxy(final T identity) { + this.identity = identity; } /////////////////////////////////////////////////////////////////// @@ -18,12 +18,12 @@ public abstract class AbstractObjectDevice { public boolean equals(@Nullable final Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; - final AbstractObjectDevice that = (AbstractObjectDevice) o; - return value.equals(that.value); + final IdentityProxy that = (IdentityProxy) o; + return identity.equals(that.identity); } @Override public int hashCode() { - return Objects.hash(value); + return Objects.hash(identity); } } diff --git a/src/main/java/li/cil/oc2/common/bus/device/ItemDeviceInfo.java b/src/main/java/li/cil/oc2/common/bus/device/util/ItemDeviceInfo.java similarity index 88% rename from src/main/java/li/cil/oc2/common/bus/device/ItemDeviceInfo.java rename to src/main/java/li/cil/oc2/common/bus/device/util/ItemDeviceInfo.java index 09ee21bd..c99bed8c 100644 --- a/src/main/java/li/cil/oc2/common/bus/device/ItemDeviceInfo.java +++ b/src/main/java/li/cil/oc2/common/bus/device/util/ItemDeviceInfo.java @@ -1,4 +1,4 @@ -package li.cil.oc2.common.bus.device; +package li.cil.oc2.common.bus.device.util; import li.cil.oc2.api.bus.device.ItemDevice; import li.cil.oc2.api.bus.device.provider.ItemDeviceProvider; diff --git a/src/main/java/li/cil/oc2/common/bus/device/util/package-info.java b/src/main/java/li/cil/oc2/common/bus/device/util/package-info.java new file mode 100644 index 00000000..6faa74b2 --- /dev/null +++ b/src/main/java/li/cil/oc2/common/bus/device/util/package-info.java @@ -0,0 +1,7 @@ +@ParametersAreNonnullByDefault +@MethodsReturnNonnullByDefault +package li.cil.oc2.common.bus.device.util; + +import mcp.MethodsReturnNonnullByDefault; + +import javax.annotation.ParametersAreNonnullByDefault; \ No newline at end of file diff --git a/src/main/java/li/cil/oc2/common/container/DeviceItemStackHandler.java b/src/main/java/li/cil/oc2/common/container/DeviceItemStackHandler.java index beac0d14..9b823e73 100644 --- a/src/main/java/li/cil/oc2/common/container/DeviceItemStackHandler.java +++ b/src/main/java/li/cil/oc2/common/container/DeviceItemStackHandler.java @@ -1,7 +1,7 @@ package li.cil.oc2.common.container; import li.cil.oc2.common.bus.ItemHandlerDeviceBusElement; -import li.cil.oc2.common.bus.device.ItemDeviceInfo; +import li.cil.oc2.common.bus.device.util.ItemDeviceInfo; import li.cil.oc2.common.util.NBTTagIds; import net.minecraft.item.ItemStack; import net.minecraft.nbt.CompoundNBT; diff --git a/src/main/java/li/cil/oc2/common/container/TypedDeviceItemStackHandler.java b/src/main/java/li/cil/oc2/common/container/TypedDeviceItemStackHandler.java index 531cbae3..624935f4 100644 --- a/src/main/java/li/cil/oc2/common/container/TypedDeviceItemStackHandler.java +++ b/src/main/java/li/cil/oc2/common/container/TypedDeviceItemStackHandler.java @@ -1,8 +1,8 @@ package li.cil.oc2.common.container; import li.cil.oc2.api.bus.device.DeviceType; -import li.cil.oc2.common.bus.device.Devices; -import li.cil.oc2.common.bus.device.ItemDeviceInfo; +import li.cil.oc2.common.bus.device.util.Devices; +import li.cil.oc2.common.bus.device.util.ItemDeviceInfo; import net.minecraft.item.ItemStack; import java.util.List; diff --git a/src/main/java/li/cil/oc2/common/init/DeviceTypes.java b/src/main/java/li/cil/oc2/common/init/DeviceTypes.java index 62e0b25d..84a7bf5f 100644 --- a/src/main/java/li/cil/oc2/common/init/DeviceTypes.java +++ b/src/main/java/li/cil/oc2/common/init/DeviceTypes.java @@ -2,7 +2,7 @@ package li.cil.oc2.common.init; import li.cil.oc2.api.API; import li.cil.oc2.api.bus.device.DeviceType; -import li.cil.oc2.common.bus.device.DeviceTypeImpl; +import li.cil.oc2.common.bus.device.util.DeviceTypeImpl; import net.minecraft.inventory.container.PlayerContainer; import net.minecraft.util.ResourceLocation; import net.minecraft.util.text.TranslationTextComponent; diff --git a/src/main/java/li/cil/oc2/common/init/Providers.java b/src/main/java/li/cil/oc2/common/init/Providers.java index 9b47b7ac..ed251503 100644 --- a/src/main/java/li/cil/oc2/common/init/Providers.java +++ b/src/main/java/li/cil/oc2/common/init/Providers.java @@ -3,7 +3,10 @@ package li.cil.oc2.common.init; import li.cil.oc2.api.API; import li.cil.oc2.api.bus.device.provider.BlockDeviceProvider; import li.cil.oc2.api.bus.device.provider.ItemDeviceProvider; -import li.cil.oc2.common.bus.device.provider.*; +import li.cil.oc2.common.bus.device.provider.block.*; +import li.cil.oc2.common.bus.device.provider.item.FlashMemoryItemDeviceProvider; +import li.cil.oc2.common.bus.device.provider.item.HardDriveItemDeviceProvider; +import li.cil.oc2.common.bus.device.provider.item.MemoryItemDeviceProvider; import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; import net.minecraftforge.registries.DeferredRegister; import net.minecraftforge.registries.IForgeRegistry; diff --git a/src/main/java/li/cil/oc2/common/item/FlashMemoryItem.java b/src/main/java/li/cil/oc2/common/item/FlashMemoryItem.java index ce738bec..fdf4537a 100644 --- a/src/main/java/li/cil/oc2/common/item/FlashMemoryItem.java +++ b/src/main/java/li/cil/oc2/common/item/FlashMemoryItem.java @@ -3,7 +3,7 @@ package li.cil.oc2.common.item; import li.cil.oc2.Constants; import li.cil.oc2.api.API; import li.cil.oc2.api.bus.device.data.Firmware; -import li.cil.oc2.common.bus.device.ByteBufferFlashMemoryDevice; +import li.cil.oc2.common.bus.device.item.ByteBufferFlashMemoryVMDevice; import li.cil.oc2.common.init.Firmwares; import li.cil.oc2.common.util.ItemStackUtils; import li.cil.oc2.common.util.NBTTagIds; @@ -70,7 +70,7 @@ public final class FlashMemoryItem extends AbstractStorageItem { public CompoundNBT getShareTag(final ItemStack stack) { final CompoundNBT tag = super.getShareTag(stack); if (tag != null && tag.contains(API.MOD_ID, NBTTagIds.TAG_COMPOUND)) { - tag.getCompound(API.MOD_ID).remove(ByteBufferFlashMemoryDevice.DATA_TAG_NAME); + tag.getCompound(API.MOD_ID).remove(ByteBufferFlashMemoryVMDevice.DATA_TAG_NAME); } return tag; }