Skip to content

Minecraft Custom Armor Texture: Equipment Assets

Get a minecraft custom armor texture working in 26.3: write the equipment asset JSON, add the layer images and give the armour with /give.

Updated 5 Nov 2026Written for Minecraft 26.32 min read

Written for Minecraft 26.3.

A minecraft custom armor texture needs three things: an equipment asset JSON, two layer images, and an item that points to the asset with the equippable component. All of it works in a normal resource pack, with no shaders.

Before you start

  • Minecraft Java Edition 26.3, resource pack format 97.1.

  • A resource pack folder. See pack basics if you need one.

  • Two PNG files: the body layer and the leggings layer.

Leather colour tricks are legacy. Older packs hid data in leather armour pixels with a core shader. Equipment assets replaced that in 1.21.2 and no shader is needed now.

Create the equipment asset

  1. Create assets/example/equipment/ruby.json. The folder is equipment directly under the namespace, as it has been since 1.21.4.

  2. List a texture for each layer type you want.

{
  "layers": {
    "humanoid": [
      { "texture": "example:ruby" }
    ],
    "humanoid_leggings": [
      { "texture": "example:ruby" }
    ]
  }
}

humanoid is used for the head, chest and feet. humanoid_leggings is used for the legs. A layer type you leave out does not render on that slot.

Add the textures

A texture ID example:ruby resolves to a path that includes the layer type:

assets/example/textures/entity/equipment/humanoid/ruby.png
assets/example/textures/entity/equipment/humanoid_leggings/ruby.png

Copy a vanilla layer image as a template so the parts land on the right pixels.

Give the armour

Use the equippable component. slot is required. asset_id is the equipment asset file name without .json. Give each piece with its own slot:

/give @s diamond_chestplate[equippable={slot:"chest",asset_id:"example:ruby"}]
/give @s diamond_leggings[equippable={slot:"legs",asset_id:"example:ruby"}]

The inventory icon still uses the base item's model. To change that too, set item_model, for example item_model="example:ruby_chestplate", and add assets/example/items/ruby_chestplate.json. See custom items. The give command builder writes the syntax for you.

Check it worked

  • Run both /give commands and wear the pieces.

  • Look at yourself in third person (F5). Both layers should show your texture.

  • Add a trim with the armor trims guide to confirm it renders on top.

Common problems

Armour looks vanilla

The asset_id does not match the file name, or the namespace is wrong.

Legs are invisible

There is no humanoid_leggings entry, or its image is in the wrong folder.

Pink and black checks

The texture path is wrong. Check the layer folder name and the lower-case file name.

It will not equip

The slot does not match the piece. Use head, chest, legs or feet.

Join our Discord

Get help with your purchases, see what we're building next and talk to other server owners.