From 9863205df3ec18de707286f8ac7ee28f6a0d2ddd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20N=C3=BCcke?= Date: Sat, 9 Jan 2021 20:43:33 +0100 Subject: [PATCH] Moved capability package up. --- .../device/capabilities/NetworkInterface.java | 50 ------------------- .../device/capabilities/RedstoneEmitter.java | 16 ------ .../bus/device/capabilities/package-info.java | 7 --- .../cil/oc2/common/block/ComputerBlock.java | 2 +- .../common/bus/device/data/FileSystems.java | 4 +- .../item/NetworkInterfaceCardItemDevice.java | 2 +- .../item/RedstoneInterfaceCardItemDevice.java | 2 +- .../oc2/common/capabilities/Capabilities.java | 4 +- .../NetworkConnectorTileEntity.java | 2 +- 9 files changed, 8 insertions(+), 81 deletions(-) delete mode 100644 src/main/java/li/cil/oc2/api/bus/device/capabilities/NetworkInterface.java delete mode 100644 src/main/java/li/cil/oc2/api/bus/device/capabilities/RedstoneEmitter.java delete mode 100644 src/main/java/li/cil/oc2/api/bus/device/capabilities/package-info.java diff --git a/src/main/java/li/cil/oc2/api/bus/device/capabilities/NetworkInterface.java b/src/main/java/li/cil/oc2/api/bus/device/capabilities/NetworkInterface.java deleted file mode 100644 index 35296179..00000000 --- a/src/main/java/li/cil/oc2/api/bus/device/capabilities/NetworkInterface.java +++ /dev/null @@ -1,50 +0,0 @@ -package li.cil.oc2.api.bus.device.capabilities; - -import li.cil.oc2.api.bus.device.ItemDevice; - -import javax.annotation.Nullable; - -/** - * This interface provides interaction with the network bus. - *

- * Network connectors will check for this capability on blocks they are placed on. - * If found, they will actively poll frames via {@link #readEthernetFrame()} and push - * forwarded frames via {@link #writeEthernetFrame(NetworkInterface, byte[], int)}. - *

- * As with all capabilities, this capability can be provided by {@link ItemDevice}s. - */ -public interface NetworkInterface { - /** - * Tries to read an ethernet frame from this network interface. - *

- * The frame should be a Layer 2 Ethernet frame. - *

- * When no data is available, {@code null} should be returned. - * - * @return a pending frame or {@code null}. - */ - @Nullable - byte[] readEthernetFrame(); - - /** - * Tries to write an ethernet frame to this network interface. - *

- * The frame should be a Layer 2 Ethernet frame, but this is - * not guaranteed. Implementations should not rely on this, and if relying - * on this at least add appropriate validation and discard the frame otherwise. - *

- * If the device is not ready to receive data, it may ignore the call. - *

- * The {@code timeToLive} parameter is not to be confused with the IP protocol's - * TTL field. This parameter is used when pushing frames through the network bus - * to prevent infinite loops in case of cycles. Pure consumers can ignore this - * argument. Any implementation forwarding directly (by pushing it to some other - * {@link NetworkInterface} implementation) should call {@code writeEthernetFrame} - * with the time to live reduced by some value, usually by one. - * - * @param source the device that last forwarded the frame. - * @param frame the frame offered to the network interface. - * @param timeToLive the number of hops remaining before the frame should be discarded. - */ - void writeEthernetFrame(NetworkInterface source, byte[] frame, final int timeToLive); -} diff --git a/src/main/java/li/cil/oc2/api/bus/device/capabilities/RedstoneEmitter.java b/src/main/java/li/cil/oc2/api/bus/device/capabilities/RedstoneEmitter.java deleted file mode 100644 index 5fffab6b..00000000 --- a/src/main/java/li/cil/oc2/api/bus/device/capabilities/RedstoneEmitter.java +++ /dev/null @@ -1,16 +0,0 @@ -package li.cil.oc2.api.bus.device.capabilities; - -/** - * This interface may be provided as a capability by item components to signal - * to the containing {@link net.minecraft.tileentity.TileEntity} that they wish - * to emit a redstone signal. This is used by the built-in redstone interface - * card, for example. - */ -public interface RedstoneEmitter { - /** - * Returns the redstone output level for the side this interface was returned for. - * - * @return the redstone output level. - */ - int getRedstoneOutput(); -} diff --git a/src/main/java/li/cil/oc2/api/bus/device/capabilities/package-info.java b/src/main/java/li/cil/oc2/api/bus/device/capabilities/package-info.java deleted file mode 100644 index 7baa4840..00000000 --- a/src/main/java/li/cil/oc2/api/bus/device/capabilities/package-info.java +++ /dev/null @@ -1,7 +0,0 @@ -@ParametersAreNonnullByDefault -@MethodsReturnNonnullByDefault -package li.cil.oc2.api.bus.device.capabilities; - -import mcp.MethodsReturnNonnullByDefault; - -import javax.annotation.ParametersAreNonnullByDefault; \ No newline at end of file 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 c394e81f..2baf2b66 100644 --- a/src/main/java/li/cil/oc2/common/block/ComputerBlock.java +++ b/src/main/java/li/cil/oc2/common/block/ComputerBlock.java @@ -1,6 +1,6 @@ package li.cil.oc2.common.block; -import li.cil.oc2.api.bus.device.capabilities.RedstoneEmitter; +import li.cil.oc2.api.capabilities.RedstoneEmitter; import li.cil.oc2.client.gui.TerminalScreen; import li.cil.oc2.common.capabilities.Capabilities; import li.cil.oc2.common.container.ComputerContainer; diff --git a/src/main/java/li/cil/oc2/common/bus/device/data/FileSystems.java b/src/main/java/li/cil/oc2/common/bus/device/data/FileSystems.java index e3adde82..f0b4499a 100644 --- a/src/main/java/li/cil/oc2/common/bus/device/data/FileSystems.java +++ b/src/main/java/li/cil/oc2/common/bus/device/data/FileSystems.java @@ -4,7 +4,7 @@ import com.google.gson.JsonObject; import com.google.gson.JsonParser; import li.cil.oc2.common.vm.fs.LayeredFileSystem; import li.cil.oc2.common.vm.fs.ResourceFileSystem; -import li.cil.sedna.fs.*; +import li.cil.sedna.fs.FileSystem; import net.minecraft.resources.IResource; import net.minecraft.resources.IResourceManager; import net.minecraft.server.MinecraftServer; @@ -13,7 +13,7 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import java.io.InputStreamReader; -import java.util.*; +import java.util.Collection; public final class FileSystems { private static final Logger LOGGER = LogManager.getLogger(); diff --git a/src/main/java/li/cil/oc2/common/bus/device/item/NetworkInterfaceCardItemDevice.java b/src/main/java/li/cil/oc2/common/bus/device/item/NetworkInterfaceCardItemDevice.java index 046038f8..923a3588 100644 --- a/src/main/java/li/cil/oc2/common/bus/device/item/NetworkInterfaceCardItemDevice.java +++ b/src/main/java/li/cil/oc2/common/bus/device/item/NetworkInterfaceCardItemDevice.java @@ -1,8 +1,8 @@ package li.cil.oc2.common.bus.device.item; import li.cil.oc2.api.bus.device.ItemDevice; -import li.cil.oc2.api.bus.device.capabilities.NetworkInterface; import li.cil.oc2.api.bus.device.vm.*; +import li.cil.oc2.api.capabilities.NetworkInterface; import li.cil.oc2.common.bus.device.util.IdentityProxy; import li.cil.oc2.common.bus.device.util.OptionalAddress; import li.cil.oc2.common.bus.device.util.OptionalInterrupt; diff --git a/src/main/java/li/cil/oc2/common/bus/device/item/RedstoneInterfaceCardItemDevice.java b/src/main/java/li/cil/oc2/common/bus/device/item/RedstoneInterfaceCardItemDevice.java index efcac735..1a7cd2cf 100644 --- a/src/main/java/li/cil/oc2/common/bus/device/item/RedstoneInterfaceCardItemDevice.java +++ b/src/main/java/li/cil/oc2/common/bus/device/item/RedstoneInterfaceCardItemDevice.java @@ -1,13 +1,13 @@ package li.cil.oc2.common.bus.device.item; import li.cil.oc2.api.bus.device.ItemDevice; -import li.cil.oc2.api.bus.device.capabilities.RedstoneEmitter; import li.cil.oc2.api.bus.device.object.Callback; import li.cil.oc2.api.bus.device.object.DocumentedDevice; import li.cil.oc2.api.bus.device.object.ObjectDevice; import li.cil.oc2.api.bus.device.object.Parameter; import li.cil.oc2.api.bus.device.rpc.RPCDevice; import li.cil.oc2.api.bus.device.rpc.RPCMethod; +import li.cil.oc2.api.capabilities.RedstoneEmitter; import li.cil.oc2.common.bus.device.util.IdentityProxy; import li.cil.oc2.common.capabilities.Capabilities; import li.cil.oc2.common.util.HorizontalBlockUtils; diff --git a/src/main/java/li/cil/oc2/common/capabilities/Capabilities.java b/src/main/java/li/cil/oc2/common/capabilities/Capabilities.java index c0e4a330..ae0d7ba9 100644 --- a/src/main/java/li/cil/oc2/common/capabilities/Capabilities.java +++ b/src/main/java/li/cil/oc2/common/capabilities/Capabilities.java @@ -1,8 +1,8 @@ package li.cil.oc2.common.capabilities; import li.cil.oc2.api.bus.DeviceBusElement; -import li.cil.oc2.api.bus.device.capabilities.NetworkInterface; -import li.cil.oc2.api.bus.device.capabilities.RedstoneEmitter; +import li.cil.oc2.api.capabilities.NetworkInterface; +import li.cil.oc2.api.capabilities.RedstoneEmitter; import net.minecraftforge.common.capabilities.Capability; import net.minecraftforge.common.capabilities.CapabilityInject; import net.minecraftforge.common.capabilities.CapabilityManager; diff --git a/src/main/java/li/cil/oc2/common/tileentity/NetworkConnectorTileEntity.java b/src/main/java/li/cil/oc2/common/tileentity/NetworkConnectorTileEntity.java index 1d40700e..0c25bd9a 100644 --- a/src/main/java/li/cil/oc2/common/tileentity/NetworkConnectorTileEntity.java +++ b/src/main/java/li/cil/oc2/common/tileentity/NetworkConnectorTileEntity.java @@ -1,6 +1,6 @@ package li.cil.oc2.common.tileentity; -import li.cil.oc2.api.bus.device.capabilities.NetworkInterface; +import li.cil.oc2.api.capabilities.NetworkInterface; import li.cil.oc2.client.renderer.NetworkCableRenderer; import li.cil.oc2.common.Constants; import li.cil.oc2.common.block.NetworkConnectorBlock;