Skip to main content
An item’s texture is its icon. What it looks like when worn goes under armor:.
items/armor/ruby_armor.yml

Sets

Pieces with the same set share one worn look. Each texture only has to be given once in the set, on any piece; the other pieces pick it up. Giving two different textures for the same layer in one set is an error. Without set, the item is a set of its own named after its id. The two humanoid textures follow vanilla’s armour texture layout:

Other things you can wear

Any other vanilla equipment layer can be given by its own name under layers::

Options

id
Pieces with the same set share their look and count together for full-set. Defaults to the item’s id.
boolean
default:"false"
Tints the worn textures with the item’s dye colour, like leather armour. Draw them in greyscale.
text
Where it’s worn: head, chest, legs, feet, body, saddle. Needed only when the material isn’t wearable already, or to change where it goes.
list
Which mobs may wear it, when that should differ from the base item. For example [llama, trader_llama].
list
Potion effects while it’s worn, written as name [level]: ["night_vision", "speed 2"].
boolean
default:"false"
Effects only apply while all four armour slots hold pieces of this set.
Effects are topped up every second, so night vision never flickers. They are only removed if they still came from the armour, so a potion the player drank is left alone. A set where no piece gives a worn texture keeps the base item’s look, so iron_chestplate with only effects still looks like iron when worn.

3D armour

Give a set a Blockbench model, and players see it worn in full 3D: horns, shoulder pads, capes, anything you can build out of cubes. It moves with the arms and legs and works on players, armour stands and grown-up mobs (baby mobs wear it flat).
items/armor/lodestone/lodestone.yml
This is the Lodestone set that LodeItems installs on first start, in items/armor/lodestone/. Open its lodestone_armor.bbmodel in Blockbench to see how a 3D set is built. Each piece still has its own item icon (texture:), a normal 16×16 item texture.

Building the model

Build it in Blockbench around a player, with each body part’s cubes in a bone (group) named after it:
  • Cubes can be rotated and inflated, and nested bones work too. Only cubes are supported, not meshes.
  • Keep the player in the default pose (standing, arms down). The bones follow vanilla’s joints: neck, shoulders and hips.
  • Save the textures inside the model (Blockbench does this by default), or keep them next to it.

Shader packs (Iris)

Shader packs replace the game’s own shaders, so LodeItems also writes the model as a custom entity model for the EMF and ETF mods. Players with Iris, EMF and ETF see it in 3D, shader pack and all. Iris players without EMF and ETF see the flat look.
EMF’s model format can’t turn a face’s texture a quarter turn, so faces rotated 90° or 270° show unturned for these players. The console warns when a model has any.Armour no 3D set picks keeps its normal look for EMF players, and other EMF armour packs keep working.

The flat look

Not every player can see 3D armour, so each set also needs a flat look. It is used:
  • by players with Iris but without EMF and ETF,
  • on Macs and other graphics drivers without subgroup support,
  • for armour further away than armor.3d-distance blocks (default 48) in config.yml.
Give it as usual with body: and legs:, or add two textures named …layer_1 and …layer_2 to the Blockbench model, and LodeItems uses those. A piece with nothing modelled is always worn flat.
3D armour can’t be dyeable: the layer colours are what tell the game which part of the model to draw. Armour trims and the enchantment glint still draw on the plain armour shape.
3D armour comes with a replacement for the game’s entity shader, so resource packs that also replace it (ModelEngine’s shader, for example) can’t be used at the same time. LodeItems’ version wins and the console says so.

Hats

A head item with its own model and no worn textures wears its model on the head. Use this for 3D hats: