Posted August 3Aug 3 Hi, I'm in the process of updating a mod from 1.21.1 to 1.21.8 and It looks like the way armor materials are created/registered has changes since around 1.21.4. My textures for the armors are no longer visible in game. Here's an example of one of my ArmorMaterials: public interface CustomArmorMaterials { ArmorMaterial OAK_WOOD = new ArmorMaterial( 2, makeDefense(1, 2, 3, 1, 3), 12, SoundEvents.ARMOR_EQUIP_GENERIC, 0.0F, 0.0F, ModTags.Items.CAN_REPAIR_OAK_WOOD, EquipmentAssets.OAK_WOOD ); //... } Ive also created an EquipmentAsset for each e.g: public interface EquipmentAssets { ResourceKey<? extends Registry<EquipmentAsset>> ROOT_ID = ResourceKey.createRegistryKey(ResourceLocation.fromNamespaceAndPath(ExtraArmor.MODID, "equipment_assets")); ResourceKey<EquipmentAsset> OAK_WOOD = createId("oak_wood"); //.. } My textures are named like oak_wood_layer_1.png and oak_wood_layer_2.png and they are placed in: resources/assets/modid/textures/models/armor I have also tried the another folder strucute recommended for data packs by creating 'humanoid', 'humanoid_leggings' and 'horse armor' directories in 'resources/assets/modid/textures/entity/equipment' and placing the textures in there without the 'layer_1' and 'layer_2' parts but that also didn't work. Is there a guide anywhere for armor textures in 1.21.4+ Any help is appreciated!
October 5Oct 5 they changed that.now inside the folder assets/modid you have to create one folder called equipment. there you create yourmaterial.json{ "layers": { "humanoid": [ { "texture": "modid:yourmaterial" } ], "humanoid_leggings": [ { "texture": "modid:yourmaterial" } ] } }then in textures/item you put your armor pngs like material_helmet.png ...then you create the folder textures/entity/equipment you create 2 more folders inside of equipment folder: humanoid and humanoid_leggings inside humanoid you put yourmaterial_layer_1.png and inside humanoid _leggings put yourmaterial_layer_2 . then change both file names into yourmaterial.pngin my datagen i also call this: generateTrimmableItem(ModItems.MATERIAL_HELMET.get(), ModEquipmentAssets.MATERIAL, TRIM_PREFIX_HELMET, false); so it creates the layers also for trims.dont forget to add tags to your armor so you can enchant it, and trim.
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.