From 7aaf5e477be9a71ebb1169724f34fda151735498 Mon Sep 17 00:00:00 2001 From: Anuken Date: Tue, 20 Sep 2022 15:27:11 -0400 Subject: [PATCH] Fixed treads on modded units --- core/src/mindustry/content/Planets.java | 9 +++------ core/src/mindustry/mod/ContentParser.java | 5 +++++ core/src/mindustry/type/UnitType.java | 3 ++- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/core/src/mindustry/content/Planets.java b/core/src/mindustry/content/Planets.java index deed729ab5..027e30280c 100644 --- a/core/src/mindustry/content/Planets.java +++ b/core/src/mindustry/content/Planets.java @@ -107,6 +107,7 @@ public class Planets{ accessible = false; visible = false; atmosphereColor = Color.valueOf("3db899"); + iconColor = Color.valueOf("597be3"); startSector = 10; atmosphereRadIn = -0.01f; atmosphereRadOut = 0.3f; @@ -116,7 +117,6 @@ public class Planets{ }; }}; - //TODO hide beryllium and others on load in rules serpulo = new Planet("serpulo", sun, 1f, 3){{ generator = new SerpuloPlanetGenerator(); meshLoader = () -> new HexMesh(this, 6); @@ -157,10 +157,6 @@ public class Planets{ gen.carbonChance = 0.1f; gen.ferricChance = 0f; }); - - //define launch candidates after all planets initialize - //TODO how will it use the nucleus??? - serpulo.launchCandidates.add(erekir); } private static Planet makeAsteroid(String name, Planet parent, Block base, Block tint, float tintThresh, int pieces, float scale, Cons cgen){ @@ -174,11 +170,12 @@ public class Planets{ accessible = false; clipRadius = 2f; defaultEnv = Env.space; - + icon = "commandRally"; generator = new AsteroidGenerator(); cgen.get((AsteroidGenerator)generator); meshLoader = () -> { + iconColor = tint.mapColor; Color tinted = tint.mapColor.cpy().a(1f - tint.mapColor.a); Seq meshes = new Seq<>(); Color color = base.mapColor; diff --git a/core/src/mindustry/mod/ContentParser.java b/core/src/mindustry/mod/ContentParser.java index 25189e1943..72c3495a97 100644 --- a/core/src/mindustry/mod/ContentParser.java +++ b/core/src/mindustry/mod/ContentParser.java @@ -380,6 +380,11 @@ public class ContentParser{ } } + //try to parse Rect as array + if(type == Rect.class && jsonData.isArray() && jsonData.size == 4){ + return (T)new Rect(jsonData.get(0).asFloat(), jsonData.get(1).asFloat(), jsonData.get(2).asFloat(), jsonData.get(3).asFloat()); + } + if(Content.class.isAssignableFrom(type)){ ContentType ctype = contentTypes.getThrow(type, () -> new IllegalArgumentException("No content type for class: " + type.getSimpleName())); String prefix = currentMod != null ? currentMod.name + "-" : ""; diff --git a/core/src/mindustry/type/UnitType.java b/core/src/mindustry/type/UnitType.java index 401e426d47..38c1b35252 100644 --- a/core/src/mindustry/type/UnitType.java +++ b/core/src/mindustry/type/UnitType.java @@ -907,6 +907,8 @@ public class UnitType extends UnlockableContent{ public void createIcons(MultiPacker packer){ super.createIcons(packer); + sample = constructor.get(); + var toOutline = new Seq(); getRegionsToOutline(toOutline); @@ -947,7 +949,6 @@ public class UnitType extends UnlockableContent{ } } - //TODO test if(sample instanceof Tankc){ PixmapRegion pix = Core.atlas.getPixmap(treadRegion);