From 36a21e24431f7043c8b1c3fb7f17487a72afb676 Mon Sep 17 00:00:00 2001 From: Anuken Date: Thu, 10 Oct 2019 09:13:12 -0400 Subject: [PATCH] Variant fixes --- core/src/io/anuke/mindustry/game/UnlockableContent.java | 6 +++++- core/src/io/anuke/mindustry/mod/ContentParser.java | 2 +- core/src/io/anuke/mindustry/world/blocks/Floor.java | 8 ++++++++ core/src/io/anuke/mindustry/world/blocks/OreBlock.java | 2 +- 4 files changed, 15 insertions(+), 3 deletions(-) diff --git a/core/src/io/anuke/mindustry/game/UnlockableContent.java b/core/src/io/anuke/mindustry/game/UnlockableContent.java index 149fb3e0d4..9b1986b9c9 100644 --- a/core/src/io/anuke/mindustry/game/UnlockableContent.java +++ b/core/src/io/anuke/mindustry/game/UnlockableContent.java @@ -31,7 +31,11 @@ public abstract class UnlockableContent extends MappableContent{ /** Returns a specific content icon, or the region {contentType}-{name} if not found.*/ public TextureRegion icon(Cicon icon){ if(cicons[icon.ordinal()] == null){ - cicons[icon.ordinal()] = Core.atlas.find(getContentType().name() + "-" + name + "-" + icon.name(), Core.atlas.find(getContentType().name() + "-" + name + "-full", Core.atlas.find(getContentType().name() + "-" + name, Core.atlas.find(name)))); + cicons[icon.ordinal()] = Core.atlas.find(getContentType().name() + "-" + name + "-" + icon.name(), + Core.atlas.find(getContentType().name() + "-" + name + "-full", + Core.atlas.find(getContentType().name() + "-" + name, + Core.atlas.find(name, + Core.atlas.find(name + "1"))))); } return cicons[icon.ordinal()]; } diff --git a/core/src/io/anuke/mindustry/mod/ContentParser.java b/core/src/io/anuke/mindustry/mod/ContentParser.java index 405d816f15..d3d390f07a 100644 --- a/core/src/io/anuke/mindustry/mod/ContentParser.java +++ b/core/src/io/anuke/mindustry/mod/ContentParser.java @@ -113,7 +113,7 @@ public class ContentParser{ block = Vars.content.getByName(ContentType.block, name); if(value.has("type")){ - throw new IllegalArgumentException("When overwriting an existing block, you may not declared its type. The original type will be used. Block: " + name); + throw new IllegalArgumentException("When overwriting an existing block, you must not re-declared its type. The original type will be used. Block: " + name); } }else{ //TODO generate dynamically instead of doing.. this diff --git a/core/src/io/anuke/mindustry/world/blocks/Floor.java b/core/src/io/anuke/mindustry/world/blocks/Floor.java index e11a3a63e2..ca1846cc0a 100644 --- a/core/src/io/anuke/mindustry/world/blocks/Floor.java +++ b/core/src/io/anuke/mindustry/world/blocks/Floor.java @@ -94,6 +94,14 @@ public class Floor extends Block{ return; } + if(variants > 0){ + variantRegions(); + + for(int i = 0; i < variantRegions.length; i++){ + editor.pack("editor-" + ((AtlasRegion)variantRegions[i]).name, Core.atlas.getPixmap((AtlasRegion)variantRegions[i]).crop()); + } + } + Color color = new Color(); Color color2 = new Color(); PixmapRegion image = Core.atlas.getPixmap((AtlasRegion)generateIcons()[0]); diff --git a/core/src/io/anuke/mindustry/world/blocks/OreBlock.java b/core/src/io/anuke/mindustry/world/blocks/OreBlock.java index 45fc384d8c..cf4d45524c 100644 --- a/core/src/io/anuke/mindustry/world/blocks/OreBlock.java +++ b/core/src/io/anuke/mindustry/world/blocks/OreBlock.java @@ -35,7 +35,7 @@ public class OreBlock extends OverlayFloor{ @Override @OverrideCallSuper public void createIcons(PixmapPacker out, PixmapPacker editor){ - for(int i = 0; i < 3; i++){ + for(int i = 0; i < variants; i++){ Pixmap image = new Pixmap(32, 32); PixmapRegion shadow = Core.atlas.getPixmap(itemDrop.name + (i + 1));