附着物(attachable)告诉游戏在物品被手持或穿戴时要绘制哪个 3D 模型。没有附着物时,手持的物品会以扁平图标的样子绘制。盔甲则一定需要附着物,因为穿在身上的盔甲是玩家身上的一个模型。
放在哪里
资源包
RP/
attachables/
ruby_helmet.json
models/
entity/
ruby_helmet.geo.json
textures/
models/
ruby_armor.png文件内容
identifier 必须与行为包中物品的标识符相同。
RP/attachables/ruby_helmet.json
{
"format_version": "1.10.0",
"minecraft:attachable": {
"description": {
"identifier": "wiki:ruby_helmet",
"materials": {
"default": "armor",
"enchanted": "armor_enchanted"
},
"textures": {
"default": "textures/models/ruby_armor",
"enchanted": "textures/misc/enchanted_actor_glint"
},
"geometry": {
"default": "geometry.humanoid.armor.helmet"
},
"scripts": {
"parent_setup": "variable.helmet_layer_visible = 0.0;"
},
"render_controllers": ["controller.render.armor"]
}
}
}这些字段与客户端实体文件使用的字段相同:
| 字段 | 作用 |
|---|---|
materials | 模型的绘制方式。盔甲使用 armor,其他手持模型通常使用 entity_alphatest。 |
textures | 模型的纹理,不带 .png。 |
geometry | 模型。可以使用 geometry.humanoid.armor.helmet 这样的原版盔甲形状,也可以用你自己的 .geo.json。 |
render_controllers | 哪些纹理和材质搭配在一起。 |
scripts | 绘制物品时运行的 Molang。上面的 parent_setup 会隐藏原版的头盔层。 |
小贴士
- 每个物品一个附着物。一整套盔甲就是四个文件。
- 盔甲纹理是整套共用的一张图,布局与原版的
textures/models/armor/diamond_1.png相同。 - 在模型编辑器中绘制你的模型,导出为
.geo.json,然后在这里使用它的geometry.<name>。