Forewarning, at the time of writing this on 1/14/2024 and referencing the guide from Jeqo.net, there are better ways to do armor and this guide will be updated shortly!

Custom armor is now available to be implemented in modern versions of Minecraft using "Core Shaders". With the use of Core Shaders, alternative render engines such as Optifine, Iris, etc may be incompatible or cause visual issues, which is just something to note. The method covered in this guy uses a core shader created by AncientKingg, Github can be found here.

Information

Each armor set that you wish to add, must be contained within 64x32 canvases (default for 16x resolution armors). Each set will also consist of two of these canvas files, one for each "layer" of armor, and each of these texture files have 3 "settings pixels". The 3 pixels work as follows:

  • (0,0) = Color ID; this assigns the color to the armor for usage in game.

  • (0,1) = Animation; this contains RGB (amount of frames, speed, interpolation). Speed by default is 24 seconds per frame, and interpolation is a Boolean value (0 or >1).

  • (0,2) = Additional armor settings; this contains RGB(emissivity, tint, NA). Color tinting disabled by default and can be toggled. Emissivity can be set to 1 for partial emissivity, and > 1 for full emissivity. For partial emissivity armors, the armor texture to the right will be used as an emissivity map; the alpha of the pixel will act as the emissivity level.

Restrictions

Different armor texture resolutions are supported, though they must be specified within the shader. To change the resolution from the default value of 16, go to \assets\minecraft\Shaders\core and in the rendertype_armor_cutout_no_cull.fsh file adjust line 6 (TEX_RES).

#define TEX_RES 16

Another restriction, you must always have a leather_layer_1_overlay.png and leather_layer_2_overlay.png file, and both must remain completely transparent at all times, otherwise you will encounter errors.

Creating Custom Armor

Step 1: Creating Your Armor Layer Files

First, you need to understand that the layer 1 and layer 2 of your armor will be seperated into two different textures. You can begin by creating a 32x64 sprite sheet for layer 1 of your armor, do the same with another copy for layer 2.

leather_armor_layer_1.png Default Example

Step 2: Assigning a Color ID

Before adding a color ID to your armor set, you will need to add a white (#ffffff) pixel at (0,1); this must be a white pixel at all times.

Note: This pixel only has to be placed when you add your very first armor texture; it is not required as you add more.

White pixel is placed at (0,1) on leather_armor_layer_1.png

Once your white pixel is added, we can assign this armor set to a specific color ID. This will be placed above the white pixel (0,0) and can be set to any color, but if this is your first time setting up custom armors, I recommend setting it to something simple like red (rgb(255,0,0)).

Color ID is set to red using a pixel at (0,0) on leather_armor_layer_1.png

If your armor has no animation or emissivity, which it likely will NOT if this is your first time adding armor, you're done! You just do the same process for layer 2 and make sure you use the exact same color for the color ID. Once you have both layers complete, they should look like the examples below. If you do NOT have emissivity or animated armor, skip to step 5 now.

Setup leather_armor_layer_1.png

Setup leather_armor_layer_2.png


Step 3: Animation (Optional)

If you have an animated armor set and want to animate it, first what you need to do is add as many frames as your armor has below the corresponding armor texture. You will also need to add a "settings pixel" for the animation at (0,1). This pixel contains rgb(amount of frames, speed, interpolation).

The example below would allow for the leather overlay pieces to switch colors every "x" ticks that we set in our "settings pixel".

leather_armor_layer_1.png expanded vertically to add animation frames

Step 4: Emissivity (Optional)

If you want to have your armor set, or portions of it emissive (glow in the dark, similar to glow squids), you will have to create a copy of your armor texture to the right. This will be treated as an emissivity map; the opacity of each pixel will contribute to the emissivity level where black is no emissivity and white is full emissivity.

leather_armor_layer_1.png expanded horizontally, no color ID on the second one, which allows emissive.

Emissivity also works with animated armor textures, just make sure you create an emissivity map for each frame horizontally!

Step 5: Adding More Than 1 Armor Set (Optional)

If you want to add multiple armor sets, you can do so by adding them horizontally to the right as shown in the example below. The only thing you must note, you cannot have the same color ID "settings pixel" for any two armor textures, you have to make sure each one is unique.

5 Total Sets of Armor. The armor set with a blue color ID will have an emissive map (the second column)

Step 6: Obtaining In-Game

To get your new armor sets in-game we need to utilize the first "settings pixel". This was your color ID "setting pixel" and you will need to copy your RGB values and input them into a "RGB to Decimal converter" tool. For example below our color ID pixel is red(255,0,0) which will have the decimal value of "16711680".

/give @s leather_helmet{display:{color:16711680}}

Copyright MCModels ©2023.

We use cookies and similar technologies to ensure you get the best experience on our website.