From 160ae4e244c7f906c63f85e72ac67a0e282e0687 Mon Sep 17 00:00:00 2001 From: Anuken Date: Sun, 31 Mar 2019 10:37:52 -0400 Subject: [PATCH] Fixed startup crashing --- core/assets/bundles/bundle.properties | 5 ++++- .../src/io/anuke/mindustry/ui/ContentDisplay.java | 9 +++++++-- core/src/io/anuke/mindustry/ui/LiquidDisplay.java | 2 +- .../world/blocks/production/GenericCrafter.java | 5 +---- .../io/anuke/mindustry/world/meta/BlockStats.java | 15 ++++++++------- 5 files changed, 21 insertions(+), 15 deletions(-) diff --git a/core/assets/bundles/bundle.properties b/core/assets/bundles/bundle.properties index f3f65ed651..bc5816504a 100644 --- a/core/assets/bundles/bundle.properties +++ b/core/assets/bundles/bundle.properties @@ -342,6 +342,9 @@ no = No info.title = Info error.title = [crimson]An error has occured error.crashtitle = An error has occured +blocks.input = Input +blocks.output = Output +blocks.booster = Booster blocks.outputspeed = Drill Speed: {0}/ blocks.efficiency = Efficiency: {0}% blocks.unknown = [LIGHT_GRAY]??? @@ -367,7 +370,7 @@ blocks.outputitemcapacity = Output Item Capacity blocks.itemcapacity = Item Capacity blocks.basepowergeneration = Base Power Generation blocks.powertransferspeed = Power Transfer -blocks.productiontime = Production Time: +blocks.productiontime = Production Time blocks.repairtime = Block Full Repair Time blocks.range = Range blocks.inputliquid = Input Liquid diff --git a/core/src/io/anuke/mindustry/ui/ContentDisplay.java b/core/src/io/anuke/mindustry/ui/ContentDisplay.java index 62e571449e..2d9329647b 100644 --- a/core/src/io/anuke/mindustry/ui/ContentDisplay.java +++ b/core/src/io/anuke/mindustry/ui/ContentDisplay.java @@ -1,6 +1,7 @@ package io.anuke.mindustry.ui; import io.anuke.arc.Core; +import io.anuke.arc.collection.Array; import io.anuke.arc.collection.OrderedMap; import io.anuke.arc.graphics.Color; import io.anuke.arc.scene.ui.layout.Table; @@ -45,7 +46,7 @@ public class ContentDisplay{ BlockStats stats = block.stats; for(StatCategory cat : stats.toMap().keys()){ - OrderedMap map = stats.toMap().get(cat); + OrderedMap> map = stats.toMap().get(cat); if(map.size == 0) continue; @@ -56,7 +57,11 @@ public class ContentDisplay{ table.table(inset -> { inset.left(); inset.add("[LIGHT_GRAY]" + stat.localized() + ":[] "); - map.get(stat).display(inset); + Array arr = map.get(stat); + for(StatValue value : arr){ + value.display(inset); + } + //map.get(stat).display(inset); }).fillX().padLeft(10); table.row(); } diff --git a/core/src/io/anuke/mindustry/ui/LiquidDisplay.java b/core/src/io/anuke/mindustry/ui/LiquidDisplay.java index 63ebefb808..0416085b86 100644 --- a/core/src/io/anuke/mindustry/ui/LiquidDisplay.java +++ b/core/src/io/anuke/mindustry/ui/LiquidDisplay.java @@ -23,7 +23,7 @@ public class LiquidDisplay extends Table{ t.add(Strings.toFixed(amount, 2)); add(t); } - }}).size(8*3); + }}).size(8*4); add(liquid.localizedName()).padLeft(3); } } diff --git a/core/src/io/anuke/mindustry/world/blocks/production/GenericCrafter.java b/core/src/io/anuke/mindustry/world/blocks/production/GenericCrafter.java index 6951b1d107..9cb5c4cf57 100644 --- a/core/src/io/anuke/mindustry/world/blocks/production/GenericCrafter.java +++ b/core/src/io/anuke/mindustry/world/blocks/production/GenericCrafter.java @@ -45,7 +45,7 @@ public class GenericCrafter extends Block{ @Override public void setStats(){ super.setStats(); - stats.add(BlockStat.productionTime, craftTime / 60f, StatUnit.itemsSecond); + stats.add(BlockStat.productionTime, craftTime / 60f, StatUnit.seconds); if(outputItem != null){ stats.add(BlockStat.output, outputItem); @@ -65,7 +65,6 @@ public class GenericCrafter extends Block{ } } - @Override public TextureRegion[] generateIcons(){ return drawIcons == null ? super.generateIcons() : drawIcons.get(); @@ -131,8 +130,6 @@ public class GenericCrafter extends Block{ return itemCapacity; } - - public static class GenericCrafterEntity extends TileEntity{ public float progress; public float totalProgress; diff --git a/core/src/io/anuke/mindustry/world/meta/BlockStats.java b/core/src/io/anuke/mindustry/world/meta/BlockStats.java index 30806a302a..2a867288f0 100644 --- a/core/src/io/anuke/mindustry/world/meta/BlockStats.java +++ b/core/src/io/anuke/mindustry/world/meta/BlockStats.java @@ -1,5 +1,6 @@ package io.anuke.mindustry.world.meta; +import io.anuke.arc.collection.Array; import io.anuke.arc.collection.ObjectMap.Entry; import io.anuke.arc.collection.OrderedMap; import io.anuke.mindustry.type.Item; @@ -10,7 +11,7 @@ import io.anuke.mindustry.world.meta.values.*; /**Hold and organizes a list of block stats.*/ public class BlockStats{ - private final OrderedMap> map = new OrderedMap<>(); + private final OrderedMap>> map = new OrderedMap<>(); private boolean dirty; /**Adds a single float value with this stat, formatted to 2 decimal places.*/ @@ -50,15 +51,15 @@ public class BlockStats{ /**Adds a stat value.*/ public void add(BlockStat stat, StatValue value){ - if(map.containsKey(stat.category) && map.get(stat.category).containsKey(stat)){ - throw new RuntimeException("Duplicate stat entry: \"" + stat + "\" in block."); - } + //if(map.containsKey(stat.category) && map.get(stat.category).containsKey(stat)){ + // throw new RuntimeException("Duplicate stat entry: \"" + stat + "\" in block."); + //} if(!map.containsKey(stat.category)){ map.put(stat.category, new OrderedMap<>()); } - map.get(stat.category).put(stat, value); + map.get(stat.category).getOr(stat, Array::new).add(value); dirty = true; } @@ -74,11 +75,11 @@ public class BlockStats{ dirty = true; } - public OrderedMap> toMap(){ + public OrderedMap>> toMap(){ //sort stats by index if they've been modified if(dirty){ map.orderedKeys().sort(); - for(Entry> entry : map.entries()){ + for(Entry>> entry : map.entries()){ entry.value.orderedKeys().sort(); }