同步官网文档8m_25d

This commit is contained in:
kwiilh
2025-08-25 18:36:29 +08:00
parent 4dc0ecf18d
commit 9e8855eeb4
5089 changed files with 8798 additions and 4799 deletions

View File

@@ -1,5 +1,5 @@
---
front:
front:
hard: 入门
time: 分钟
---
@@ -8,39 +8,38 @@ time: 分钟
## 概述
属于特殊的自定义物品,在支持自定义物品所有特性的基础上,还具有盔甲相关的功能。
自定义盔甲属于特殊的自定义物品,在支持自定义物品所有特性的基础上,还具有盔甲相关的功能。
## 注册
1. 与自定义基础物品的注册1-6步相同
2. custom_item_type为amor
2. custom_item_type需要为armor
3.`behavior/netease_items_beh`的json中添加netease:armor组件,参数详见[json组件](#json组件)
3.`behavior/netease_items_beh`的json中添加[netease:armor](#json组件)组件
```json
{
"format_version": "1.10",
"minecraft:item": {
"description": {
"identifier": "customitems:modarmor1",
"register_to_create_menu":true,
"custom_item_type": "armor"
},
"components": {
"netease:armor":{
"defense": 10,
"enchantment":4,
"armor_slot":0
}
}
}
}
```
```json
{
"format_version": "1.10",
"minecraft:item": {
"description": {
"identifier": "customitems:modarmor1",
"custom_item_type": "armor"
},
"components": {
"netease:armor": {
"defense": 10,
"enchantment":4,
"armor_slot":0
}
}
}
}
```
4. 添加模型贴图到资源包的`textures\models`
与微软内置盔甲贴图一致,自定义盔甲的贴图也需要设置贴图。
与微软内置盔甲贴图一致,自定义盔甲也需要设置贴图。
5.`resource/netease_item_res`目录下创建新json中添加盔甲物品的贴图参数详见自定义物品注册中贴图的设置解释
@@ -87,8 +86,6 @@ time: 分钟
}
```
7. 在`resource/models`目录下增加`entity`目录增加对应的geometry描述文件
可配置的参数主要为根节点描述符`geometry.modid_modarmor1`这个值与上一步中的geometry文件值对应。
@@ -154,24 +151,22 @@ time: 分钟
0.0
]
}
]
}
}
```
## JSON组件
### `netease_item_beh`文件
### netease\_item\_beh文件
**description**
| 键 | 类型 | 默认值 | 解释 |
| -------- | ---- | --------- | ----------------------------------------- |
| category | str | Equipment | 与普通物品不同,盔甲的默认分类是Equipment |
| category | str | equipment | 与普通物品不同,盔甲的默认分类是equipment |
**网易components**
@@ -183,9 +178,7 @@ time: 分钟
| enchantment | int | 0 | 盔甲的附魔能力。该值的解释见[官方wiki](https://zh.minecraft.wiki/w/%E9%99%84%E9%AD%94%EF%BC%88%E7%89%A9%E5%93%81%E4%BF%AE%E9%A5%B0%EF%BC%89) |
| armor_slot | int | | 盔甲槽位,详见<a href="../../../../mcdocs/1-ModAPI/枚举值/ArmorSlotType.html" rel="noopenner"> ArmorSlotType </a> |
| toughness | int | 0 | 盔甲韧性范围0~20详见[盔甲机制](https://zh.minecraft.wiki/w/%E7%9B%94%E7%94%B2%E6%9C%BA%E5%88%B6) |
| knockback_resistance | float | 0 | 击退抗性范围0~1详见[伤害-击退抗性](https://zh.minecraft.wiki/w/%E4%BC%A4%E5%AE%B3#%E5%87%BB%E9%80%80%E6%8A%97%E6%80%A7) |
| knockback_resistance | float | 0.0 | 击退抗性范围0~1详见[伤害-击退抗性](https://zh.minecraft.wiki/w/%E4%BC%A4%E5%AE%B3#%E5%87%BB%E9%80%80%E6%8A%97%E6%80%A7) |
### attachables文件
@@ -198,37 +191,30 @@ time: 分钟
**parent_setup**
微软内置的盔甲对应设置的值为以下几种
为了避免皮肤外层和盔甲形成穿模现象游戏使用了以下4个变量来控制对应部位皮肤外层的显示
> variable.helmet_layer_visible 玩家是否显示
>
> variable.chest_layer_visible 玩家上半身是否显示
>
> variable.leg_layer_visible 玩家腿部是否显示
>
> variable.boot_layer_visible 玩家脚部是否显示
- variable.helmet_layer_visible 玩家头部层是否显示
- variable.chest_layer_visible 玩家上半身层是否显示
- variable.leg_layer_visible 玩家腿部层是否显示
- variable.boot_layer_visible 玩家脚部层是否显示
一般而言,当设置对应的部位的盔甲,需要设置在`scripts/parent_setup ` 设置对应的变量值为0
一般而言,当编写对应的部位的盔甲,需要在`scripts/parent_setup`设置对应的变量值为0
**geometry/default**
**geometry/default**
需要设置成盔甲对应位置的geometry例如`geometry.humanoid.armor.boots`。
| 键 | 说明 |
| ---------------------------------- | ---- |
| geometry.humanoid.armor.boots | 靴子 |
| geometry.humanoid.armor.chestplate | 胸 |
| geometry.humanoid.armor.chestplate | 胸 |
| geometry.humanoid.armor.helmet | 头盔 |
| geometry.humanoid.armor.leggings | 脚部 |
| geometry.humanoid.armor.leggings | 护腿 |
## 附属功能
除了支持自定义物品的所有功能外还支持盔甲的python事件及接口包括OnNewArmorExchangeServerEvent事件及armorslot组件
## demo解释
[CustomItemsMod](../../13-模组SDK编程/60-Demo示例.md#CustomItemsMod)中定义了一个自定义装备:
@@ -237,8 +223,6 @@ time: 分钟
头盔类型的自定义装备
## 自定义模型设置建议
* 盔甲模型的基础参考文件为:`data\resource_packs\vanilla\models`目录下的`mobs.json`文件中的**geometry.humanoid**。
@@ -247,7 +231,7 @@ time: 分钟
* 使用BlockBench制作模型并导出为JSON文件后按照我们提供的装备物品Demo的JSON样式进行调整
需注意的是请尽量使用JSON范例中key的顺序避免出现比较奇怪的Bug。
* 如果Cube和已有的模型或者Cube之间有重叠的面重叠部分可能会无法显示或者闪烁可通过调整每个Cube的`inflate`可为负数来避免这种情况。inflate的作用是让Cube向各个方向膨胀一定数值同时不会影响贴图坐标。
* **注意**:对于溺尸,不能使用`SetArmorNew`接口装备自定义盔甲,该行为会造成游戏闪退。
* **注意**:对于溺尸,不能使用`SetArmorNew`(该接口已废弃)接口装备自定义盔甲,该行为会造成游戏闪退。