跳到主要内容

🗡️ 物品

概述

一个物品就是 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_dataitem_modelhand_animation_on_swapoversized_in_guiswap_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
响应事件(食用、攻击、点击)事件
配置更新后迁移已有物品物品更新器
把展示数据放客户端(付费版)物品数据 → 客户端绑定数据