# 制作一个新盔甲
在本节中,我们将一起新建一个盔甲,使其具备一定的防御能力。
# 创建配置
我们打开我的世界开发工作台的编辑器,通过创建配置的方式快速创建一个新物品。
我们以“自定义盔甲”为基础,这样便可以创建一个盔甲。
我们可以看到,盔甲相比于其他物品,多出了一个盔甲穿戴属性栏。这里便是盔甲的附着物(Attachable,挂件)定义的位置。
# 更改属性
我们先着眼于行为包组件。我们可以看到,盔甲具有一个“盔甲属性”组件,其本质是JSON中的netease:armor
组件。该组件可以做到修改盔甲的护甲值(Armor Value)和附魔能力等。
对于盔甲的附着物,其JSON文件存放在资源包的attachables
文件夹中。它的定义文件与实体的资源包定义文件几乎一致,只不过它只有那么一个资源包定义。附着物的作用是单纯显示一个没有行为逻辑的模型,比如玩家身上穿着的盔甲模型。因此它只需要一个资源包定义文件。
我们将该物品对应的JSON文件的示例放出供大家参考。首先是行为包定义文件。
{
"format_version": "1.10",
"minecraft:item": {
"description": {
"category": "Equipment",
"identifier": "tutorial_demo:armor",
"custom_item_type": "armor",
"register_to_create_menu": true
},
"components": {
"minecraft:max_damage": 10,
"netease:armor": {
"armor_slot": 1,
"defense": 20,
"enchantment": 10
}
}
}
}
然后是资源包。
{
"format_version": "1.10",
"minecraft:item": {
"description": {
"identifier": "tutorial_demo:armor"
},
"components": {
"minecraft:icon": "tutorial_demo:armor"
}
}
}
附着物的定义文件也非常简单,因为这种格式我们之前在第八章中就已经充分学习过了。
{
"format_version": "1.8.0",
"minecraft:attachable": {
"description": {
"identifier": "tutorial_demo:armor",
"geometry": {
"default": "geometry.humanoid.armor.chestplate"
},
"materials": {
"default": "armor",
"enchanted": "armor_enchanted"
},
"textures": {
"default": "textures/models/armor/diamond_1",
"enchanted": "textures/misc/enchanted_item_glint"
},
"render_controllers": [
"controller.render.armor"
],
"scripts": {
"parent_setup": "variable.chest_layer_visible = 0.0;"
}
}
}
}
在下一节的挑战中,我们将为这个物品添加一个3D模型,这将用到我们的附着物功能。
https://nie.res.netease.com/r/pic/20211104/69055361-2e7a-452f-8b1a-f23e1262a03a.jpg
高级
15分钟
← 制作一个新武器 挑战:制作一个3D盔甲 →