diff options
Diffstat (limited to 'src/main/java/gregtech/api/interfaces/IConfigurationCircuitSupport.java')
-rw-r--r-- | src/main/java/gregtech/api/interfaces/IConfigurationCircuitSupport.java | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/src/main/java/gregtech/api/interfaces/IConfigurationCircuitSupport.java b/src/main/java/gregtech/api/interfaces/IConfigurationCircuitSupport.java new file mode 100644 index 0000000000..b2d32b2fc4 --- /dev/null +++ b/src/main/java/gregtech/api/interfaces/IConfigurationCircuitSupport.java @@ -0,0 +1,44 @@ +package gregtech.api.interfaces; + +import gregtech.api.GregTech_API; +import java.util.List; +import net.minecraft.item.ItemStack; + +/** + * Implement this interface if your tileentity (or 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(); +} |