Package shuffle. Rename base class for clarity, remove unnecessary intermediate class.
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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<BlockDeviceProvider, BlockDeviceInfo> {
|
||||
public AbstractGroupingBlockDeviceBusElement(final int groupCount) {
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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<ItemDeviceProvider, ItemDeviceInfo> {
|
||||
public AbstractGroupingItemDeviceBusElement(final int groupCount) {
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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<ItemStack> implements ItemDevice {
|
||||
public AbstractItemDevice(final ItemStack value) {
|
||||
super(value);
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
@@ -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<T extends BlockDevice> extends AbstractItemDevice implements VMDevice, VMDeviceLifecycleListener {
|
||||
public abstract class AbstractHardDriveVMDevice<T extends BlockDevice> extends IdentityProxy<ItemStack> 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<T extends BlockDevice> extends Abs
|
||||
|
||||
///////////////////////////////////////////////////////////////
|
||||
|
||||
protected AbstractHardDriveDevice(final ItemStack stack) {
|
||||
protected AbstractHardDriveVMDevice(final ItemStack stack) {
|
||||
super(stack);
|
||||
}
|
||||
|
||||
@@ -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<ItemStack> 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;
|
||||
}
|
||||
@@ -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<ItemStack> 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;
|
||||
}
|
||||
@@ -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<ByteBufferBlockDevice> {
|
||||
public final class HardDriveVMDevice extends AbstractHardDriveVMDevice<ByteBufferBlockDevice> {
|
||||
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;
|
||||
@@ -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<ItemStack> implements VMDevice, VMDeviceLifecycleListener, ItemDevice {
|
||||
private static final String BLOB_HANDLE_NBT_TAG_NAME = "blob";
|
||||
private static final String ADDRESS_NBT_TAG_NAME = "address";
|
||||
|
||||
@@ -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<SparseBlockDevice> {
|
||||
public final class SparseHardDriveVMDevice extends AbstractHardDriveVMDevice<SparseBlockDevice> {
|
||||
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<SparseB
|
||||
return new DeserializationStream(device);
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////
|
||||
|
||||
private static final class SerializationStream extends InputStream {
|
||||
private final SparseBlockDevice device;
|
||||
private ByteBufferInputStream stream;
|
||||
@@ -1,6 +1,6 @@
|
||||
@ParametersAreNonnullByDefault
|
||||
@MethodsReturnNonnullByDefault
|
||||
package li.cil.oc2.common.bus.device;
|
||||
package li.cil.oc2.common.bus.device.item;
|
||||
|
||||
import mcp.MethodsReturnNonnullByDefault;
|
||||
|
||||
@@ -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;
|
||||
@@ -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;
|
||||
@@ -29,29 +29,29 @@ public final class EnergyStorageBlockDeviceProvider extends AbstractTileEntityCa
|
||||
|
||||
///////////////////////////////////////////////////////////////////
|
||||
|
||||
public static final class EnergyStorageDevice extends AbstractObjectDevice<IEnergyStorage> {
|
||||
public static final class EnergyStorageDevice extends IdentityProxy<IEnergyStorage> {
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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<IFluidHandler> {
|
||||
public static final class FluidHandlerDevice extends IdentityProxy<IFluidHandler> {
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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<IItemHandler> {
|
||||
public static final class ItemHandlerDevice extends IdentityProxy<IItemHandler> {
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
@@ -0,0 +1,7 @@
|
||||
@ParametersAreNonnullByDefault
|
||||
@MethodsReturnNonnullByDefault
|
||||
package li.cil.oc2.common.bus.device.provider.block;
|
||||
|
||||
import mcp.MethodsReturnNonnullByDefault;
|
||||
|
||||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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;
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
@ParametersAreNonnullByDefault
|
||||
@MethodsReturnNonnullByDefault
|
||||
package li.cil.oc2.common.bus.device.provider.item;
|
||||
|
||||
import mcp.MethodsReturnNonnullByDefault;
|
||||
|
||||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
@@ -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;
|
||||
@@ -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;
|
||||
@@ -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;
|
||||
@@ -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;
|
||||
@@ -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<T> {
|
||||
protected final T value;
|
||||
public abstract class IdentityProxy<T> {
|
||||
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<T> {
|
||||
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);
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
@@ -0,0 +1,7 @@
|
||||
@ParametersAreNonnullByDefault
|
||||
@MethodsReturnNonnullByDefault
|
||||
package li.cil.oc2.common.bus.device.util;
|
||||
|
||||
import mcp.MethodsReturnNonnullByDefault;
|
||||
|
||||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user