diff options
author | korneel vandamme <Krampus.sack.never@gmail.com> | 2021-07-03 15:16:38 +0200 |
---|---|---|
committer | korneel vandamme <Krampus.sack.never@gmail.com> | 2021-07-03 15:16:38 +0200 |
commit | 5b7dfe22ea8db7a861d5a16b974bf87bcff704fa (patch) | |
tree | 9cdb6462657f8f04d7b903251871b2061eee99a8 /src/main/java/gregtech/api/graphs/consumers | |
parent | a8e36458531f5a06856c34251c9dc93ae19998de (diff) | |
download | GT5-Unofficial-5b7dfe22ea8db7a861d5a16b974bf87bcff704fa.tar.gz GT5-Unofficial-5b7dfe22ea8db7a861d5a16b974bf87bcff704fa.tar.bz2 GT5-Unofficial-5b7dfe22ea8db7a861d5a16b974bf87bcff704fa.zip |
store rest of RF to later push it
Diffstat (limited to 'src/main/java/gregtech/api/graphs/consumers')
-rw-r--r-- | src/main/java/gregtech/api/graphs/consumers/NodeEnergyReceiver.java | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/main/java/gregtech/api/graphs/consumers/NodeEnergyReceiver.java b/src/main/java/gregtech/api/graphs/consumers/NodeEnergyReceiver.java index ec25578e8e..29c07f5b3e 100644 --- a/src/main/java/gregtech/api/graphs/consumers/NodeEnergyReceiver.java +++ b/src/main/java/gregtech/api/graphs/consumers/NodeEnergyReceiver.java @@ -17,6 +17,7 @@ import static gregtech.api.enums.GT_Values.V; //consumer for RF machines public class NodeEnergyReceiver extends ConsumerNode { + int mRestRF = 0; public NodeEnergyReceiver(int aNodeValue, IEnergyReceiver aTileEntity, byte aSide, ArrayList<ConsumerNode> aConsumers) { super(aNodeValue, (TileEntity) aTileEntity, aSide, aConsumers); } @@ -25,9 +26,15 @@ public class NodeEnergyReceiver extends ConsumerNode { public int injectEnergy(int aVoltage, int aMaxApms) { ForgeDirection tDirection = ForgeDirection.getOrientation(mSide); int rfOut = GT_Utility.safeInt(aVoltage * GregTech_API.mEUtoRF / 100); + int ampsUsed = 1; + if (mRestRF > rfOut) { + rfOut = mRestRF; + ampsUsed = 0; + } if (((IEnergyReceiver) mTileEntity).receiveEnergy(tDirection, rfOut, true) == rfOut) { - ((IEnergyReceiver) mTileEntity).receiveEnergy(tDirection, rfOut, false); - return 1; + int consumed = ((IEnergyReceiver) mTileEntity).receiveEnergy(tDirection, rfOut, false); + mRestRF = rfOut - consumed; + return ampsUsed; } if (GregTech_API.mRFExplosions && GregTech_API.sMachineExplosions && ((IEnergyReceiver) mTileEntity).getMaxEnergyStored(tDirection) < rfOut * 600L) { |