From 8daaea353622f5537b941222c0f09e9331129a68 Mon Sep 17 00:00:00 2001 From: Anuken Date: Tue, 19 Nov 2019 19:52:15 -0500 Subject: [PATCH] Minor power tweaks --- .../world/blocks/power/PowerDiode.java | 4 +-- .../world/blocks/power/PowerGraph.java | 33 ++++++++++--------- .../world/blocks/power/PowerNode.java | 2 +- 3 files changed, 20 insertions(+), 19 deletions(-) diff --git a/core/src/io/anuke/mindustry/world/blocks/power/PowerDiode.java b/core/src/io/anuke/mindustry/world/blocks/power/PowerDiode.java index 8193ff4e7e..08d621a09c 100644 --- a/core/src/io/anuke/mindustry/world/blocks/power/PowerDiode.java +++ b/core/src/io/anuke/mindustry/world/blocks/power/PowerDiode.java @@ -58,8 +58,8 @@ public class PowerDiode extends Block{ public void setBars(){ super.setBars(); - bars.add("back", entity -> new Bar("bar.input", Pal.lighterOrange, () -> bar(entity.tile.back())) ); - bars.add("front", entity -> new Bar("bar.output", Pal.lighterOrange, () -> bar(entity.tile.front())) ); + bars.add("back", entity -> new Bar("bar.input", Pal.powerBar, () -> bar(entity.tile.back()))); + bars.add("front", entity -> new Bar("bar.output", Pal.powerBar, () -> bar(entity.tile.front()))); } @Override diff --git a/core/src/io/anuke/mindustry/world/blocks/power/PowerGraph.java b/core/src/io/anuke/mindustry/world/blocks/power/PowerGraph.java index 07ebe96040..b5d29266ac 100644 --- a/core/src/io/anuke/mindustry/world/blocks/power/PowerGraph.java +++ b/core/src/io/anuke/mindustry/world/blocks/power/PowerGraph.java @@ -1,11 +1,10 @@ package io.anuke.mindustry.world.blocks.power; -import io.anuke.arc.Core; +import io.anuke.arc.*; import io.anuke.arc.collection.*; -import io.anuke.arc.math.Mathf; -import io.anuke.arc.math.WindowedMean; -import io.anuke.arc.util.Time; -import io.anuke.mindustry.world.Tile; +import io.anuke.arc.math.*; +import io.anuke.arc.util.*; +import io.anuke.mindustry.world.*; import io.anuke.mindustry.world.consumers.*; public class PowerGraph{ @@ -181,6 +180,7 @@ public class PowerGraph{ tile.entity.power.status = 1f; } + lastPowerNeeded = lastPowerProduced = 1f; return; } @@ -192,21 +192,22 @@ public class PowerGraph{ lastPowerNeeded = powerNeeded; lastPowerProduced = powerProduced; - powerBalance.addValue((powerProduced - powerNeeded) / Time.delta()); + if(!(consumers.size == 0 && producers.size == 0 && batteries.size == 0)){ - if(consumers.size == 0 && producers.size == 0 && batteries.size == 0){ - return; - } - - if(!Mathf.equal(powerNeeded, powerProduced)){ - if(powerNeeded > powerProduced){ - powerProduced += useBatteries(powerNeeded - powerProduced); - }else if(powerProduced > powerNeeded){ - powerProduced -= chargeBatteries(powerProduced - powerNeeded); + if(!Mathf.equal(powerNeeded, powerProduced)){ + if(powerNeeded > powerProduced){ + float powerBatteryUsed = useBatteries(powerNeeded - powerProduced); + powerProduced += powerBatteryUsed; + lastPowerProduced += powerBatteryUsed; + }else if(powerProduced > powerNeeded){ + powerProduced -= chargeBatteries(powerProduced - powerNeeded); + } } + + distributePower(powerNeeded, powerProduced); } - distributePower(powerNeeded, powerProduced); + powerBalance.addValue((lastPowerProduced - lastPowerNeeded) / Time.delta()); } public void add(PowerGraph graph){ diff --git a/core/src/io/anuke/mindustry/world/blocks/power/PowerNode.java b/core/src/io/anuke/mindustry/world/blocks/power/PowerNode.java index 6a5d1e9c11..8c3002c417 100644 --- a/core/src/io/anuke/mindustry/world/blocks/power/PowerNode.java +++ b/core/src/io/anuke/mindustry/world/blocks/power/PowerNode.java @@ -91,7 +91,7 @@ public class PowerNode extends PowerBlock{ Core.bundle.format("bar.powerbalance", ((entity.power.graph.getPowerBalance() >= 0 ? "+" : "") + Strings.fixed(entity.power.graph.getPowerBalance() * 60, 1))), () -> Pal.powerBar, - () -> Mathf.clamp(entity.power.graph.getPowerProduced() / entity.power.graph.getPowerNeeded()))); + () -> Mathf.clamp(entity.power.graph.getLastPowerProduced() / entity.power.graph.getLastPowerNeeded()))); bars.add("batteries", entity -> new Bar(() -> Core.bundle.format("bar.powerstored",