@@ -180,17 +180,17 @@ static JsonObject buildGear(PlayerEntityData data) {
180180 gear = parseEquipment (data .equipment );
181181 } else {
182182 gear = new JsonObject ();
183- if (!data .chestplate .asCompound ().isEmpty ()) {
184- gear .add ("chest" , parseItem (data .chestplate .asCompound ()));
185- }
186- if (!data .feet .asCompound ().isEmpty ()) {
187- gear .add ("feet" , parseItem (data .feet .asCompound ()));
188- }
189- if (!data .head .asCompound ().isEmpty ()) {
190- gear .add ("head" , parseItem (data .head .asCompound ()));
191- }
192- if (!data .legs .asCompound ().isEmpty ()) {
193- gear .add ("legs" , parseItem (data .legs .asCompound ()));
183+ if (!data .chestplate .asCompound ().isEmpty ()) {
184+ gear .add ("chest" , parseItem (data .chestplate .asCompound ()));
185+ }
186+ if (!data .feet .asCompound ().isEmpty ()) {
187+ gear .add ("feet" , parseItem (data .feet .asCompound ()));
188+ }
189+ if (!data .head .asCompound ().isEmpty ()) {
190+ gear .add ("head" , parseItem (data .head .asCompound ()));
191+ }
192+ if (!data .legs .asCompound ().isEmpty ()) {
193+ gear .add ("legs" , parseItem (data .legs .asCompound ()));
194194 }
195195 }
196196 return gear ;
@@ -831,52 +831,78 @@ static Texture getTexture(JsonObject item) {
831831 case "leather_boots" :
832832 case "leather_helmet" :
833833 case "leather_chestplate" :
834- loader = leatherTexture ("models/armor/leather_layer_1" ,
835- item .get ("color" ).intValue (0x96613A ), texture );
834+ loader = new AlternateTextures (
835+ leatherTexture ("entity/equipment/humanoid/leather" ,
836+ item .get ("color" ).intValue (0x96613A ), texture ),
837+ leatherTexture ("models/armor/leather_layer_1" ,
838+ item .get ("color" ).intValue (0x96613A ), texture ));
836839 break ;
837840 case "leather_leggings" :
838- loader = leatherTexture ("models/armor/leather_layer_2" ,
839- item .get ("color" ).intValue (0x96613A ), texture );
841+ loader = new AlternateTextures (
842+ leatherTexture ("entity/equipment/humanoid_leggings/leather" ,
843+ item .get ("color" ).intValue (0x96613A ), texture ),
844+ leatherTexture ("models/armor/leather_layer_2" ,
845+ item .get ("color" ).intValue (0x96613A ), texture ));
840846 break ;
841847 case "golden_boots" :
842848 case "golden_helmet" :
843849 case "golden_chestplate" :
844- loader = simpleTexture ("models/armor/gold_layer_1" , texture );
850+ loader = new AlternateTextures (
851+ simpleTexture ("entity/equipment/humanoid/gold" , texture ),
852+ simpleTexture ("models/armor/gold_layer_1" , texture ));
845853 break ;
846854 case "golden_leggings" :
847- loader = simpleTexture ("models/armor/gold_layer_2" , texture );
855+ loader = new AlternateTextures (
856+ simpleTexture ("entity/equipment/humanoid_leggings/gold" , texture ),
857+ simpleTexture ("models/armor/gold_layer_2" , texture ));
848858 break ;
849859 case "iron_boots" :
850860 case "iron_helmet" :
851861 case "iron_chestplate" :
852- loader = simpleTexture ("models/armor/iron_layer_1" , texture );
862+ loader = new AlternateTextures (
863+ simpleTexture ("entity/equipment/humanoid/iron" , texture ),
864+ simpleTexture ("models/armor/iron_layer_1" , texture ));
853865 break ;
854866 case "iron_leggings" :
855- loader = simpleTexture ("models/armor/iron_layer_2" , texture );
867+ loader = new AlternateTextures (
868+ simpleTexture ("entity/equipment/humanoid_leggings/iron" , texture ),
869+ loader = simpleTexture ("models/armor/iron_layer_2" , texture ));
856870 break ;
857871 case "chainmail_boots" :
858872 case "chainmail_helmet" :
859873 case "chainmail_chestplate" :
860- loader = simpleTexture ("models/armor/chainmail_layer_1" , texture );
874+ loader = new AlternateTextures (
875+ simpleTexture ("entity/equipment/humanoid/chainmail" , texture ),
876+ simpleTexture ("models/armor/chainmail_layer_1" , texture ));
861877 break ;
862878 case "chainmail_leggings" :
863- loader = simpleTexture ("models/armor/chainmail_layer_2" , texture );
879+ loader = new AlternateTextures (
880+ simpleTexture ("entity/equipment/humanoid_leggings/chainmail" , texture ),
881+ simpleTexture ("models/armor/chainmail_layer_2" , texture ));
864882 break ;
865883 case "diamond_boots" :
866884 case "diamond_helmet" :
867885 case "diamond_chestplate" :
868- loader = simpleTexture ("models/armor/diamond_layer_1" , texture );
886+ loader = new AlternateTextures (
887+ simpleTexture ("entity/equipment/humanoid/diamond" , texture ),
888+ simpleTexture ("models/armor/diamond_layer_1" , texture ));
869889 break ;
870890 case "diamond_leggings" :
871- loader = simpleTexture ("models/armor/diamond_layer_2" , texture );
891+ loader = new AlternateTextures (
892+ simpleTexture ("entity/equipment/humanoid_leggings/diamond" , texture ),
893+ simpleTexture ("models/armor/diamond_layer_2" , texture ));
872894 break ;
873895 case "netherite_boots" :
874896 case "netherite_helmet" :
875897 case "netherite_chestplate" :
876- loader = simpleTexture ("models/armor/netherite_layer_1" , texture );
898+ loader = new AlternateTextures (
899+ simpleTexture ("entity/equipment/humanoid/netherite" , texture ),
900+ simpleTexture ("models/armor/netherite_layer_1" , texture ));
877901 break ;
878902 case "netherite_leggings" :
879- loader = simpleTexture ("models/armor/netherite_layer_2" , texture );
903+ loader = new AlternateTextures (
904+ simpleTexture ("entity/equipment/humanoid_leggings/netherite" , texture ),
905+ simpleTexture ("models/armor/netherite_layer_2" , texture ));
880906 break ;
881907 case "copper_boots" :
882908 case "copper_helmet" :
@@ -887,7 +913,9 @@ static Texture getTexture(JsonObject item) {
887913 loader = simpleTexture ("entity/equipment/humanoid_leggings/copper" , texture );
888914 break ;
889915 case "turtle_helmet" :
890- loader = simpleTexture ("models/armor/turtle_layer_1" , texture );
916+ loader = new AlternateTextures (
917+ simpleTexture ("entity/equipment/humanoid/turtle_scute" , texture ),
918+ simpleTexture ("models/armor/turtle_layer_1" , texture ));
891919 break ;
892920 case "player_head" :
893921 String skin = item .get ("skin" ).asString ("" );
0 commit comments