๐ก๏ธ 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 enchantments | Item Data |
| Make it a food item | Item Data โ food |
| Give it a simple 2D or handheld model | Item Models โ Simplified Models |
| Make a bow, crossbow, or fishing rod model | Item Models โ Simplified Models |
| Build a complex model definition | Item Models โ Model Types |
| Add tints (dyed armor, grass color, potionโฆ) | Model โ Tints |
| Make it place a block | Block Item |
| Make it place furniture | Furniture Item |
| Give it durability (max_damage) | Item Data โ max_damage |
| React to eating, attacking, or clicking | Events |
| Update existing items after config changes | Item Updater |
| Keep display data client-side (premium) | Item Data โ Client Bound Data |