diff --git a/gradle.properties b/gradle.properties index cd5b848..d9e9e46 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,10 +3,10 @@ org.gradle.daemon=false # Fabric Properties # check these on https://fabricmc.net/develop - minecraft_version=1.20.5 - yarn_mappings=1.20.5+build.1 - loader_version=0.15.7 - fabric_version=0.97.5+1.20.5 + minecraft_version=1.21-pre2 + yarn_mappings=1.21-pre2+build.2 + loader_version=0.15.11 + fabric_version=0.99.4+1.21 # Mod Properties group=com.minelittlepony @@ -15,9 +15,9 @@ org.gradle.daemon=false description=Json-based entity models. Mson. # Publishing - minecraft_version_range=>=1.20.5 + minecraft_version_range=>=1.21-pre2 modrinth_loader_type=fabric modrinth_project_id= # Dependencies - modmenu_version=10.0.0-beta.1 + modmenu_version=11.0.0-beta.1 diff --git a/src/main/java/com/minelittlepony/mson/api/EntityRendererRegistry.java b/src/main/java/com/minelittlepony/mson/api/EntityRendererRegistry.java index a8e203b..38dfe66 100644 --- a/src/main/java/com/minelittlepony/mson/api/EntityRendererRegistry.java +++ b/src/main/java/com/minelittlepony/mson/api/EntityRendererRegistry.java @@ -20,15 +20,6 @@ * Renderers added here will be inserted after Mson models are refreshed. */ public interface EntityRendererRegistry { - /** - * Adds a custom player renderer. - * - * @deprecated Use the more flexible predicate version instead. - */ - @Deprecated - default void registerPlayerRenderer(String skinType, Function constructor) { - registerPlayerRenderer(new Identifier(skinType), player -> player.getSkinTextures().model().getName().equalsIgnoreCase(skinType), constructor); - } /** * Adds a custom player renderer. * diff --git a/src/main/java/com/minelittlepony/mson/api/model/QuadsBuilder.java b/src/main/java/com/minelittlepony/mson/api/model/QuadsBuilder.java index 371dc02..d33d46d 100644 --- a/src/main/java/com/minelittlepony/mson/api/model/QuadsBuilder.java +++ b/src/main/java/com/minelittlepony/mson/api/model/QuadsBuilder.java @@ -7,6 +7,7 @@ import org.joml.Quaternionf; import com.minelittlepony.mson.api.model.Face.Axis; +import com.minelittlepony.mson.impl.MsonImpl; import java.util.Set; import java.util.function.Function; @@ -15,9 +16,9 @@ * A builder for creating box quads. */ public interface QuadsBuilder { - static Identifier CONE = new Identifier("mson", "cone"); - static Identifier PLANE = new Identifier("mson", "plane"); - static Identifier CUBE = new Identifier("mson", "cube"); + static Identifier CONE = MsonImpl.id("cone"); + static Identifier PLANE = MsonImpl.id("plane"); + static Identifier CUBE = MsonImpl.id("cube"); static int[][] FACE_VERTEX_OFFSETS = new int[][] { {}, //Face.NONE diff --git a/src/main/java/com/minelittlepony/mson/api/parser/ModelFormat.java b/src/main/java/com/minelittlepony/mson/api/parser/ModelFormat.java index 64ca142..f40c456 100644 --- a/src/main/java/com/minelittlepony/mson/api/parser/ModelFormat.java +++ b/src/main/java/com/minelittlepony/mson/api/parser/ModelFormat.java @@ -4,6 +4,7 @@ import net.minecraft.util.Identifier; import com.minelittlepony.mson.api.export.ModelSerializer; +import com.minelittlepony.mson.impl.MsonImpl; import java.util.Optional; @@ -15,7 +16,7 @@ * @param The type of data that this format consumes (typically json). */ public interface ModelFormat { - Identifier MSON_V2 = new Identifier("mson", "json"); + Identifier MSON_V2 = MsonImpl.id("json"); /** * Mson *.json files @@ -25,7 +26,7 @@ public interface ModelFormat { /** * BlockBench *.bbmodel files */ - Identifier BBMODEL = new Identifier("blockbench", "bbmodel"); + Identifier BBMODEL = Identifier.of("blockbench", "bbmodel"); /** * The file extension that this format is capable of parsing. diff --git a/src/main/java/com/minelittlepony/mson/impl/ModelFoundry.java b/src/main/java/com/minelittlepony/mson/impl/ModelFoundry.java index f59b810..782b67e 100644 --- a/src/main/java/com/minelittlepony/mson/impl/ModelFoundry.java +++ b/src/main/java/com/minelittlepony/mson/impl/ModelFoundry.java @@ -111,7 +111,7 @@ public CompletableFuture> loadModel(Identifier modelId, @Nullable return loadedFiles.get(modelId); } } - Identifier file = new Identifier(modelId.getNamespace(), "models/entity/" + modelId.getPath()); + Identifier file = Identifier.of(modelId.getNamespace(), "models/entity/" + modelId.getPath()); Map resources = getResourceManager().findResources("models/entity", id -> { return id.getNamespace().equals(file.getNamespace()) diff --git a/src/main/java/com/minelittlepony/mson/impl/MsonImpl.java b/src/main/java/com/minelittlepony/mson/impl/MsonImpl.java index 4fe65ec..4bbf7cd 100644 --- a/src/main/java/com/minelittlepony/mson/impl/MsonImpl.java +++ b/src/main/java/com/minelittlepony/mson/impl/MsonImpl.java @@ -45,7 +45,11 @@ public class MsonImpl implements Mson, IdentifiableResourceReloadListener { public static final Logger LOGGER = LogManager.getLogger("Mson"); public static final MsonImpl INSTANCE = new MsonImpl(); - private static final Identifier ID = new Identifier("mson", "models"); + private static final Identifier ID = id("models"); + + public static Identifier id(String name) { + return Identifier.of("mson", name); + } private final PendingEntityRendererRegistry renderers = new PendingEntityRendererRegistry(); @@ -71,7 +75,7 @@ public void registerVanillaModels(Map model synchronized (vanillaModels) { vanillaModels.clear(); modelParts.forEach((layer, vanilla) -> { - Identifier id = new Identifier(layer.getId().getNamespace(), String.format("mson/%s", layer.getId().getPath())); + Identifier id = Identifier.of(layer.getId().getNamespace(), String.format("mson/%s", layer.getId().getPath())); ((MsonImpl.KeyHolder)vanilla).setKey(registeredModels.computeIfAbsent(id, VanillaKey::new)); vanillaModels.add(id); }); diff --git a/src/main/java/com/minelittlepony/mson/impl/PendingEntityRendererRegistry.java b/src/main/java/com/minelittlepony/mson/impl/PendingEntityRendererRegistry.java index 840c5c9..9c70103 100644 --- a/src/main/java/com/minelittlepony/mson/impl/PendingEntityRendererRegistry.java +++ b/src/main/java/com/minelittlepony/mson/impl/PendingEntityRendererRegistry.java @@ -27,17 +27,17 @@ public final class PendingEntityRendererRegistry implements EntityRendererRegist public final PendingRegistrations< Identifier, Map.Entry, Function> - > player = new PendingRegistrations<>(new Identifier("mson", "renderers/player"), (registry, key, entry) -> { + > player = new PendingRegistrations<>(MsonImpl.id("renderers/player"), (registry, key, entry) -> { registry.registerPlayerRenderer(key, entry.getKey(), entry.getValue()); }); public final PendingRegistrations< EntityType, Function> - > entity = new PendingRegistrations<>(new Identifier("mson", "renderers/entity"), EntityRendererRegistry::registerEntityRenderer); + > entity = new PendingRegistrations<>(MsonImpl.id("renderers/entity"), EntityRendererRegistry::registerEntityRenderer); public final PendingRegistrations< BlockEntityType, Function> - > block = new PendingRegistrations<>(new Identifier("mson", "renderers/block"), EntityRendererRegistry::registerBlockRenderer); + > block = new PendingRegistrations<>(MsonImpl.id("renderers/block"), EntityRendererRegistry::registerBlockRenderer); @Override public void registerPlayerRenderer(Identifier skinType, Predicate playerPredicate, Function constructor) { diff --git a/src/main/java/com/minelittlepony/mson/impl/Test.java b/src/main/java/com/minelittlepony/mson/impl/Test.java index f83952b..9d9ef94 100644 --- a/src/main/java/com/minelittlepony/mson/impl/Test.java +++ b/src/main/java/com/minelittlepony/mson/impl/Test.java @@ -8,6 +8,7 @@ import net.minecraft.client.render.entity.model.PlayerEntityModel; import net.minecraft.util.Identifier; +import com.google.common.base.Predicates; import com.google.gson.JsonParseException; import com.minelittlepony.mson.api.ModelKey; import com.minelittlepony.mson.api.ModelView; @@ -27,13 +28,11 @@ final class Test { static void init() { - var ID = new Identifier("mson_test", "planar_cube"); + var ID = Identifier.of("mson_test", "planar_cube"); var RAYMAN = playerRendererFactor(Mson.getInstance().registerModel(ID, MsonPlayer::new)); //var PLANE = playerRendererFactor(Mson.getInstance().registerModel(new Identifier("mson_test", "plane"), MsonPlayer::new)); - Mson.getInstance().getEntityRendererRegistry().registerPlayerRenderer(ID, player -> { - return true; - }, RAYMAN); + Mson.getInstance().getEntityRendererRegistry().registerPlayerRenderer(ID, Predicates.alwaysTrue(), RAYMAN); } static void exportVanillaModels(ModelLoader modelLoader) { diff --git a/src/main/java/com/minelittlepony/mson/impl/fast/FastModelPart.java b/src/main/java/com/minelittlepony/mson/impl/fast/FastModelPart.java index 3bfe3c2..1c0a424 100644 --- a/src/main/java/com/minelittlepony/mson/impl/fast/FastModelPart.java +++ b/src/main/java/com/minelittlepony/mson/impl/fast/FastModelPart.java @@ -40,7 +40,7 @@ public FastModelPart(List cuboids, Map children, floa } @Override - public void render(MatrixStack matrices, VertexConsumer vertices, int light, int overlay, float red, float green, float blue, float alpha) { + public void render(MatrixStack matrices, VertexConsumer vertices, int light, int overlay, int color) { computeContents(); if (!visible || empty) { @@ -51,10 +51,10 @@ public void render(MatrixStack matrices, VertexConsumer vertices, int light, int rotate(matrices); if (!hidden) { MatrixStack.Entry entry = matrices.peek(); - fastRenderCuboids(entry, vertices, light, overlay, red, green, blue, alpha); + fastRenderCuboids(entry, vertices, light, overlay, color); } for (ModelPart modelPart : parts) { - modelPart.render(matrices, vertices, light, overlay, red, green, blue, alpha); + modelPart.render(matrices, vertices, light, overlay, color); } matrices.pop(); } @@ -89,7 +89,7 @@ private void computeContents() { compiled = true; } - private void fastRenderCuboids(MatrixStack.Entry entry, VertexConsumer vertexConsumer, int light, int overlay, float red, float green, float blue, float alpha) { + private void fastRenderCuboids(MatrixStack.Entry entry, VertexConsumer vertexConsumer, int light, int overlay, int color) { Matrix4f positionMatrix = entry.getPositionMatrix(); Matrix3f normalMatrix = entry.getNormalMatrix(); Vector4f position = new Vector4f(); @@ -103,7 +103,7 @@ private void fastRenderCuboids(MatrixStack.Entry entry, VertexConsumer vertexCon for (Fragment frag : fragments) { var pos = frag.pos(); var norm = frag.norm(); - vertexConsumer.vertex(pos.x, pos.y, pos.z, red, green, blue, alpha, frag.u(), frag.v(), overlay, light, norm.x, norm.y, norm.z); + vertexConsumer.vertex(pos.x, pos.y, pos.z, color, frag.u(), frag.v(), overlay, light, norm.x, norm.y, norm.z); } } diff --git a/src/main/java/com/minelittlepony/mson/impl/model/EmptyModelContext.java b/src/main/java/com/minelittlepony/mson/impl/model/EmptyModelContext.java index 39879c7..b2d89fe 100644 --- a/src/main/java/com/minelittlepony/mson/impl/model/EmptyModelContext.java +++ b/src/main/java/com/minelittlepony/mson/impl/model/EmptyModelContext.java @@ -11,6 +11,7 @@ import com.minelittlepony.mson.api.exception.EmptyContextException; import com.minelittlepony.mson.api.model.Texture; import com.minelittlepony.mson.impl.ModelContextImpl; +import com.minelittlepony.mson.impl.MsonImpl; import java.util.HashSet; import java.util.Map; @@ -20,7 +21,7 @@ final class EmptyModelContext implements ModelContextImpl, ModelContext.Locals { static ModelContextImpl INSTANCE = new EmptyModelContext(); - static Identifier ID = new Identifier("mson", "null"); + static Identifier ID = MsonImpl.id("null"); private EmptyModelContext() {} diff --git a/src/main/java/com/minelittlepony/mson/impl/model/bbmodel/BBModelFormat.java b/src/main/java/com/minelittlepony/mson/impl/model/bbmodel/BBModelFormat.java index a1074c9..6692340 100644 --- a/src/main/java/com/minelittlepony/mson/impl/model/bbmodel/BBModelFormat.java +++ b/src/main/java/com/minelittlepony/mson/impl/model/bbmodel/BBModelFormat.java @@ -55,7 +55,7 @@ public Optional>> createSerializer() { @Override public Optional> loadModel(Identifier modelId, ModelLoader loader) { - Identifier file = new Identifier(modelId.getNamespace(), "models/" + modelId.getPath() + "." + getFileExtension()); + Identifier file = modelId.withPath(p -> p + "." + getFileExtension()); return loader.getResourceManager().getResource(file).flatMap(resource -> { return loadModel(modelId, file, resource, true, loader); }); @@ -96,11 +96,11 @@ public Optional> loadComponent(String name, JsonElement da } JsonObject json = data.getAsJsonObject(); - Identifier id = new Identifier(json.get("type").getAsString()); + Identifier id = Identifier.of(json.get("type").getAsString()); final String fname = Strings.nullToEmpty(name).trim(); if (id.getNamespace().equalsIgnoreCase("minecraft")) { - id = new Identifier("blockbench", id.getPath()); + id = Identifier.of("blockbench", id.getPath()); } return Optional.ofNullable(componentTypes.get(id)).map(c -> (ModelComponent)c.load(context, fname, json)); diff --git a/src/main/java/com/minelittlepony/mson/impl/model/bbmodel/elements/BbCube.java b/src/main/java/com/minelittlepony/mson/impl/model/bbmodel/elements/BbCube.java index 2e4df5f..5634f6c 100644 --- a/src/main/java/com/minelittlepony/mson/impl/model/bbmodel/elements/BbCube.java +++ b/src/main/java/com/minelittlepony/mson/impl/model/bbmodel/elements/BbCube.java @@ -55,7 +55,7 @@ * } */ public class BbCube implements ModelComponent, QuadsBuilder { - public static final Identifier ID = new Identifier("blockbench", "cube"); + public static final Identifier ID = Identifier.of("blockbench", "cube"); private final boolean boxUv; diff --git a/src/main/java/com/minelittlepony/mson/impl/model/bbmodel/elements/BbPart.java b/src/main/java/com/minelittlepony/mson/impl/model/bbmodel/elements/BbPart.java index 0251bae..e74f9fe 100644 --- a/src/main/java/com/minelittlepony/mson/impl/model/bbmodel/elements/BbPart.java +++ b/src/main/java/com/minelittlepony/mson/impl/model/bbmodel/elements/BbPart.java @@ -61,7 +61,7 @@ * } */ public class BbPart implements ModelComponent { - public static final Identifier ID = new Identifier("blockbench", "part"); + public static final Identifier ID = Identifier.of("blockbench", "part"); private final float[] origin = new float[3]; private final float[] rotation = new float[3]; diff --git a/src/main/java/com/minelittlepony/mson/impl/model/json/JsonFileContent.java b/src/main/java/com/minelittlepony/mson/impl/model/json/JsonFileContent.java index 2c47522..1e0df83 100644 --- a/src/main/java/com/minelittlepony/mson/impl/model/json/JsonFileContent.java +++ b/src/main/java/com/minelittlepony/mson/impl/model/json/JsonFileContent.java @@ -51,7 +51,7 @@ public JsonFileContent(ModelLoader loader, ModelFormat format, Iden this.format = format; parent = JsonUtil.accept(json, "parent") .map(JsonElement::getAsString) - .map(Identifier::new) + .map(Identifier::of) .map(parentId -> loader.loadModel(parentId, format)) .orElseGet(() -> CompletableFuture.completedFuture(EmptyFileContent.INSTANCE)); @@ -120,11 +120,11 @@ public Optional> getSkeleton() { public CompletableFuture> resolve(JsonElement json) { if (json.isJsonPrimitive()) { - return loader.loadModel(new Identifier(json.getAsString()), format); + return loader.loadModel(Identifier.of(json.getAsString()), format); } Identifier id = getLocals().getModelId(); - Identifier autoGen = new Identifier(id.getNamespace(), id.getPath() + "_dynamic"); + Identifier autoGen = id.withSuffixedPath("_dynamic"); if (json.getAsJsonObject().has("data")) { throw new JsonParseException("Dynamic model files should not have a nested data block"); diff --git a/src/main/java/com/minelittlepony/mson/impl/model/json/MsonModelFormat.java b/src/main/java/com/minelittlepony/mson/impl/model/json/MsonModelFormat.java index 36c71b9..1b932d7 100644 --- a/src/main/java/com/minelittlepony/mson/impl/model/json/MsonModelFormat.java +++ b/src/main/java/com/minelittlepony/mson/impl/model/json/MsonModelFormat.java @@ -52,7 +52,7 @@ public String getFileExtension() { @Override public Optional> loadModel(Identifier modelId, ModelLoader loader) { - Identifier file = new Identifier(modelId.getNamespace(), "models/" + modelId.getPath() + "." + getFileExtension()); + Identifier file = modelId.withPath(p -> "models/" + p + "." + getFileExtension()); return loader.getResourceManager().getResource(file).flatMap(resource -> { return loadModel(modelId, file, resource, true, loader); }); @@ -101,7 +101,7 @@ public Optional> loadComponent(String name, JsonElement js return Optional.ofNullable(componentTypes.get(JsonUtil.accept(o, "type") .map(JsonElement::getAsString) - .map(Identifier::new) + .map(Identifier::of) .orElse(defaultAs)) ) .map(c -> (ModelComponent)c.load(context, fname, json)); diff --git a/src/main/java/com/minelittlepony/mson/impl/model/json/elements/AbstractJsonParent.java b/src/main/java/com/minelittlepony/mson/impl/model/json/elements/AbstractJsonParent.java index 9d7596d..139246e 100644 --- a/src/main/java/com/minelittlepony/mson/impl/model/json/elements/AbstractJsonParent.java +++ b/src/main/java/com/minelittlepony/mson/impl/model/json/elements/AbstractJsonParent.java @@ -14,6 +14,7 @@ import com.minelittlepony.mson.api.model.Texture; import com.minelittlepony.mson.api.parser.ModelComponent; import com.minelittlepony.mson.api.parser.locals.Local; +import com.minelittlepony.mson.impl.MsonImpl; import com.minelittlepony.mson.api.parser.FileContent; import com.minelittlepony.mson.util.JsonUtil; @@ -26,7 +27,7 @@ * @author Sollace */ public abstract class AbstractJsonParent implements ModelComponent { - public static final Identifier ID = new Identifier("mson", "compound"); + public static final Identifier ID = MsonImpl.id("compound"); private static final float RADS_DEGS_FACTOR = (float)Math.PI / 180F; /** diff --git a/src/main/java/com/minelittlepony/mson/impl/model/json/elements/JsonBox.java b/src/main/java/com/minelittlepony/mson/impl/model/json/elements/JsonBox.java index 763967f..67629a2 100644 --- a/src/main/java/com/minelittlepony/mson/impl/model/json/elements/JsonBox.java +++ b/src/main/java/com/minelittlepony/mson/impl/model/json/elements/JsonBox.java @@ -13,6 +13,7 @@ import com.minelittlepony.mson.api.model.Face.Axis; import com.minelittlepony.mson.api.parser.ModelComponent; import com.minelittlepony.mson.api.parser.locals.Local; +import com.minelittlepony.mson.impl.MsonImpl; import com.minelittlepony.mson.api.parser.FileContent; import com.minelittlepony.mson.util.JsonUtil; @@ -24,7 +25,7 @@ * @author Sollace */ public class JsonBox implements ModelComponent { - public static final Identifier ID = new Identifier("mson", "box"); + public static final Identifier ID = MsonImpl.id("box"); /** * The 3D coordinate of where the box should begin. diff --git a/src/main/java/com/minelittlepony/mson/impl/model/json/elements/JsonCompound.java b/src/main/java/com/minelittlepony/mson/impl/model/json/elements/JsonCompound.java index 6675ed2..cf52aff 100644 --- a/src/main/java/com/minelittlepony/mson/impl/model/json/elements/JsonCompound.java +++ b/src/main/java/com/minelittlepony/mson/impl/model/json/elements/JsonCompound.java @@ -10,6 +10,7 @@ import com.minelittlepony.mson.api.export.ModelFileWriter; import com.minelittlepony.mson.api.model.PartBuilder; import com.minelittlepony.mson.api.parser.ModelComponent; +import com.minelittlepony.mson.impl.MsonImpl; import com.minelittlepony.mson.api.parser.FileContent; import com.minelittlepony.mson.util.JsonUtil; @@ -27,7 +28,7 @@ * @author Sollace */ public class JsonCompound extends AbstractJsonParent { - public static final Identifier ID = new Identifier("mson", "compound"); + public static final Identifier ID = MsonImpl.id("compound"); /** * The child components of this part. diff --git a/src/main/java/com/minelittlepony/mson/impl/model/json/elements/JsonCone.java b/src/main/java/com/minelittlepony/mson/impl/model/json/elements/JsonCone.java index cab5155..81e31a8 100644 --- a/src/main/java/com/minelittlepony/mson/impl/model/json/elements/JsonCone.java +++ b/src/main/java/com/minelittlepony/mson/impl/model/json/elements/JsonCone.java @@ -12,6 +12,7 @@ import com.minelittlepony.mson.api.model.Face.Axis; import com.minelittlepony.mson.api.parser.FileContent; import com.minelittlepony.mson.api.parser.locals.Local; +import com.minelittlepony.mson.impl.MsonImpl; import com.minelittlepony.mson.api.model.QuadsBuilder; /** @@ -20,7 +21,7 @@ * @author Sollace */ public class JsonCone extends JsonBox { - public static final Identifier ID = new Identifier("mson", "cone"); + public static final Identifier ID = MsonImpl.id("cone"); /** * The amount by which the box must taper. diff --git a/src/main/java/com/minelittlepony/mson/impl/model/json/elements/JsonImport.java b/src/main/java/com/minelittlepony/mson/impl/model/json/elements/JsonImport.java index 6bc0dd4..0008c00 100644 --- a/src/main/java/com/minelittlepony/mson/impl/model/json/elements/JsonImport.java +++ b/src/main/java/com/minelittlepony/mson/impl/model/json/elements/JsonImport.java @@ -11,6 +11,7 @@ import com.minelittlepony.mson.api.export.ModelFileWriter; import com.minelittlepony.mson.api.parser.ModelComponent; import com.minelittlepony.mson.api.parser.locals.LocalBlock; +import com.minelittlepony.mson.impl.MsonImpl; import com.minelittlepony.mson.api.parser.FileContent; import com.minelittlepony.mson.util.JsonUtil; @@ -26,7 +27,7 @@ * @author Sollace */ public class JsonImport implements ModelComponent { - public static final Identifier ID = new Identifier("mson", "import"); + public static final Identifier ID = MsonImpl.id("import"); private final CompletableFuture> file; diff --git a/src/main/java/com/minelittlepony/mson/impl/model/json/elements/JsonPlanar.java b/src/main/java/com/minelittlepony/mson/impl/model/json/elements/JsonPlanar.java index d173e5f..1d8f8cd 100644 --- a/src/main/java/com/minelittlepony/mson/impl/model/json/elements/JsonPlanar.java +++ b/src/main/java/com/minelittlepony/mson/impl/model/json/elements/JsonPlanar.java @@ -15,6 +15,7 @@ import com.minelittlepony.mson.api.model.Face.Axis; import com.minelittlepony.mson.api.parser.FileContent; import com.minelittlepony.mson.api.parser.locals.Local; +import com.minelittlepony.mson.impl.MsonImpl; import com.minelittlepony.mson.impl.model.FixtureImpl; import com.minelittlepony.mson.api.model.Face; import com.minelittlepony.mson.api.model.PartBuilder; @@ -37,7 +38,7 @@ * @credit killjoy for the suggestion */ public class JsonPlanar extends JsonCompound { - public static final Identifier ID = new Identifier("mson", "planar"); + public static final Identifier ID = MsonImpl.id("planar"); private final Map faces = new EnumMap<>(Face.class); diff --git a/src/main/java/com/minelittlepony/mson/impl/model/json/elements/JsonPlane.java b/src/main/java/com/minelittlepony/mson/impl/model/json/elements/JsonPlane.java index d1df436..a62c2e8 100644 --- a/src/main/java/com/minelittlepony/mson/impl/model/json/elements/JsonPlane.java +++ b/src/main/java/com/minelittlepony/mson/impl/model/json/elements/JsonPlane.java @@ -14,6 +14,7 @@ import com.minelittlepony.mson.api.model.Texture; import com.minelittlepony.mson.api.parser.ModelComponent; import com.minelittlepony.mson.api.parser.locals.Local; +import com.minelittlepony.mson.impl.MsonImpl; import com.minelittlepony.mson.api.parser.FileContent; import com.minelittlepony.mson.util.JsonUtil; @@ -24,7 +25,7 @@ */ public class JsonPlane implements ModelComponent { - public static final Identifier ID = new Identifier("mson", "plane"); + public static final Identifier ID = MsonImpl.id("plane"); /** * The 3D position where this plane will appear. diff --git a/src/main/java/com/minelittlepony/mson/impl/model/json/elements/JsonQuads.java b/src/main/java/com/minelittlepony/mson/impl/model/json/elements/JsonQuads.java index 1ceb0bf..b575268 100644 --- a/src/main/java/com/minelittlepony/mson/impl/model/json/elements/JsonQuads.java +++ b/src/main/java/com/minelittlepony/mson/impl/model/json/elements/JsonQuads.java @@ -17,6 +17,7 @@ import com.minelittlepony.mson.api.model.Texture; import com.minelittlepony.mson.api.model.Vert; import com.minelittlepony.mson.api.parser.ModelComponent; +import com.minelittlepony.mson.impl.MsonImpl; import com.minelittlepony.mson.api.parser.FileContent; import com.minelittlepony.mson.util.JsonUtil; @@ -30,7 +31,7 @@ */ public class JsonQuads implements ModelComponent, QuadsBuilder { - public static final Identifier ID = new Identifier("mson", "quads"); + public static final Identifier ID = MsonImpl.id("quads"); private final List quads; diff --git a/src/main/java/com/minelittlepony/mson/impl/model/json/elements/JsonSlot.java b/src/main/java/com/minelittlepony/mson/impl/model/json/elements/JsonSlot.java index ba701d3..c4fc70e 100644 --- a/src/main/java/com/minelittlepony/mson/impl/model/json/elements/JsonSlot.java +++ b/src/main/java/com/minelittlepony/mson/impl/model/json/elements/JsonSlot.java @@ -14,6 +14,7 @@ import com.minelittlepony.mson.api.model.Texture; import com.minelittlepony.mson.api.parser.ModelComponent; import com.minelittlepony.mson.api.parser.locals.LocalBlock; +import com.minelittlepony.mson.impl.MsonImpl; import com.minelittlepony.mson.api.parser.FileContent; import com.minelittlepony.mson.util.JsonUtil; @@ -31,7 +32,7 @@ * @author Sollace */ public class JsonSlot implements ModelComponent { - public static final Identifier ID = new Identifier("mson", "slot"); + public static final Identifier ID = MsonImpl.id("slot"); /** * The object type produced by this slot. @@ -70,7 +71,7 @@ public JsonSlot(FileContent context, String name, JsonObject json) data = context.resolve(json.get("data")); this.name = name.isEmpty() ? JsonUtil.require(json, "name", ID, context.getLocals().getModelId()).getAsString() : name; texture = JsonUtil.accept(json, "texture").map(JsonTexture::of); - id = new Identifier("dynamic", context.getLocals().getModelId().getPath() + "/" + this.name); + id = Identifier.of("dynamic", context.getLocals().getModelId().getPath() + "/" + this.name); locals = LocalBlock.of(JsonUtil.accept(json, "locals")); context.addNamedComponent(this.name, this);