From bfa31bf184cb86473ec2d88b9b518f811b5ac4aa Mon Sep 17 00:00:00 2001 From: EggleEgg <125359838+EggleEgg@users.noreply.github.com> Date: Thu, 17 Sep 2026 16:51:59 +0200 Subject: [PATCH] Bugfix: attributecrafter yield string format (#12675) * Bugfix: attributecrafter yield string format * imports --- core/assets/bundles/bundle.properties | 2 +- .../blocks/production/AttributeCrafter.java | 18 ++++++++++-------- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/core/assets/bundles/bundle.properties b/core/assets/bundles/bundle.properties index 30086d23d9..c7adeb08aa 100644 --- a/core/assets/bundles/bundle.properties +++ b/core/assets/bundles/bundle.properties @@ -1304,7 +1304,7 @@ bar.cargounitcap = Cargo Unit Cap Reached bar.drillspeed = Drill Speed: {0}/s bar.pumpspeed = Pump Speed: {0}/s bar.efficiency = Efficiency: {0}% -bar.yield = Yield: +{0}% +bar.yield = Yield: {0}% bar.boost = Boost: +{0}% bar.powerbuffer = Batteries: {0}/{1} bar.powerbalance = Power: {0}/s diff --git a/core/src/mindustry/world/blocks/production/AttributeCrafter.java b/core/src/mindustry/world/blocks/production/AttributeCrafter.java index 1054174ad8..448e00bada 100644 --- a/core/src/mindustry/world/blocks/production/AttributeCrafter.java +++ b/core/src/mindustry/world/blocks/production/AttributeCrafter.java @@ -11,11 +11,15 @@ import mindustry.world.meta.*; /** A crafter that gains efficiency from attribute tiles. */ public class AttributeCrafter extends GenericCrafter{ public Attribute attribute = Attribute.heat; + /** Base efficiency of the crafter. */ public float baseEfficiency = 1f; + /** Maximum efficiency/output boost from attributes. */ public float maxBoost = 1f; + /** Minimum efficiency required to place this block. */ public float minEfficiency = -1f; - public boolean displayEfficiency = true; - public boolean displayScaledOutput = true; + /** Whether to show this bar in the UI. */ + public boolean displayEfficiency = true, displayScaledOutput = true; + /** Whether liquid consumption scales with efficiency. */ public boolean scaleLiquidConsumption = false; /** Scaled output (yield) multiplier, scales with attribute. <=0 to disable. */ public float outputScale = 0f; @@ -34,12 +38,10 @@ public class AttributeCrafter extends GenericCrafter{ drawPlaceText( (displayEfficiency && boostScale > 0f ? - Core.bundle.format("bar.efficiency", - (int)((baseEfficiency + Math.min(maxBoost, boostScale * sumAttribute(attribute, x, y))) * 100f)) + Core.bundle.format("bar.efficiency", (int)((baseEfficiency + Math.min(maxBoost, boostScale * sumAttribute(attribute, x, y))) * 100f)) : "") + - (displayScaledOutput && outputScale > 0f ? "\n" + - Core.bundle.format("bar.yield", - (int)(Math.min(maxBoost, outputScale * sumAttribute(attribute, x, y)) * 100f)) + (displayScaledOutput && outputScale > 0f ? + "\n" + Core.bundle.format("bar.yield", (int)((1f + Math.min(maxBoost, outputScale * sumAttribute(attribute, x, y))) * 100f)) : ""), x, y, valid); } @@ -59,7 +61,7 @@ public class AttributeCrafter extends GenericCrafter{ if(displayScaledOutput && outputScale > 0f){ addBar("yield", (AttributeCrafterBuild entity) -> new Bar( - () -> Core.bundle.format("bar.yield", (int)((entity.outputMultiplier() - baseEfficiency) * 100)), + () -> Core.bundle.format("bar.yield", (int)(entity.outputMultiplier() * 100)), () -> Pal.lightOrange, entity::outputMultiplier)); }