File tree Expand file tree Collapse file tree
src/main/java/de/srendi/advancedperipherals/common/util Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -8,6 +8,7 @@ public class EnergyStorageProxy implements IEnergyStorage {
88 private final EnergyDetectorEntity energyDetectorTE ;
99 private int maxTransferRate ;
1010 private int transferredInThisTick = 0 ;
11+ private boolean receiving = false ;
1112
1213 public EnergyStorageProxy (EnergyDetectorEntity energyDetectorTE , int maxTransferRate ) {
1314 this .energyDetectorTE = energyDetectorTE ;
@@ -21,14 +22,23 @@ public boolean canReceive() {
2122
2223 @ Override
2324 public int receiveEnergy (int maxReceive , boolean simulate ) {
24- IEnergyStorage out = energyDetectorTE .getOutputStorage ();
25- if (out == null )
25+ if (this .receiving ) {
2626 return 0 ;
27- int transferred = out .receiveEnergy (Math .min (maxReceive , maxTransferRate - transferredInThisTick ), simulate );
28- if (!simulate ) {
29- transferredInThisTick += transferred ;
3027 }
31- return transferred ;
28+ this .receiving = true ;
29+ try {
30+ IEnergyStorage out = energyDetectorTE .getOutputStorage ();
31+ if (out == null ) {
32+ return 0 ;
33+ }
34+ int transferred = out .receiveEnergy (Math .min (maxReceive , maxTransferRate - transferredInThisTick ), simulate );
35+ if (!simulate ) {
36+ transferredInThisTick += transferred ;
37+ }
38+ return transferred ;
39+ } finally {
40+ this .receiving = false ;
41+ }
3242 }
3343
3444 @ Override
You can’t perform that action at this time.
0 commit comments