This commit is contained in:
boybook
2025-12-01 20:59:16 +08:00
parent 12738a142c
commit 760c2dd9ad
5535 changed files with 21070 additions and 2021 deletions

View File

@@ -0,0 +1,98 @@
---
front: https://nie.res.netease.com/r/pic/20211104/69055361-2e7a-452f-8b1a-f23e1262a03a.jpg
hard: 高级
time: 15分钟
---
# 制作一个新盔甲
在本节中,我们将一起新建一个盔甲,使其具备一定的防御能力。
## 创建配置
我们打开我的世界开发工作台的编辑器,通过创建**配置**的方式快速创建一个新物品。
![](./images/9.4_armor_create.png)
我们以“**自定义盔甲**”为基础,这样便可以创建一个盔甲。
![](./images/9.4_armor_created.png)
我们可以看到,盔甲相比于其他物品,多出了一个盔甲穿戴属性栏。这里便是盔甲的**附着物****Attachable*****挂件***)定义的位置。
## 更改属性
我们先着眼于行为包组件。我们可以看到,盔甲具有一个“**盔甲属性**”组件其本质是JSON中的`netease:armor`组件。该组件可以做到修改盔甲的**护甲值****Armor Value**)和附魔能力等。
对于盔甲的附着物其JSON文件存放在资源包的`attachables`文件夹中。它的定义文件与实体的资源包定义文件几乎一致,只不过它只有那么一个资源包定义。附着物的作用是单纯显示一个没有行为逻辑的模型,比如玩家身上穿着的盔甲模型。因此它只需要一个资源包定义文件。
我们将该物品对应的JSON文件的示例放出供大家参考。首先是行为包定义文件。
```json
{
"format_version": "1.10",
"minecraft:item": {
"description": {
"category": "Equipment",
"identifier": "tutorial_demo:armor",
"custom_item_type": "armor"
},
"components": {
"minecraft:max_damage": 10,
"netease:armor": {
"armor_slot": 1,
"defense": 20,
"enchantment": 10
}
}
}
}
```
然后是资源包。
```json
{
"format_version": "1.10",
"minecraft:item": {
"description": {
"identifier": "tutorial_demo:armor"
},
"components": {
"minecraft:icon": "tutorial_demo:armor"
}
}
}
```
附着物的定义文件也非常简单,因为这种格式我们之前在第八章中就已经充分学习过了。
```json
{
"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模型这将用到我们的附着物功能。