aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api/multitileentity/interfaces/IMultiBlockEnergy.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/gregtech/api/multitileentity/interfaces/IMultiBlockEnergy.java')
-rw-r--r--src/main/java/gregtech/api/multitileentity/interfaces/IMultiBlockEnergy.java23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/main/java/gregtech/api/multitileentity/interfaces/IMultiBlockEnergy.java b/src/main/java/gregtech/api/multitileentity/interfaces/IMultiBlockEnergy.java
new file mode 100644
index 0000000000..3e9892d3bd
--- /dev/null
+++ b/src/main/java/gregtech/api/multitileentity/interfaces/IMultiBlockEnergy.java
@@ -0,0 +1,23 @@
+package gregtech.api.multitileentity.interfaces;
+
+import gregtech.api.multitileentity.multiblock.base.MultiBlockPart;
+
+interface IMultiBlockEnergy {
+ boolean isUniversalEnergyStored (MultiBlockPart aPart, long aEnergyAmount);
+ long getUniversalEnergyStored (MultiBlockPart aPart);
+ long getUniversalEnergyCapacity (MultiBlockPart aPart);
+ long getOutputAmperage (MultiBlockPart aPart);
+ long getOutputVoltage (MultiBlockPart aPart);
+ long getInputAmperage (MultiBlockPart aPart);
+ long getInputVoltage (MultiBlockPart aPart);
+ boolean decreaseStoredEnergyUnits (MultiBlockPart aPart, long aEnergy, boolean aIgnoreTooLittleEnergy);
+ boolean increaseStoredEnergyUnits (MultiBlockPart aPart, long aEnergy, boolean aIgnoreTooMuchEnergy);
+ boolean drainEnergyUnits (MultiBlockPart aPart, byte aSide, long aVoltage, long aAmperage);
+ long injectEnergyUnits (MultiBlockPart aPart, byte aSide, long aVoltage, long aAmperage);
+ long getAverageElectricInput (MultiBlockPart aPart);
+ long getAverageElectricOutput (MultiBlockPart aPart);
+ long getStoredEU (MultiBlockPart aPart);
+ long getEUCapacity (MultiBlockPart aPart);
+ boolean inputEnergyFrom (MultiBlockPart aPart, byte aSide);
+ boolean outputsEnergyTo (MultiBlockPart aPart, byte aSide);
+}