How to create custom armors without replacing existing stuff?
Just like other items, armor have a texture for when it is held or in your inventory, but also a texture for when a player equips it. Oraxen alters this second texture by using colored leather armor and shaders. Armor has like every item a texture in the inventory and in the hand, but it also has a second texture when worn on the body. This second appearance has some limitations and requires some practice. We will use a trick with leather armor and colors.
If you are using shaders via either the Optifine or Iris mod, you will need some additional steps. For Optifine, everything is handled automatically. For Iris, you also need CIT Resewn, everything else is handled for you.
A: item appearance B: body appearance
You must be careful when naming your armors to get the textures detected correctly.
If you want to create an amethyst armor set, then your item sections must be: - amethyst_helmet - amethyst_chestplate - amethyst_leggings - amethyst_boots And in step 2 you'll be able to create the textures: - amethyst_armor_layer_1.png - amethyst_armor_layer_2.png
For this we will be using the below config example for reference:
displayname: "<gradient:#FA7CBB:#F14658>Ruby Helmet"
color: 252, 3, 28
Make sure that the items ID, or the first line in the above example, follows the pattern
armorname_armortype. For the rest of the above set it would be
Also make sure that every set of custom armor has a different
color. That's because it is what the shader uses to connect the texture to the item. So all
rubyarmor must have the same color, but all
emeraldarmor must have a different color.
Now the fun begins. We're going to use a vanilla shader to associate an armor style with a specific color. Thanks to Ancientkingg for developing the shader used by Oraxen.
You'll have to create two textures for your armor. You can download the ruby example here: https://oraxen.com/resources/armor_rest.png https://oraxen.com/resources/armor_leggings.png
Make sure your armors resolution fits the value set in settings.yml. By default armor_resolution is set to 16. This means that your textures must be 64x32 pixels. If you want to use a higher resolution, you'll have to change the value in settings.yml. For example armor_layer files with 128x64 pixels must have a resolution of 32 in settings.yml. You cannot have some at 64x32 and some at 128x64, it is either or.
Also make sure that the bit-depth of your textures is 32 bits. Anything else means not fully transparent, and the pixels the shader uses will be black. This will not break Optifine/Iris versions but will break all vanilla versions.
You can make your texture emissive (no optifine required) by adding another file with the same name ending in _e.png. For example
ruby_armor_layer_1_e.pngThis texture will be treated as an emissivity map, where the alpha of the pixel will be treated as the amount of emissivity.
To get your textures registered correctly, their name need to contain
armor_layer_X. For example:
ruby_armor_layer_2.pngYou can put them in any folder of the pack textures,