aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/main/java/gregtech/api/graphs/GenerateNodeMapPower.java13
-rw-r--r--src/main/java/gregtech/api/graphs/consumers/NodeEnergyConnected.java22
2 files changed, 33 insertions, 2 deletions
diff --git a/src/main/java/gregtech/api/graphs/GenerateNodeMapPower.java b/src/main/java/gregtech/api/graphs/GenerateNodeMapPower.java
index c4b9b59a1b..ec5c984bc0 100644
--- a/src/main/java/gregtech/api/graphs/GenerateNodeMapPower.java
+++ b/src/main/java/gregtech/api/graphs/GenerateNodeMapPower.java
@@ -5,6 +5,7 @@ import gregtech.api.GregTech_API;
import gregtech.api.graphs.consumers.*;
import gregtech.api.graphs.paths.NodePath;
import gregtech.api.graphs.paths.PowerNodePath;
+import gregtech.api.interfaces.tileentity.IEnergyConnected;
import gregtech.api.metatileentity.BaseMetaPipeEntity;
import gregtech.api.metatileentity.BaseMetaTileEntity;
import gregtech.api.metatileentity.MetaPipeEntity;
@@ -50,8 +51,16 @@ public class GenerateNodeMapPower extends GenerateNodeMap {
protected boolean addConsumer(TileEntity aTileEntity, byte aSide, int aNodeValue, ArrayList<ConsumerNode> aConsumers) {
if (aTileEntity instanceof BaseMetaTileEntity) {
BaseMetaTileEntity tBaseTileEntity = (BaseMetaTileEntity) aTileEntity;
- if (tBaseTileEntity.inputEnergyFrom(aSide,false)) {
- ConsumerNode tConsumerNode = new NodeGTBaseMetaTile(aNodeValue,tBaseTileEntity, aSide, aConsumers);
+ if (tBaseTileEntity.inputEnergyFrom(aSide, false)) {
+ ConsumerNode tConsumerNode = new NodeGTBaseMetaTile(aNodeValue, tBaseTileEntity, aSide, aConsumers);
+ aConsumers.add(tConsumerNode);
+ return true;
+ }
+
+ } else if (aTileEntity instanceof IEnergyConnected) {
+ IEnergyConnected tTileEntity = (IEnergyConnected) aTileEntity;
+ if (tTileEntity.inputEnergyFrom(aSide,false)) {
+ ConsumerNode tConsumerNode = new NodeEnergyConnected(aNodeValue,tTileEntity,aSide,aConsumers);
aConsumers.add(tConsumerNode);
return true;
}
diff --git a/src/main/java/gregtech/api/graphs/consumers/NodeEnergyConnected.java b/src/main/java/gregtech/api/graphs/consumers/NodeEnergyConnected.java
new file mode 100644
index 0000000000..baff232d94
--- /dev/null
+++ b/src/main/java/gregtech/api/graphs/consumers/NodeEnergyConnected.java
@@ -0,0 +1,22 @@
+package gregtech.api.graphs.consumers;
+
+import gregtech.api.interfaces.tileentity.IEnergyConnected;
+import net.minecraft.tileentity.TileEntity;
+
+import java.util.ArrayList;
+
+public class NodeEnergyConnected extends ConsumerNode {
+ public NodeEnergyConnected(int aNodeValue, IEnergyConnected aTileEntity, byte aSide, ArrayList<ConsumerNode> aConsumers) {
+ super(aNodeValue,(TileEntity) aTileEntity, aSide, aConsumers);
+ }
+
+ @Override
+ public boolean needsEnergy() {
+ return super.needsEnergy();
+ }
+
+ @Override
+ public int injectEnergy(int aVoltage, int aMaxAmps) {
+ return (int) ((IEnergyConnected)mTileEntity).injectEnergyUnits(mSide,aVoltage,aMaxAmps);
+ }
+}