Skip to content

Commit 5bedfb0

Browse files
authored
do not report negative amperes to the GT network (#42)
* do not report negative amperes to the GT network * version bump
1 parent a695e27 commit 5bedfb0

File tree

2 files changed

+9
-3
lines changed

2 files changed

+9
-3
lines changed

gradle.properties

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
aeversion=rv3
22
aechannel=beta
3-
aebuild=43-GTNH
3+
aebuild=44-GTNH
44
#KEEP V6 FOR MOD SUPPORT
55
aegroup=appeng
66
aebasename=appliedenergistics2

src/main/java/appeng/tile/powersink/GTPowerSink.java

+8-2
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,18 @@ public abstract class GTPowerSink extends AERootPoweredTile implements IEnergyCo
2020
@Override
2121
public long injectEnergyUnits(byte side, long voltage, long amperage) {
2222
double e = PowerUnits.EU.convertTo(PowerUnits.AE, voltage * amperage);
23-
double overflow = PowerUnits.AE.convertTo(PowerUnits.EU, this.funnelPowerIntoStorage(e, Actionable.SIMULATE));
24-
long used = amperage - (int)Math.ceil(overflow / voltage);
23+
double overflow = this.funnelPowerIntoStorage(e, Actionable.SIMULATE);
24+
// Energy grid may keep some "extra energy" that it is happy to get rid of
25+
// so overflow may actually be greater than input
26+
if (overflow >= e)
27+
return 0;
28+
long used = amperage - (int)Math.ceil(PowerUnits.AE.convertTo(PowerUnits.EU, overflow) / voltage);
2529
if (used > 0) {
2630
e = PowerUnits.EU.convertTo(PowerUnits.AE, voltage * used);
2731
PowerUnits.AE.convertTo(PowerUnits.EU, this.funnelPowerIntoStorage(e, Actionable.MODULATE));
2832
}
33+
else if (used < 0)
34+
used = 0;
2935
return used;
3036
}
3137

0 commit comments

Comments
 (0)