aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api/graphs/consumers
diff options
context:
space:
mode:
authorkorneel vandamme <Krampus.sack.never@gmail.com>2021-07-03 15:16:38 +0200
committerkorneel vandamme <Krampus.sack.never@gmail.com>2021-07-03 15:16:38 +0200
commit5b7dfe22ea8db7a861d5a16b974bf87bcff704fa (patch)
tree9cdb6462657f8f04d7b903251871b2061eee99a8 /src/main/java/gregtech/api/graphs/consumers
parenta8e36458531f5a06856c34251c9dc93ae19998de (diff)
downloadGT5-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.java11
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) {