🗡️ 物品
概述
一个物品就是 items: 下的一个条目,用 namespace:path 作为唯一标识(比如 default:topaz_sword),由若干个彼此独立的配置段拼成。material 不写就用 config.yml 里的默认值,原版物品 ID 写了也无效——其他段按需添加即可。
结构
每个物品都遵循同一套骨架。每个顶层键回答一个问题:
items:
default:my_item: # 物品 ID,其他地方都用 default:my_item 引用
material: paper # 可选 → 基于哪个原版物品(默认值见 config.yml)
data: # 可选 → 携带什么数据组件(名称、描述、附魔……)
...
model: # 可选 → 长什么样
...
behavior: # 可选 → 交互后能干什么(放方块、放家具……)
...
settings: # 可选 → 插件驱动的特性(燃料、标签、可修复、可附魔……)
...
events: # 可选 → 对事件的响应
...
除了以上配置段,物品上还有几个根级字段:custom_model_data、item_model、hand_animation_on_swap、oversized_in_gui、swap_animation_scale。详见物品模型 → 根字段。
配置段
快速上手
1. 最简物品
一个纹理就够了——material 没写就用 config.yml 的默认值:
items:
default:ruby:
material: paper
texture: minecraft:item/custom/ruby
2. 加上名字和手持模型
补上 data 写展示名,换个工具底子就是 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. 让它能放置方块
加个 behavior,右键就能把自定义方块放下去:
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. 完全掌控:显式模型、属性、设置
扔掉简化的 texture,上完整模型定义。再加上战斗属性和工具标签:
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
遇到不知道怎么配置时该看哪里
| 你想…… | 去看 |
|---|---|
| 设置物品名称、描述、附魔 | 物品数据 |
| 做成食物 | 物品数据 → food |
| 搞个简单的 2D 或手持模型 | 物品模型 → 简化模型 |
| 做弓、弩、钓鱼竿模型 | 物品模型 → 简化模型 |
| 构建复杂的模型映射 | 物品模型 → 模型类型 |
| 添加着色(染色盔甲、草色、药水……) | 模型 → Tints |
| 让物品放置方块 | 方块物品 |
| 让物品放置家具 | 家具物品 |
| 设置耐久度 | 物品数据 → max_damage |
| 响应事件(食用、攻击、点击) | 事件 |
| 配置更新后迁移已有物品 | 物品更新器 |
| 把展示数据放客户端(付费版) | 物品数据 → 客户端绑定数据 |