diff --git a/core/assets/bundles/bundle.properties b/core/assets/bundles/bundle.properties index a7d860ee9b..32ab67551e 100644 --- a/core/assets/bundles/bundle.properties +++ b/core/assets/bundles/bundle.properties @@ -487,6 +487,7 @@ bar.drilltierreq = Better Drill Required bar.drillspeed = Drill Speed: {0}/s bar.efficiency = Efficiency: {0}% bar.powerbalance = Power: {0}/s +bar.powerstored = Stored: {0}/{1} bar.poweramount = Power: {0} bar.poweroutput = Power Output: {0} bar.items = Items: {0} 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 2703c9abc0..e4cbf26c65 100644 --- a/core/src/io/anuke/mindustry/world/blocks/power/PowerGraph.java +++ b/core/src/io/anuke/mindustry/world/blocks/power/PowerGraph.java @@ -100,6 +100,16 @@ public class PowerGraph{ return totalCapacity; } + public float getTotalBatteryCapacity(){ + float totalCapacity = 0f; + for(Tile battery : batteries){ + if(battery.block().consumes.hasPower()){ + totalCapacity += battery.block().consumes.getPower().capacity; + } + } + return totalCapacity; + } + public float useBatteries(float needed){ float stored = getBatteryStored(); if(Mathf.isEqual(stored, 0f)) return 0f; 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 9984a068e0..00c8ecd276 100644 --- a/core/src/io/anuke/mindustry/world/blocks/power/PowerNode.java +++ b/core/src/io/anuke/mindustry/world/blocks/power/PowerNode.java @@ -95,6 +95,12 @@ public class PowerNode extends PowerBlock{ ((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()))); + + bars.add("batteries", entity -> new Bar(() -> + Core.bundle.format("bar.powerstored", + (ui.formatAmount((int)entity.power.graph.getBatteryStored())), ui.formatAmount((int)entity.power.graph.getTotalBatteryCapacity())), + () -> Pal.powerBar, + () -> Mathf.clamp(entity.power.graph.getBatteryStored() / entity.power.graph.getTotalBatteryCapacity()))); } @Override