From abf5ae765dd76bf160d1b9ab2f0286a8a1ceca25 Mon Sep 17 00:00:00 2001 From: KnightMiner Date: Wed, 27 Mar 2024 22:17:54 -0400 Subject: [PATCH] Deprecase parseColor in JsonHelper and migrate usages to IntLoadable Just more flexible and more clear with the two color types --- .../mantle/client/model/util/ColoredBlockModel.java | 3 ++- .../mantle/client/model/util/MantleItemLayerModel.java | 3 ++- .../java/slimeknights/mantle/fluid/texture/FluidTexture.java | 4 ++-- src/main/java/slimeknights/mantle/util/JsonHelper.java | 2 ++ 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/main/java/slimeknights/mantle/client/model/util/ColoredBlockModel.java b/src/main/java/slimeknights/mantle/client/model/util/ColoredBlockModel.java index 90a6de3d..a7db01fa 100644 --- a/src/main/java/slimeknights/mantle/client/model/util/ColoredBlockModel.java +++ b/src/main/java/slimeknights/mantle/client/model/util/ColoredBlockModel.java @@ -30,6 +30,7 @@ import net.minecraftforge.client.model.geometry.IGeometryBakingContext; import net.minecraftforge.client.model.geometry.IGeometryLoader; import slimeknights.mantle.Mantle; +import slimeknights.mantle.data.loadable.common.ColorLoadable; import slimeknights.mantle.util.JsonHelper; import slimeknights.mantle.util.LogicHelper; @@ -162,7 +163,7 @@ public boolean isUvLock(boolean defaultLock) { * Parses the color data from JSON */ public static ColorData fromJson(JsonObject json) { - int color = JsonHelper.parseColor(GsonHelper.getAsString(json, "color", "")); + int color = ColorLoadable.ALPHA.getOrDefault(json, "color", -1); int luminosity = GsonHelper.getAsInt(json, "luminosity", -1); Boolean uvlock = null; if (json.has("uvlock")) { diff --git a/src/main/java/slimeknights/mantle/client/model/util/MantleItemLayerModel.java b/src/main/java/slimeknights/mantle/client/model/util/MantleItemLayerModel.java index 984c4cc9..cd753de6 100644 --- a/src/main/java/slimeknights/mantle/client/model/util/MantleItemLayerModel.java +++ b/src/main/java/slimeknights/mantle/client/model/util/MantleItemLayerModel.java @@ -30,6 +30,7 @@ import net.minecraftforge.client.model.geometry.UnbakedGeometryHelper; import net.minecraftforge.client.model.pipeline.QuadBakingVertexConsumer; import net.minecraftforge.client.model.pipeline.TransformingVertexPipeline; +import slimeknights.mantle.data.loadable.common.ColorLoadable; import slimeknights.mantle.util.ItemLayerPixels; import slimeknights.mantle.util.JsonHelper; import slimeknights.mantle.util.LogicHelper; @@ -500,7 +501,7 @@ public RenderTypeGroup getRenderType(IGeometryBakingContext context, RenderTypeG * Parses the layer data from JSON */ public static LayerData fromJson(JsonObject json) { - int color = JsonHelper.parseColor(GsonHelper.getAsString(json, "color", "")); + int color = ColorLoadable.ALPHA.getOrDefault(json, "color", -1); // TODO: rename this field? int luminosity = GsonHelper.getAsInt(json, "luminosity"); boolean noTint = GsonHelper.getAsBoolean(json, "no_tint", false); diff --git a/src/main/java/slimeknights/mantle/fluid/texture/FluidTexture.java b/src/main/java/slimeknights/mantle/fluid/texture/FluidTexture.java index 34791aa3..c1ad9443 100644 --- a/src/main/java/slimeknights/mantle/fluid/texture/FluidTexture.java +++ b/src/main/java/slimeknights/mantle/fluid/texture/FluidTexture.java @@ -5,9 +5,9 @@ import lombok.Setter; import lombok.experimental.Accessors; import net.minecraft.resources.ResourceLocation; -import net.minecraft.util.GsonHelper; import net.minecraftforge.fluids.FluidType; import net.minecraftforge.registries.ForgeRegistries; +import slimeknights.mantle.data.loadable.common.ColorLoadable; import slimeknights.mantle.util.IdExtender.LocationExtender; import slimeknights.mantle.util.JsonHelper; @@ -43,7 +43,7 @@ public static FluidTexture deserialize(JsonObject json) { if (json.has("camera")) { camera = LocationExtender.INSTANCE.wrap(JsonHelper.getResourceLocation(json, "camera"), "textures/", ".png"); } - int color = JsonHelper.parseColor(GsonHelper.getAsString(json, "color")); + int color = ColorLoadable.ALPHA.getOrDefault(json, "color", -1); return new FluidTexture(still, flowing, overlay, camera, color); } diff --git a/src/main/java/slimeknights/mantle/util/JsonHelper.java b/src/main/java/slimeknights/mantle/util/JsonHelper.java index b9a85054..305e71e4 100644 --- a/src/main/java/slimeknights/mantle/util/JsonHelper.java +++ b/src/main/java/slimeknights/mantle/util/JsonHelper.java @@ -221,7 +221,9 @@ public static > T getAsEnum(JsonObject json, String key, Class * Parses a color as a string * @param color Color to parse * @return Parsed string + * @deprecated use {@link ColorLoadable#parseString(String, String)} */ + @Deprecated(forRemoval = true) public static int parseColor(@Nullable String color) { if (color == null || color.isEmpty()) { return -1;