From 6bef2556c78cbbd6bde0f73a9849ab709590c8bd Mon Sep 17 00:00:00 2001 From: repo-alt Date: Tue, 23 Aug 2022 19:44:25 +0300 Subject: Refactored built-in integrated circuit support (#1284) * Refactored built-in integrated circuit support Added built-in integrated circuit to input buses * fix spacing --- .../IConfigurationCircuitSupport.java | 45 ++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 src/main/java/gregtech/api/interfaces/metatileentity/IConfigurationCircuitSupport.java (limited to 'src/main/java/gregtech/api/interfaces') 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 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(); +} -- cgit