Skip to main content
Version: 26.1+

Armor Materials

Armor materials define the properties and textures of armor items. They are referenced by their registry ID in item definitions.

To create a custom armor material, create a JSON file at:

addon/<namespace>/armor_material/<material_id>.json

For example, addon/mypack/armor_material/dirt.json registers the material mypack:dirt.


Fields

All fields are required.

FieldTypeDescription
durabilityIntegerBase durability multiplier. The actual per-piece durability is derived from this value.
defenseObjectDefense points per armor slot. Keys are helmet, chestplate, leggings, boots, and body.
enchantment_valueIntegerEnchantability. Higher values yield better enchantments.
equip_soundSound IDSound event played when this armor is equipped.
toughnessFloatArmor toughness value. Vanilla diamond has 2.0, netherite has 3.0.
knockback_resistanceFloatKnockback resistance. Netherite armor has 0.1 per piece.
repair_itemsTag (Item)Item tag whose members can repair this armor in an anvil.
asset_idIdentifierPoints to the equipment asset file at assets/<namespace>/equipment/<name>.json. See below.

Equipment Asset File

The asset_id field references an equipment asset that defines the in-world texture layers rendered on the player when wearing the armor. Create this file at:

assets/<namespace>/equipment/<name>.json

The <namespace> and <name> come from the asset_id value, so for example asset_id: "mypack:dirt" maps to assets/mypack/equipment/dirt.json.

assets/mypack/equipment/dirt.json
{
"layers": {
"humanoid": [
{
"texture": "mypack:dirt"
}
],
"humanoid_leggings": [
{
"texture": "mypack:dirt"
}
]
}
}

The texture value points to assets/<namespace>/textures/entity/equipment/<name>.png. Helmets, chestplates, and boots share the humanoid layer, while leggings use the humanoid_leggings layer.


Built-in Vanilla Materials

The following vanilla armor materials are pre-registered and can be referenced directly by ID:

IDdurabilitydefense.helmetdefense.chestplatedefense.leggingsdefense.bootsdefense.bodyenchantment_valuetoughnessknockback_resistanceequip_soundrepair_itemsasset_id
minecraft:leather513213150.00.0minecraft:item.armor.equip_leather#minecraft:repairs_leather_armorminecraft:leather
minecraft:chainmail1525414120.00.0minecraft:item.armor.equip_chain#minecraft:repairs_chain_armorminecraft:chainmail
minecraft:iron152652590.00.0minecraft:item.armor.equip_iron#minecraft:repairs_iron_armorminecraft:iron
minecraft:gold725317250.00.0minecraft:item.armor.equip_gold#minecraft:repairs_gold_armorminecraft:gold
minecraft:diamond33386311102.00.0minecraft:item.armor.equip_diamond#minecraft:repairs_diamond_armorminecraft:diamond
minecraft:netherite37386319153.00.1minecraft:item.armor.equip_netherite#minecraft:repairs_netherite_armorminecraft:netherite
minecraft:turtle_scute252652590.00.0minecraft:item.armor.equip_turtle#minecraft:repairs_turtle_helmetminecraft:turtle_scute
minecraft:armadillo_scute4386311100.00.0minecraft:item.armor.equip_wolf#minecraft:repairs_wolf_armorminecraft:armadillo_scute

Example

addon/mypack/armor_material/dirt.json
{
"durability": 1,
"defense": {
"helmet": 1,
"chestplate": 1,
"leggings": 1,
"boots": 1,
"body": 1
},
"enchantment_value": 3,
"equip_sound": "minecraft:block.gravel.place",
"toughness": 0,
"knockback_resistance": 0,
"repair_items": "#mypack:repairs_dirt_armor",
"asset_id": "mypack:dirt"
}