From ccac67ced6abc35317e28942f772d9f500a5ba5f Mon Sep 17 00:00:00 2001 From: Anuken Date: Tue, 5 Nov 2019 19:20:23 -0500 Subject: [PATCH] Fixed unit tests, power problems --- core/src/io/anuke/mindustry/world/BlockStorage.java | 4 ++++ .../mindustry/world/blocks/power/ItemLiquidGenerator.java | 2 +- core/src/io/anuke/mindustry/world/blocks/production/Pump.java | 4 ++-- core/src/io/anuke/mindustry/world/modules/ConsumeModule.java | 2 +- 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/core/src/io/anuke/mindustry/world/BlockStorage.java b/core/src/io/anuke/mindustry/world/BlockStorage.java index 9591dcd087..71224eb844 100644 --- a/core/src/io/anuke/mindustry/world/BlockStorage.java +++ b/core/src/io/anuke/mindustry/world/BlockStorage.java @@ -41,6 +41,10 @@ public abstract class BlockStorage extends UnlockableContent{ return true; } + public boolean productionValid(Tile tile){ + return true; + } + public float getPowerProduction(Tile tile){ return 0f; } diff --git a/core/src/io/anuke/mindustry/world/blocks/power/ItemLiquidGenerator.java b/core/src/io/anuke/mindustry/world/blocks/power/ItemLiquidGenerator.java index 5af8ba1e9c..d185a9f9cd 100644 --- a/core/src/io/anuke/mindustry/world/blocks/power/ItemLiquidGenerator.java +++ b/core/src/io/anuke/mindustry/world/blocks/power/ItemLiquidGenerator.java @@ -87,7 +87,7 @@ public class ItemLiquidGenerator extends PowerGenerator{ } @Override - public boolean shouldConsume(Tile tile){ + public boolean productionValid(Tile tile){ ItemLiquidGeneratorEntity entity = tile.entity(); return entity.generateTime > 0; } diff --git a/core/src/io/anuke/mindustry/world/blocks/production/Pump.java b/core/src/io/anuke/mindustry/world/blocks/production/Pump.java index d6a51542cb..a2e989d81c 100644 --- a/core/src/io/anuke/mindustry/world/blocks/production/Pump.java +++ b/core/src/io/anuke/mindustry/world/blocks/production/Pump.java @@ -56,8 +56,8 @@ public class Pump extends LiquidBlock{ @Override public void drawPlace(int x, int y, int rotation, boolean valid) { - super.drawPlace(x, y, rotation, valid); Tile tile = world.tile(x, y); + if(tile == null) return; float tiles = 0f; Liquid liquidDrop = null; @@ -69,7 +69,7 @@ public class Pump extends LiquidBlock{ } } - if (liquidDrop != null){ + if(liquidDrop != null){ float width = drawPlaceText(Core.bundle.formatFloat("bar.pumpspeed", tiles * pumpAmount / size / size * 60f, 0), x, y, valid); float dx = x * tilesize + offset() - width/2f - 4f, dy = y * tilesize + offset() + size * tilesize / 2f + 5; Draw.mixcol(Color.darkGray, 1f); diff --git a/core/src/io/anuke/mindustry/world/modules/ConsumeModule.java b/core/src/io/anuke/mindustry/world/modules/ConsumeModule.java index 6658496e5b..29252af34d 100644 --- a/core/src/io/anuke/mindustry/world/modules/ConsumeModule.java +++ b/core/src/io/anuke/mindustry/world/modules/ConsumeModule.java @@ -23,7 +23,7 @@ public class ConsumeModule extends BlockModule{ boolean prevValid = valid(); valid = true; optionalValid = true; - boolean docons = entity.block.shouldConsume(entity.tile); + boolean docons = entity.block.shouldConsume(entity.tile) && entity.block.productionValid(entity.tile); for(Consume cons : entity.block.consumes.all()){ if(cons.isOptional()) continue;