aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api/interfaces
diff options
context:
space:
mode:
authorrepo-alt <wvk17@yandex.ru>2022-08-23 19:44:25 +0300
committerGitHub <noreply@github.com>2022-08-23 18:44:25 +0200
commit6bef2556c78cbbd6bde0f73a9849ab709590c8bd (patch)
tree40146cf238d68c281278e7bd0dd5929656479435 /src/main/java/gregtech/api/interfaces
parent43e283f28747967af991a7dfc36d70124c5be765 (diff)
downloadGT5-Unofficial-6bef2556c78cbbd6bde0f73a9849ab709590c8bd.tar.gz
GT5-Unofficial-6bef2556c78cbbd6bde0f73a9849ab709590c8bd.tar.bz2
GT5-Unofficial-6bef2556c78cbbd6bde0f73a9849ab709590c8bd.zip
Refactored built-in integrated circuit support (#1284)
* Refactored built-in integrated circuit support Added built-in integrated circuit to input buses * fix spacing
Diffstat (limited to 'src/main/java/gregtech/api/interfaces')
-rw-r--r--src/main/java/gregtech/api/interfaces/metatileentity/IConfigurationCircuitSupport.java45
1 files changed, 45 insertions, 0 deletions
diff --git a/src/main/java/gregtech/api/interfaces/metatileentity/IConfigurationCircuitSupport.java b/src/main/java/gregtech/api/interfaces/metatileentity/IConfigurationCircuitSupport.java
new file mode 100644
index 0000000000..7d6923e93f
--- /dev/null
+++ b/src/main/java/gregtech/api/interfaces/metatileentity/IConfigurationCircuitSupport.java
@@ -0,0 +1,45 @@
+package gregtech.api.interfaces.metatileentity;
+
+import java.util.List;
+
+import net.minecraft.item.ItemStack;
+
+import gregtech.api.GregTech_API;
+
+/**
+ * Implement this interface if your metatileentity supports configuration circuits
+ * to resolve recipe conflicts.
+ */
+public interface IConfigurationCircuitSupport {
+ /**
+ *
+ * @return Integrated circuit slot index in the machine inventory
+ */
+ int getCircuitSlot();
+
+ /**
+ * Return a list of possible configuration circuit this machine expects.
+ *
+ * This list is unmodifiable. Its elements are not supposed to be modified in any way!
+ */
+ default List<ItemStack> getConfigurationCircuits() {
+ return GregTech_API.getConfigurationCircuitList(100);
+ }
+
+ /**
+ *
+ * @return True if that machine supports built-in configuration circuit
+ */
+ boolean allowSelectCircuit();
+
+ /**
+ *
+ * @return Circuit slot index in GUI container
+ */
+ default int getCircuitGUISlot() {
+ return getCircuitSlot();
+ }
+
+ int getCircuitSlotX();
+ int getCircuitSlotY();
+}