⚔️ Item Equipment

CraftEngine offers two ways to create custom equipment. One method is based on Trim (for Minecraft 1.20+), and the other uses the Equippable component (introduced in 1.21.2).
Trim Based (1.20+)
The plugin removes the base texture of a vanilla armor (like chainmail) and replaces it with your custom texture by applying custom trim_pattern
. You can set this up in config.yml
- but remember, the sacrificed-vanilla-armor
feature only activates after you've configured at least one trim-based armor.
# config.yml
equipment:
# The sacrificed-vanilla-armor argument determines which vanilla armor gets completely removed (loses all its trims)
# when you create new armor using trim types, freeing up a slot for your custom armor.
sacrificed-vanilla-armor:
type: chainmail
# CraftEngine repurposes a vanilla armor's texture slot for custom armor trims.
# To preserve the original look, it uses trim configurations to reconstruct the default appearance.
asset-id: minecraft:chainmail
humanoid: minecraft:trims/entity/humanoid/chainmail
humanoid-leggings: minecraft:trims/entity/humanoid_leggings/chainmail
Because we removed vanilla armor textures, we add 🔢 Client Bound Item Data with special trims to make them appear normal. (This is setup in the legacy_armor
config.)
# Since we removed the chainmail armor textures,
# we need to add a client-side trim pattern for the
# vanilla chainmail armor to make it display properly.
items:
minecraft:chainmail_helmet:
client-bound-data:
trim:
pattern: chainmail
material: custom
hide-tooltip:
- trim
equipments:
# the equipment asset id
default:topaz:
type: trim
humanoid: minecraft:entity/equipment/humanoid/topaz
humanoid-leggings: minecraft:entity/equipment/humanoid_leggings/topaz
Heads up! Armor made with the trim method can't use the smithing table's trim upgrades. Plus, the vanilla armor you sacrificed loses its trim ability too. If you're running a 1.21.2+ server, you'll want to use the component method instead.
Component Based (1.21.2+)
https://minecraft.wiki/w/Equipment
equipments:
# the equipment asset id
default:topaz:
type: component
# 'namespace:path' resolves to assets/<namespace>/textures/entity/equipment/<layer_type>/<path>.png.
#
# Example: minecraft:topaz
# ↓
# assets/minecraft/textures/entity/equipment/humanoid/topaz.png
humanoid: "minecraft:topaz"
# You can also set it up as a block like this for some extra options
humanoid:
texture: "minecraft:leather"
# supports color
dyeable:
color-when-undyed: -6265536 # leather color
# for elytra texture
use-player-texture: false

You can also combine multiple textures using lists. Here are two examples:
equipments:
custom:partialy_dyeable_armor:
type: component
humanoid:
- texture: "minecraft:dyeable_part"
dyeable:
color-when-undyed: -6265536
- texture: "minecraft:undyeable_part"
equipments:
custom:red_flower_wreath:
type: component
humanoid:
- texture: "minecraft:wreath"
- texture: "minecraft:red_flower"
custom:yellow_flower_wreath:
type: component
humanoid:
- texture: "minecraft:wreath"
- texture: "minecraft:yellow_flower"
custom:white_flower_wreath:
type: component
humanoid:
- texture: "minecraft:wreath"
- texture: "minecraft:white_flower"
Supported layer types:
humanoid
humanoid-leggings
wings
wolf-body
horse-body
llama-body
pig-saddle
strider-saddle
camel-saddle
horse-saddle
donkey-saddle
mule-saddle
skeleton-horse-saddle
zombie-horse-saddle
happy-ghast-body
Apply the Equipment
See equipment
items:
custom:my_helmet:
settings:
equipment:
# the equipment asset id
asset-id: default:topaz
Last updated