@@ -39,11 +39,10 @@ public JsonObject getInternal() {
3939 public void modify () {
4040 JsonArray array = getInternal ().get ("bones" ).getAsJsonArray ();
4141 Iterator <JsonElement > iterator = array .iterator ();
42- while (iterator .hasNext ()) {
42+ while (iterator .hasNext ()) {
4343 JsonElement element = iterator .next ();
4444 if (element .isJsonObject ()) {
4545 String name = element .getAsJsonObject ().get ("name" ).getAsString ().toLowerCase (Locale .ROOT );
46-
4746 String parent = element .getAsJsonObject ().has ("parent" ) ? element .getAsJsonObject ().get ("parent" ).getAsString ().toLowerCase () : null ;
4847 element .getAsJsonObject ().remove ("name" );
4948 element .getAsJsonObject ().addProperty ("name" , name );
@@ -65,17 +64,15 @@ public void modify() {
6564 }
6665 }
6766 }
67+
6868 setId ("geometry.meg_" + modelId );
6969 }
7070
71- public void addAllChildren (BoneData p , BoneData c ) {
72- if (GeyserModelEngineExtension .getExtension ().getConfigManager ().getConfig ().getBoolean ("options.debug.geometry-bones" )) GeyserModelEngineExtension .getExtension ().logger ().info (modelId + " " + p .getName ());
73-
74- p .getAllChildren ().add (c );
71+ private void addAllChildren (BoneData p , BoneData c ) {
72+ if (GeyserModelEngineExtension .getExtension ().getConfigManager ().getConfig ().getBoolean ("options.debug.geometry-bones" )) GeyserModelEngineExtension .getExtension ().logger ().info ("Model ID: " + modelId + " " + p .getName ());
73+ if (!p .getAllChildren ().add (c )) return ;
7574 BoneData parent = bones .get (p .getParent ());
76- if (parent != null ) {
77- addAllChildren (parent , c );
78- }
75+ if (parent != null && parent != p ) addAllChildren (parent , c );
7976 }
8077
8178 public void setModelId (String modelId ) {
0 commit comments