Skip to main content

๐Ÿ—ก๏ธ Item

Overviewโ€‹

An item is a single entry under items: in your configuration. Each one is keyed by its id โ€” namespace:path, e.g. default:topaz_sword โ€” and assembled from a handful of independent sections. material defaults to nether_brick (configurable in config.yml) and is ignored for vanilla item IDs โ€” everything else is added when needed.

Anatomyโ€‹

Every item follows the same skeleton. Each top-level key answers one question about the item:

items:
default:my_item: # the item id โ€” referenced everywhere as default:my_item
material: paper # optional โ†’ the vanilla item it's built on (default: config.yml)
data: # optional โ†’ what data components it has (name, lore, enchantsโ€ฆ)
...
model: # optional โ†’ what it looks like
...
behavior: # optional โ†’ what it can do on interaction (place a block, place furnitureโ€ฆ)
...
settings: # optional โ†’ plugin-driven features (fuel, tags, repairable, enchantableโ€ฆ)
...
events: # optional โ†’ reactions to events
...

In addition to the sections above, a handful of root-level fields live directly on the item: custom_model_data, item_model, hand_animation_on_swap, oversized_in_gui, and swap_animation_scale. See Item Models โ†’ Root Fields for details.

Sections to Configureโ€‹

Quick Startโ€‹

1. The smallest possible itemโ€‹

A texture alone is enough โ€” material falls back to config.yml's default:

items:
default:ruby:
material: paper
texture: minecraft:item/custom/ruby

2. Give it a name and a handheld modelโ€‹

Add data for the display name and switch to a tool base so it renders in 3D:

items:
default:ruby_sword:
material: golden_sword
texture: minecraft:item/custom/ruby_sword
data:
item_name: "<!i><#FF8C00>Ruby Sword"
lore:
- "Forged in the depths"

3. Make it place a blockโ€‹

Add a behavior so right-clicking the item places a custom block:

items:
default:ruby_sword:
material: golden_sword
texture: minecraft:item/custom/ruby_sword
data:
item_name: "<!i><#FF8C00>Ruby Sword"
behavior:
type: block_item
block: default:ruby_block

4. Full control: explicit model, attributes, settingsโ€‹

Drop the simplified texture and use the full model definition. Add combat attributes and a tool tag:

items:
default:ruby_sword:
material: golden_sword
custom_model_data: 10001
data:
item_name: "<!i><#FF8C00>Ruby Sword"
attribute_modifiers:
- type: attack_damage
amount: 7
operation: add_value
slot: mainhand
model:
type: minecraft:model
path: minecraft:item/custom/ruby_sword
generation:
parent: minecraft:item/handheld
textures:
layer0: minecraft:item/custom/ruby_sword
settings:
tags:
- minecraft:swords
behavior:
type: block_item
block: default:ruby_block

Where to Lookโ€‹

You want toโ€ฆGo to
Set the item's name, lore, or enchantmentsItem Data
Make it a food itemItem Data โ†’ food
Give it a simple 2D or handheld modelItem Models โ†’ Simplified Models
Make a bow, crossbow, or fishing rod modelItem Models โ†’ Simplified Models
Build a complex model definitionItem Models โ†’ Model Types
Add tints (dyed armor, grass color, potionโ€ฆ)Model โ†’ Tints
Make it place a blockBlock Item
Make it place furnitureFurniture Item
Give it durability (max_damage)Item Data โ†’ max_damage
React to eating, attacking, or clickingEvents
Update existing items after config changesItem Updater
Keep display data client-side (premium)Item Data โ†’ Client Bound Data