From 52cfe40da8536df482a49a9e5151ccd0266b2e61 Mon Sep 17 00:00:00 2001 From: Bob Date: Tue, 8 Nov 2022 21:38:30 +0100 Subject: [PATCH] battery schmattery --- .../machine/storage/TileEntityMachineBattery.java | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineBattery.java b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineBattery.java index 9f69bfbea..8d4b3fc56 100644 --- a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineBattery.java +++ b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineBattery.java @@ -192,6 +192,7 @@ public class TileEntityMachineBattery extends TileEntityMachineBase implements I protected void transmitPowerFairly() { + if(power == 0) return; short mode = (short) this.getRelevantMode(); //HasSets to we don'T have any duplicates @@ -208,6 +209,7 @@ public class TileEntityMachineBattery extends TileEntityMachineBase implements I IEnergyConductor con = (IEnergyConductor) te; if(con.getPowerNet() != null) { nets.add(con.getPowerNet()); + con.getPowerNet().unsubscribe(this); consumers.addAll(con.getPowerNet().getSubscribers()); } @@ -216,17 +218,12 @@ public class TileEntityMachineBattery extends TileEntityMachineBase implements I consumers.add((IEnergyConnector) te); } } - - //unsubscribe from all nets - nets.forEach(x -> x.unsubscribe(this)); //send power to buffered consumers, independent of nets if(mode == mode_buffer || mode == mode_output) { - long oldPower = this.power; List con = new ArrayList(); con.addAll(consumers); - long transfer = this.power - PowerNet.fairTransfer(con, this.power); - this.power = oldPower - transfer; + this.power = PowerNet.fairTransfer(con, this.power); } //resubscribe to buffered nets, if necessary