From b79a6f6b32497b6bdf53fc42858bddd0e7348347 Mon Sep 17 00:00:00 2001 From: Patrick 'Quezler' Mounier Date: Wed, 30 Dec 2020 21:30:49 +0100 Subject: [PATCH] Fix block status of repair point and battery (#4187) * Fix block status of repair point and battery * Update Battery.java * Update RepairPoint.java --- core/src/mindustry/entities/comp/BuildingComp.java | 6 +++++- core/src/mindustry/world/blocks/power/Battery.java | 7 +++++++ core/src/mindustry/world/blocks/units/RepairPoint.java | 5 +++++ 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/core/src/mindustry/entities/comp/BuildingComp.java b/core/src/mindustry/entities/comp/BuildingComp.java index bb51bf5d67..1ac7394258 100644 --- a/core/src/mindustry/entities/comp/BuildingComp.java +++ b/core/src/mindustry/entities/comp/BuildingComp.java @@ -358,6 +358,10 @@ abstract class BuildingComp implements Posc, Teamc, Healthc, Buildingc, Timerc, return power != null && (block.consumes.has(ConsumeType.power) && !block.consumes.getPower().buffered) ? power.status : 1f; } + public BlockStatus status(){ + return cons.status(); + } + /** Call when nothing is happening to the entity. This increments the internal sleep timer. */ public void sleep(){ sleepTime += Time.delta; @@ -812,7 +816,7 @@ abstract class BuildingComp implements Posc, Teamc, Healthc, Buildingc, Timerc, Draw.z(Layer.power + 1); Draw.color(Pal.gray); Fill.square(brcx, brcy, 2.5f, 45); - Draw.color(cons.status().color); + Draw.color(status().color); Fill.square(brcx, brcy, 1.5f, 45); Draw.color(); } diff --git a/core/src/mindustry/world/blocks/power/Battery.java b/core/src/mindustry/world/blocks/power/Battery.java index e78cb31b3a..9ed13ebc48 100644 --- a/core/src/mindustry/world/blocks/power/Battery.java +++ b/core/src/mindustry/world/blocks/power/Battery.java @@ -42,5 +42,12 @@ public class Battery extends PowerDistributor{ } } } + + @Override + public BlockStatus status(){ + if(Mathf.equal(power.status, 0f, 0.01f)) return BlockStatus.noInput; + if(Mathf.equal(power.status, 1f, 0.01f)) return BlockStatus.active; + return BlockStatus.noOutput; + } } } diff --git a/core/src/mindustry/world/blocks/units/RepairPoint.java b/core/src/mindustry/world/blocks/units/RepairPoint.java index 789f7a8901..64595c0902 100644 --- a/core/src/mindustry/world/blocks/units/RepairPoint.java +++ b/core/src/mindustry/world/blocks/units/RepairPoint.java @@ -118,5 +118,10 @@ public class RepairPoint extends Block{ public boolean shouldConsume(){ return target != null && enabled; } + + @Override + public BlockStatus status(){ + return Mathf.equal(efficiency(), 0f, 0.01f) ? BlockStatus.noInput : cons.status(); + } } }