From 663194fbe14e4868e85c48bac3047cb08f0cfeb2 Mon Sep 17 00:00:00 2001 From: un-simp Date: Fri, 7 Mar 2025 20:48:51 +0000 Subject: [PATCH 1/9] implement loading chroma geometry information --- .../com/beatcraft/beatmap/Difficulty.java | 1 + .../com/beatcraft/beatmap/DifficultyV3.java | 22 ++++++++++ .../beatmap/data/ChromaGeometry.java | 44 +++++++++++++++++++ .../beatmap/data/ChromaMaterial.java | 17 +++++++ 4 files changed, 84 insertions(+) create mode 100644 src/client/java/com/beatcraft/beatmap/data/ChromaGeometry.java create mode 100644 src/client/java/com/beatcraft/beatmap/data/ChromaMaterial.java diff --git a/src/client/java/com/beatcraft/beatmap/Difficulty.java b/src/client/java/com/beatcraft/beatmap/Difficulty.java index 17d1c552..f3d20abb 100644 --- a/src/client/java/com/beatcraft/beatmap/Difficulty.java +++ b/src/client/java/com/beatcraft/beatmap/Difficulty.java @@ -42,6 +42,7 @@ public abstract class Difficulty { public final ArrayList assignTrackParents = new ArrayList<>(); public final AssignTrackParentHandler parentHandler = new AssignTrackParentHandler(assignTrackParents, trackLibrary); public final HashMap pointDefinitions = new HashMap<>(); + public final ArrayList chromaGeometries = new ArrayList<>(); public Environment lightShowEnvironment; diff --git a/src/client/java/com/beatcraft/beatmap/DifficultyV3.java b/src/client/java/com/beatcraft/beatmap/DifficultyV3.java index 9090121e..46a6ab7f 100644 --- a/src/client/java/com/beatcraft/beatmap/DifficultyV3.java +++ b/src/client/java/com/beatcraft/beatmap/DifficultyV3.java @@ -1,5 +1,7 @@ package com.beatcraft.beatmap; +import com.beatcraft.BeatCraft; +import com.beatcraft.beatmap.data.ChromaGeometry; import com.beatcraft.beatmap.data.event.AnimateTrack; import com.beatcraft.beatmap.data.event.AssignPathAnimation; import com.beatcraft.beatmap.data.event.AssignTrackParent; @@ -32,6 +34,7 @@ DifficultyV3 load(JsonObject json) { loadRotationEvents(json); loadPointDefinitions(json); loadCustomEvents(json); + loadEnvironmentEnhancements(json); doPostLoad(); return this; } @@ -173,4 +176,23 @@ private void loadCustomEvent(JsonObject json) { case "AssignTrackParent" -> assignTrackParents.add(new AssignTrackParent().loadV3(json, this)); } } + private void loadEnvironmentEnhancements(JsonObject json) { + if (json.has("customData")) { + JsonObject customData = json.getAsJsonObject("customData"); + if (customData.has("environment")) { + JsonArray environments = customData.getAsJsonArray("environment"); + environments.forEach(o -> loadEnvironmentEnhancement(o.getAsJsonObject())); + } + } + } + + private void loadEnvironmentEnhancement(JsonObject json) { + if (json.has("geometry")) { + ChromaGeometry rawGeo = new ChromaGeometry().loadV3(json,this); + chromaGeometries.add(new PhysicalChromaGeo(rawGeo)); + } else if (json.has("id")) { + BeatCraft.LOGGER.warn("ENVIROMENT ENHANCEMENTS NOT SUPPORTED"); + } + + } } diff --git a/src/client/java/com/beatcraft/beatmap/data/ChromaGeometry.java b/src/client/java/com/beatcraft/beatmap/data/ChromaGeometry.java new file mode 100644 index 00000000..939b35dc --- /dev/null +++ b/src/client/java/com/beatcraft/beatmap/data/ChromaGeometry.java @@ -0,0 +1,44 @@ +package com.beatcraft.beatmap.data; + +import com.beatcraft.animation.track.Track; +import com.beatcraft.beatmap.Difficulty; +import com.beatcraft.beatmap.data.object.BeatmapObject; +import com.google.gson.JsonArray; +import com.google.gson.JsonObject; + + +public class ChromaGeometry extends BeatmapObject{ + enum GeometryType { + Sphere, + Capsule, + Cylinder, + Cube, + Plane, + Quad, + Triangle + + } + protected GeometryType type; + protected ChromaMaterial material; + protected JsonArray position; + protected JsonArray rotation; + protected JsonArray scale; + protected Track track; + + @Override + public ChromaGeometry loadV3(JsonObject json, Difficulty difficulty) { + super.loadV3(json, difficulty); + + // geometry specific shi + JsonObject geo = json.getAsJsonObject("geometry"); + type = GeometryType.valueOf(geo.get("type").getAsString()); + material = new ChromaMaterial().load(geo.get("material").getAsJsonObject()); + + // chroma shit + position = json.getAsJsonArray("position"); + rotation = json.getAsJsonArray("rotation"); + scale = json.getAsJsonArray("scale"); + track = difficulty.getTrackLibrary().getOrCreateTrack(json.get("track").getAsString()); + return this; + } +} diff --git a/src/client/java/com/beatcraft/beatmap/data/ChromaMaterial.java b/src/client/java/com/beatcraft/beatmap/data/ChromaMaterial.java new file mode 100644 index 00000000..43d00458 --- /dev/null +++ b/src/client/java/com/beatcraft/beatmap/data/ChromaMaterial.java @@ -0,0 +1,17 @@ +package com.beatcraft.beatmap.data; + +import com.google.gson.JsonArray; +import com.google.gson.JsonObject; + +public class ChromaMaterial { + // currently shader does nothing, im not doing shaders for this everything will just be unlit :shrug: + + protected String shader; + protected JsonArray color; + + public ChromaMaterial load(JsonObject json) { + shader = json.get("shader").toString(); + color = json.get("colour").getAsJsonArray(); + return this; + } +} From 5f833dd889368e340c684610a68dfc0b2881b01e Mon Sep 17 00:00:00 2001 From: un-simp Date: Fri, 7 Mar 2025 21:31:55 +0000 Subject: [PATCH 2/9] make geo enum public Signed-off-by: un-simp --- .../beatmap/data/ChromaGeometry.java | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/src/client/java/com/beatcraft/beatmap/data/ChromaGeometry.java b/src/client/java/com/beatcraft/beatmap/data/ChromaGeometry.java index 939b35dc..4ccc9cce 100644 --- a/src/client/java/com/beatcraft/beatmap/data/ChromaGeometry.java +++ b/src/client/java/com/beatcraft/beatmap/data/ChromaGeometry.java @@ -8,7 +8,7 @@ public class ChromaGeometry extends BeatmapObject{ - enum GeometryType { + public enum GeometryType { Sphere, Capsule, Cylinder, @@ -41,4 +41,22 @@ public ChromaGeometry loadV3(JsonObject json, Difficulty difficulty) { track = difficulty.getTrackLibrary().getOrCreateTrack(json.get("track").getAsString()); return this; } + public GeometryType getType() { + return type; + } + public ChromaMaterial getMaterial() { + return material; + } + public JsonArray getPosition() { + return position; + } + public JsonArray getRotation() { + return rotation; + } + public JsonArray getScale() { + return scale; + } + public Track getTrack() { + return track; + } } From 0627dc986d3ba3c10136ee51c28fd5808f8b42c0 Mon Sep 17 00:00:00 2001 From: un-simp Date: Fri, 7 Mar 2025 21:32:18 +0000 Subject: [PATCH 3/9] use BeatCraft's built in colour tools Signed-off-by: un-simp --- .../java/com/beatcraft/beatmap/data/ChromaMaterial.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/client/java/com/beatcraft/beatmap/data/ChromaMaterial.java b/src/client/java/com/beatcraft/beatmap/data/ChromaMaterial.java index 43d00458..8bcddd71 100644 --- a/src/client/java/com/beatcraft/beatmap/data/ChromaMaterial.java +++ b/src/client/java/com/beatcraft/beatmap/data/ChromaMaterial.java @@ -1,17 +1,16 @@ package com.beatcraft.beatmap.data; -import com.google.gson.JsonArray; +import com.beatcraft.data.types.Color; import com.google.gson.JsonObject; public class ChromaMaterial { // currently shader does nothing, im not doing shaders for this everything will just be unlit :shrug: - protected String shader; - protected JsonArray color; + protected Color color; public ChromaMaterial load(JsonObject json) { shader = json.get("shader").toString(); - color = json.get("colour").getAsJsonArray(); + color = Color.fromJsonArray(json.get("color").getAsJsonArray()); return this; } } From 28775b0b7d016ef29be6825e81f393e66dad5531 Mon Sep 17 00:00:00 2001 From: un-simp Date: Fri, 7 Mar 2025 22:23:19 +0000 Subject: [PATCH 4/9] rewrite chroma material system (cause im stupid and cant remember heck structures) Signed-off-by: un-simp --- .../com/beatcraft/beatmap/DifficultyV3.java | 12 ++++++++ .../beatmap/data/ChromaGeometry.java | 2 +- .../beatmap/data/ChromaMaterial.java | 28 ++++++++++++++++--- .../beatmap/data/ChromaMaterialManager.java | 23 +++++++++++++++ 4 files changed, 60 insertions(+), 5 deletions(-) create mode 100644 src/client/java/com/beatcraft/beatmap/data/ChromaMaterialManager.java diff --git a/src/client/java/com/beatcraft/beatmap/DifficultyV3.java b/src/client/java/com/beatcraft/beatmap/DifficultyV3.java index 46a6ab7f..8b9ebe25 100644 --- a/src/client/java/com/beatcraft/beatmap/DifficultyV3.java +++ b/src/client/java/com/beatcraft/beatmap/DifficultyV3.java @@ -2,6 +2,8 @@ import com.beatcraft.BeatCraft; import com.beatcraft.beatmap.data.ChromaGeometry; +import com.beatcraft.beatmap.data.ChromaMaterial; +import com.beatcraft.beatmap.data.ChromaMaterialManager; import com.beatcraft.beatmap.data.event.AnimateTrack; import com.beatcraft.beatmap.data.event.AssignPathAnimation; import com.beatcraft.beatmap.data.event.AssignTrackParent; @@ -34,6 +36,7 @@ DifficultyV3 load(JsonObject json) { loadRotationEvents(json); loadPointDefinitions(json); loadCustomEvents(json); + loadChromaMaterials(json); loadEnvironmentEnhancements(json); doPostLoad(); return this; @@ -195,4 +198,13 @@ private void loadEnvironmentEnhancement(JsonObject json) { } } + private void loadChromaMaterials(JsonObject json) { + if (json.has("customData")) { + JsonObject customData = json.getAsJsonObject("customData"); + if (customData.has("materials")) { + JsonObject materials = customData.getAsJsonObject("materials"); + materials.asMap().forEach((s, jsonElement) -> ChromaMaterialManager.addChromaMaterial(new ChromaMaterial().load(s,jsonElement.getAsJsonObject()))); + } + } + } } diff --git a/src/client/java/com/beatcraft/beatmap/data/ChromaGeometry.java b/src/client/java/com/beatcraft/beatmap/data/ChromaGeometry.java index 4ccc9cce..fd69abbb 100644 --- a/src/client/java/com/beatcraft/beatmap/data/ChromaGeometry.java +++ b/src/client/java/com/beatcraft/beatmap/data/ChromaGeometry.java @@ -32,7 +32,7 @@ public ChromaGeometry loadV3(JsonObject json, Difficulty difficulty) { // geometry specific shi JsonObject geo = json.getAsJsonObject("geometry"); type = GeometryType.valueOf(geo.get("type").getAsString()); - material = new ChromaMaterial().load(geo.get("material").getAsJsonObject()); + material = ChromaMaterialManager.getChromaMaterial(geo.get("material").getAsString()); // chroma shit position = json.getAsJsonArray("position"); diff --git a/src/client/java/com/beatcraft/beatmap/data/ChromaMaterial.java b/src/client/java/com/beatcraft/beatmap/data/ChromaMaterial.java index 8bcddd71..a9fdf316 100644 --- a/src/client/java/com/beatcraft/beatmap/data/ChromaMaterial.java +++ b/src/client/java/com/beatcraft/beatmap/data/ChromaMaterial.java @@ -1,16 +1,36 @@ package com.beatcraft.beatmap.data; +import com.beatcraft.BeatCraft; +import com.beatcraft.beatmap.data.object.BeatmapObject; import com.beatcraft.data.types.Color; import com.google.gson.JsonObject; +import org.apache.commons.compress.harmony.pack200.CpBands; +import org.apache.commons.lang3.ObjectUtils; -public class ChromaMaterial { +public class ChromaMaterial extends BeatmapObject { // currently shader does nothing, im not doing shaders for this everything will just be unlit :shrug: protected String shader; protected Color color; + protected String name; - public ChromaMaterial load(JsonObject json) { - shader = json.get("shader").toString(); - color = Color.fromJsonArray(json.get("color").getAsJsonArray()); + public ChromaMaterial load(String name, JsonObject properties) { + shader = properties.get("shader").toString(); + try{ + color = Color.fromJsonArray(properties.get("color").getAsJsonArray()); + } + catch(NullPointerException e){ + BeatCraft.LOGGER.warn("Material has no color property, defaulting to white"); + color = new Color(255,255,255,1); + } return this; } + public String getName(){ + return name; + } + public String getShader() { + return shader; + } + public Color getColor() { + return color; + } } diff --git a/src/client/java/com/beatcraft/beatmap/data/ChromaMaterialManager.java b/src/client/java/com/beatcraft/beatmap/data/ChromaMaterialManager.java new file mode 100644 index 00000000..8ef07379 --- /dev/null +++ b/src/client/java/com/beatcraft/beatmap/data/ChromaMaterialManager.java @@ -0,0 +1,23 @@ +package com.beatcraft.beatmap.data; + +import java.util.ArrayList; +import java.util.List; + +public class ChromaMaterialManager { + private static List chromaMaterials = new ArrayList(); + + public static void addChromaMaterial(ChromaMaterial chromaMaterial) { + chromaMaterials.add(chromaMaterial); + } + public static List getChromaMaterials() { + return chromaMaterials; + } + public static ChromaMaterial getChromaMaterial(String name) { + for (ChromaMaterial chromaMaterial : chromaMaterials) { + if (name == chromaMaterial.getName()){ + return chromaMaterial; + } + } + return null; + } +} From cd78156b572e64d3ff31810dbd9a3c4a9d25152f Mon Sep 17 00:00:00 2001 From: un-simp Date: Fri, 7 Mar 2025 22:25:20 +0000 Subject: [PATCH 5/9] fun fact you should listen to jetbrain's code reviews Signed-off-by: un-simp --- src/client/java/com/beatcraft/beatmap/DifficultyV3.java | 2 -- .../java/com/beatcraft/beatmap/data/ChromaMaterial.java | 3 +-- .../com/beatcraft/beatmap/data/ChromaMaterialManager.java | 5 +++-- 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/src/client/java/com/beatcraft/beatmap/DifficultyV3.java b/src/client/java/com/beatcraft/beatmap/DifficultyV3.java index 8b9ebe25..747650d2 100644 --- a/src/client/java/com/beatcraft/beatmap/DifficultyV3.java +++ b/src/client/java/com/beatcraft/beatmap/DifficultyV3.java @@ -14,9 +14,7 @@ import com.google.gson.JsonArray; import com.google.gson.JsonObject; import net.minecraft.util.Pair; -import org.joml.Vector2f; -import java.util.HashMap; import java.util.List; import java.util.concurrent.atomic.AtomicBoolean; diff --git a/src/client/java/com/beatcraft/beatmap/data/ChromaMaterial.java b/src/client/java/com/beatcraft/beatmap/data/ChromaMaterial.java index a9fdf316..3abc6343 100644 --- a/src/client/java/com/beatcraft/beatmap/data/ChromaMaterial.java +++ b/src/client/java/com/beatcraft/beatmap/data/ChromaMaterial.java @@ -4,8 +4,7 @@ import com.beatcraft.beatmap.data.object.BeatmapObject; import com.beatcraft.data.types.Color; import com.google.gson.JsonObject; -import org.apache.commons.compress.harmony.pack200.CpBands; -import org.apache.commons.lang3.ObjectUtils; + public class ChromaMaterial extends BeatmapObject { // currently shader does nothing, im not doing shaders for this everything will just be unlit :shrug: diff --git a/src/client/java/com/beatcraft/beatmap/data/ChromaMaterialManager.java b/src/client/java/com/beatcraft/beatmap/data/ChromaMaterialManager.java index 8ef07379..2ced28f0 100644 --- a/src/client/java/com/beatcraft/beatmap/data/ChromaMaterialManager.java +++ b/src/client/java/com/beatcraft/beatmap/data/ChromaMaterialManager.java @@ -2,9 +2,10 @@ import java.util.ArrayList; import java.util.List; +import java.util.Objects; public class ChromaMaterialManager { - private static List chromaMaterials = new ArrayList(); + private static final List chromaMaterials = new ArrayList<>(); public static void addChromaMaterial(ChromaMaterial chromaMaterial) { chromaMaterials.add(chromaMaterial); @@ -14,7 +15,7 @@ public static List getChromaMaterials() { } public static ChromaMaterial getChromaMaterial(String name) { for (ChromaMaterial chromaMaterial : chromaMaterials) { - if (name == chromaMaterial.getName()){ + if (Objects.equals(name, chromaMaterial.getName())){ return chromaMaterial; } } From 790de4f94fefa672c3312306022a2f23b9e6ba96 Mon Sep 17 00:00:00 2001 From: un-simp Date: Fri, 7 Mar 2025 22:35:34 +0000 Subject: [PATCH 6/9] fix crash with material getting Signed-off-by: un-simp --- .../beatmap/data/ChromaMaterial.java | 3 +- .../render/object/PhysicalChromaGeo.java | 62 +++++++++++++++++++ 2 files changed, 64 insertions(+), 1 deletion(-) create mode 100644 src/client/java/com/beatcraft/render/object/PhysicalChromaGeo.java diff --git a/src/client/java/com/beatcraft/beatmap/data/ChromaMaterial.java b/src/client/java/com/beatcraft/beatmap/data/ChromaMaterial.java index 3abc6343..0ce9fdd9 100644 --- a/src/client/java/com/beatcraft/beatmap/data/ChromaMaterial.java +++ b/src/client/java/com/beatcraft/beatmap/data/ChromaMaterial.java @@ -12,7 +12,8 @@ public class ChromaMaterial extends BeatmapObject { protected Color color; protected String name; - public ChromaMaterial load(String name, JsonObject properties) { + public ChromaMaterial load(String matName, JsonObject properties) { + name = matName; shader = properties.get("shader").toString(); try{ color = Color.fromJsonArray(properties.get("color").getAsJsonArray()); diff --git a/src/client/java/com/beatcraft/render/object/PhysicalChromaGeo.java b/src/client/java/com/beatcraft/render/object/PhysicalChromaGeo.java new file mode 100644 index 00000000..32768078 --- /dev/null +++ b/src/client/java/com/beatcraft/render/object/PhysicalChromaGeo.java @@ -0,0 +1,62 @@ +package com.beatcraft.render.object; + +import com.beatcraft.BeatCraft; +import com.beatcraft.audio.BeatmapAudioPlayer; +import com.beatcraft.beatmap.data.ChromaGeometry; +import com.beatcraft.render.WorldRenderer; +import net.minecraft.client.MinecraftClient; +import net.minecraft.client.render.OverlayTexture; +import net.minecraft.client.render.VertexConsumer; +import net.minecraft.client.render.model.BakedModel; +import net.minecraft.client.util.ModelIdentifier; +import net.minecraft.client.util.math.MatrixStack; +import net.minecraft.util.Identifier; +import org.joml.Quaternionf; +import org.joml.Vector3f; + + +public class PhysicalChromaGeo extends WorldRenderer { + + private final ChromaGeometry chromaGeometry; + protected BakedModel model; + private Vector3f worldPos = new Vector3f(); + private Quaternionf worldRot = new Quaternionf(); + protected static final float SIZE_SCALAR = 0.5f; + public static final ModelIdentifier cubeID = new ModelIdentifier(Identifier.of(BeatCraft.MOD_ID, "geo_cube"), "inventory"); + private static final int overlay = OverlayTexture.getUv(0, false); + + public PhysicalChromaGeo(ChromaGeometry geo){ + chromaGeometry = geo; + // on instantiation, we should figure out geo, load all the materials etc. so worldRender doesn't have issues + + switch (geo.getType()) { + // for now, everything is cube. + default -> model = mc.getBakedModelManager().getModel(cubeID); + } + } + + + + @Override + protected void worldRender(MatrixStack matrices, VertexConsumer vertexConsumer) { + //this is literally a combination of every single render function I could find what the fuck am I doing + var localPos = matrices.peek(); + worldPos = matrices.peek().getPositionMatrix().getTranslation(worldPos) + .add(mc.gameRenderer.getCamera().getPos().toVector3f()); + worldRot = matrices.peek().getPositionMatrix().getUnnormalizedRotation(worldRot); + matrices.scale(SIZE_SCALAR, SIZE_SCALAR, SIZE_SCALAR); + matrices.translate(-0.5, -0.5, -0.5); + + var renderPos = localPos.getPositionMatrix().getTranslation(new Vector3f()).add(MinecraftClient.getInstance().gameRenderer.getCamera().getPos().toVector3f()); + var renderRotation = localPos.getPositionMatrix().getUnnormalizedRotation(new Quaternionf()); + mc.getBlockRenderManager().getModelRenderer().render(localPos, vertexConsumer, null, model, chromaGeometry.getMaterial().getColor().getRed(), chromaGeometry.getMaterial().getColor().getGreen(), chromaGeometry.getMaterial().getColor().getBlue(), 255, overlay); + + + } + + @Override + public boolean shouldRender() { + return BeatmapAudioPlayer.isReady(); + } + +} From 8a3a42f72bd13c41f289250ebd0d196f31161555 Mon Sep 17 00:00:00 2001 From: un-simp Date: Fri, 7 Mar 2025 22:40:31 +0000 Subject: [PATCH 7/9] actually render things Signed-off-by: un-simp --- src/client/java/com/beatcraft/beatmap/Difficulty.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/client/java/com/beatcraft/beatmap/Difficulty.java b/src/client/java/com/beatcraft/beatmap/Difficulty.java index f3d20abb..52b7410e 100644 --- a/src/client/java/com/beatcraft/beatmap/Difficulty.java +++ b/src/client/java/com/beatcraft/beatmap/Difficulty.java @@ -160,6 +160,7 @@ public void render(MatrixStack matrices, Camera camera) { chainLinkNotes.forEach(o -> o.render(matrices, camera)); obstacles.forEach(o -> o.render(matrices, camera)); arcs.forEach(o -> o.render(matrices, camera)); + chromaGeometries.forEach(o -> o.render(matrices, camera)); } public void seek(float beat) { From 12c49a15cc171ec8d2b9a7f76b685c82ea8d2fe2 Mon Sep 17 00:00:00 2001 From: un-simp Date: Fri, 7 Mar 2025 22:42:02 +0000 Subject: [PATCH 8/9] this shit not needed Signed-off-by: un-simp --- .../java/com/beatcraft/render/object/PhysicalChromaGeo.java | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/client/java/com/beatcraft/render/object/PhysicalChromaGeo.java b/src/client/java/com/beatcraft/render/object/PhysicalChromaGeo.java index 32768078..548d13f8 100644 --- a/src/client/java/com/beatcraft/render/object/PhysicalChromaGeo.java +++ b/src/client/java/com/beatcraft/render/object/PhysicalChromaGeo.java @@ -46,9 +46,6 @@ protected void worldRender(MatrixStack matrices, VertexConsumer vertexConsumer) worldRot = matrices.peek().getPositionMatrix().getUnnormalizedRotation(worldRot); matrices.scale(SIZE_SCALAR, SIZE_SCALAR, SIZE_SCALAR); matrices.translate(-0.5, -0.5, -0.5); - - var renderPos = localPos.getPositionMatrix().getTranslation(new Vector3f()).add(MinecraftClient.getInstance().gameRenderer.getCamera().getPos().toVector3f()); - var renderRotation = localPos.getPositionMatrix().getUnnormalizedRotation(new Quaternionf()); mc.getBlockRenderManager().getModelRenderer().render(localPos, vertexConsumer, null, model, chromaGeometry.getMaterial().getColor().getRed(), chromaGeometry.getMaterial().getColor().getGreen(), chromaGeometry.getMaterial().getColor().getBlue(), 255, overlay); From 0ae1fc4444208c0137f6ef5bac67d83212a89fcf Mon Sep 17 00:00:00 2001 From: un-simp Date: Fri, 7 Mar 2025 22:42:14 +0000 Subject: [PATCH 9/9] cube model Signed-off-by: un-simp --- .../resources/assets/beatcraft/models/block/geo_cube.json | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 src/main/resources/assets/beatcraft/models/block/geo_cube.json diff --git a/src/main/resources/assets/beatcraft/models/block/geo_cube.json b/src/main/resources/assets/beatcraft/models/block/geo_cube.json new file mode 100644 index 00000000..47c81137 --- /dev/null +++ b/src/main/resources/assets/beatcraft/models/block/geo_cube.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "beatcraft:block/filled_light_panel" + } +} \ No newline at end of file