⚔️ 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
equipments:
  # the equipment asset id
  default:topaz:
    type: trim
    humanoid: minecraft:entity/equipment/humanoid/topaz
    humanoid-leggings: minecraft:entity/equipment/humanoid_leggings/topaz

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
how texture path works

❓️Q: Why doesn't the plugin let users use random texture paths and relocate them when generating the resource pack?

✔️ A: I want users to follow Minecraft's resource pack standards - I'll only allow custom paths if Mojang breaks their own rules. Then the plugin will handle version-specific paths for you.

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"

Apply the Equipment

See equipment

items:
  custom:my_helmet:
    settings:
      equipment:
        # the equipment asset id
        asset-id: default:topaz

Last updated