diff options
| author | Martin Robertz <dream-master@gmx.net> | 2021-07-02 20:52:49 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-07-02 20:52:49 +0200 |
| commit | 2a5b42343509d9684affa6be27da32e9eef89851 (patch) | |
| tree | c1542a71bf37ed7611aa4cecb6d633556798d01d /src/main/java/gregtech/api/graphs/consumers/NodeEnergySink.java | |
| parent | 77c57a97b7286863f9239de806ac9659013d6852 (diff) | |
| parent | 6f80c03736d6d9ea9c72d19f0af72fc727714370 (diff) | |
| download | GT5-Unofficial-2a5b42343509d9684affa6be27da32e9eef89851.tar.gz GT5-Unofficial-2a5b42343509d9684affa6be27da32e9eef89851.tar.bz2 GT5-Unofficial-2a5b42343509d9684affa6be27da32e9eef89851.zip | |
Merge pull request #572 from GTNewHorizons/beter-power-net
Better power net
Diffstat (limited to 'src/main/java/gregtech/api/graphs/consumers/NodeEnergySink.java')
| -rw-r--r-- | src/main/java/gregtech/api/graphs/consumers/NodeEnergySink.java | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/main/java/gregtech/api/graphs/consumers/NodeEnergySink.java b/src/main/java/gregtech/api/graphs/consumers/NodeEnergySink.java new file mode 100644 index 0000000000..3f93c62010 --- /dev/null +++ b/src/main/java/gregtech/api/graphs/consumers/NodeEnergySink.java @@ -0,0 +1,28 @@ +package gregtech.api.graphs.consumers; + +import ic2.api.energy.tile.IEnergySink; +import net.minecraft.tileentity.TileEntity; +import net.minecraftforge.common.util.ForgeDirection; + +import java.util.ArrayList; + +//consumer for IC2 machines +public class NodeEnergySink extends ConsumerNode { + public NodeEnergySink(int nodeValue, IEnergySink tileEntity, byte side, ArrayList<ConsumerNode> consumers) { + super(nodeValue, (TileEntity) tileEntity, side, consumers); + } + + @Override + public boolean needsEnergy() { + return super.needsEnergy() && ((IEnergySink) mTileEntity).getDemandedEnergy() > 0; + } + + @Override + public int injectEnergy(int aVoltage, int aMaxAmps) { + int tUsedAmps = 0; + while (aMaxAmps > tUsedAmps && ((IEnergySink) mTileEntity).getDemandedEnergy() > 0 && + ((IEnergySink) mTileEntity).injectEnergy(ForgeDirection.getOrientation(mSide), aVoltage, aVoltage) < aVoltage) + tUsedAmps++; + return tUsedAmps; + } +} |
