diff --git a/src/main/java/re/imc/geysermodelenginepackgenerator/ExtensionMain.java b/src/main/java/re/imc/geysermodelenginepackgenerator/ExtensionMain.java index 32e44f3..19c02d6 100644 --- a/src/main/java/re/imc/geysermodelenginepackgenerator/ExtensionMain.java +++ b/src/main/java/re/imc/geysermodelenginepackgenerator/ExtensionMain.java @@ -51,6 +51,11 @@ public class ExtensionMain implements Extension { GeyserUtils.addProperty(id, entity + ":" + bone, Boolean.class); }); + GeyserUtils.addProperty(id, "modelengine:anim_idle", Boolean.class); + GeyserUtils.addProperty(id, "modelengine:anim_spawn", Boolean.class); + GeyserUtils.addProperty(id, "modelengine:anim_walk", Boolean.class); + GeyserUtils.addProperty(id, "modelengine:anim_stop", Boolean.class); + GeyserUtils.registerProperties(id); } diff --git a/src/main/java/re/imc/geysermodelenginepackgenerator/generator/AnimationController.java b/src/main/java/re/imc/geysermodelenginepackgenerator/generator/AnimationController.java index 3e43047..4117f29 100644 --- a/src/main/java/re/imc/geysermodelenginepackgenerator/generator/AnimationController.java +++ b/src/main/java/re/imc/geysermodelenginepackgenerator/generator/AnimationController.java @@ -15,7 +15,7 @@ public class AnimationController { ], "transitions": [ { - "idle": "q.is_item_name_any('slot.armor.head', 0, 'minecraft:stone')" + "idle": "query.property('modelengine:anim_idle')" } ] }, @@ -25,13 +25,13 @@ public class AnimationController { ], "transitions": [ { - "spawn": "q.is_item_name_any('slot.armor.head', 0, 'minecraft:iron_block')" + "spawn": "query.property('modelengine:anim_spawn')" }, { - "walk": "q.is_item_name_any('slot.armor.head', 0, 'minecraft:redstone')" + "walk": "query.property('modelengine:anim_walk')" }, { - "stop": "q.is_item_name_any('slot.armor.head', 0, 'minecraft:air')" + "stop": "query.property('modelengine:anim_stop')" } ] }, @@ -41,26 +41,26 @@ public class AnimationController { ], "transitions": [ { - "spawn": "q.is_item_name_any('slot.armor.head', 0, 'minecraft:iron_block')" + "spawn": "query.property('modelengine:anim_spawn')" }, { - "stop": "q.is_item_name_any('slot.armor.head', 0, 'minecraft:air')" + "stop": "query.property('modelengine:anim_stop')" }, { - "idle": "q.is_item_name_any('slot.armor.head', 0, 'minecraft:stone')" + "idle": "query.property('modelengine:anim_idle')" } ] }, "stop": { "transitions": [ { - "idle": "q.is_item_name_any('slot.armor.head', 0, 'minecraft:stone')" + "idle": "query.property('modelengine:anim_idle')" }, { - "spawn": "q.is_item_name_any('slot.armor.head', 0, 'minecraft:iron_block')" + "spawn": "query.property('modelengine:anim_spawn')" }, { - "walk": "q.is_item_name_any('slot.armor.head', 0, 'minecraft:redstone')" + "walk": "query.property('modelengine:anim_walk')" } ] } diff --git a/src/main/java/re/imc/geysermodelenginepackgenerator/generator/Geometry.java b/src/main/java/re/imc/geysermodelenginepackgenerator/generator/Geometry.java index 600ae7d..aac919a 100644 --- a/src/main/java/re/imc/geysermodelenginepackgenerator/generator/Geometry.java +++ b/src/main/java/re/imc/geysermodelenginepackgenerator/generator/Geometry.java @@ -1,9 +1,6 @@ package re.imc.geysermodelenginepackgenerator.generator; -import com.google.gson.JsonArray; -import com.google.gson.JsonElement; -import com.google.gson.JsonObject; -import com.google.gson.JsonParser; +import com.google.gson.*; import lombok.AllArgsConstructor; import lombok.Getter; import lombok.NoArgsConstructor; @@ -12,6 +9,7 @@ import lombok.Setter; import java.util.ArrayList; import java.util.Iterator; import java.util.List; +import java.util.Locale; @Getter @Setter @@ -43,8 +41,13 @@ public class Geometry { while (iterator.hasNext()) { JsonElement element = iterator.next(); if (element.isJsonObject()) { - String name = element.getAsJsonObject().get("name").getAsString(); + String name = element.getAsJsonObject().get("name").getAsString().toLowerCase(Locale.ROOT); + + element.getAsJsonObject().remove("name"); + element.getAsJsonObject().addProperty("name", name); + if (name.equals("hitbox") || + name.equals("mount") || name.startsWith("p_") || name.startsWith("b_") || name.startsWith("ob_")) { @@ -54,4 +57,5 @@ public class Geometry { } setId("geometry.modelengine_" + modelId); } + }