开启辅助访问     
收藏本站

站内搜索

搜索

Minecraft(我的世界)苦力怕论坛

[BE教程] 附加包教程第十三期——物品:盔甲基础

 发表于 2022-5-18 06:33:39|显示全部楼层|阅读模式 IP:江苏省
本帖最后由 782 于 2022-5-20 20:44 编辑


物品(六)
盔甲基础

一、前言
制作自定义盔甲非常容易,但你需要做一些其他事情,因为有几个文件需要添加,并且可能涉及一点纹理。
本期教程假定读者已经基本了解第八期(物品:基础)和第十期(物品:武器基础)的内容。
提示:使用此附加包时,必须打开“假日创造者功能”实验性玩法!

二、行为包文件示例(以胸甲为例)
路径:行为包/items/盔甲名称.json
  1. {
  2.     "format_version": "1.16.100",
  3.     "minecraft:item": {
  4.         "description": {
  5.             //唯一标识符
  6.             "identifier": "demo:my_chestplate",
  7.             //让它在“盔甲”分类内
  8.             "category": "equipment"
  9.         },
  10.         //定义物品组件部分
  11.         "components": {
  12.             //把它放在“胸甲”物品组内
  13.             "minecraft:creative_category": {
  14.                 "parent": "itemGroup.name.chestplate"
  15.             },
  16.             //在物品栏中的图标
  17.             "minecraft:icon": {
  18.                 "texture": "my_chestplate"
  19.             },
  20.             //取一个名字
  21.             "minecraft:display_name": {
  22.                 "value": "我的自定义胸甲"
  23.             },
  24.             //设定最大堆叠数量(此处不堆叠)
  25.             "minecraft:max_stack_size": 1,
  26.             //让它可以附魔胸甲类型的魔咒
  27.             "minecraft:enchantable": {
  28.                 "value": 10,
  29.                 "slot": "armor_torso"
  30.             },
  31.             //指定盔甲的护甲值
  32.             "minecraft:armor": {
  33.                 "protection": 5
  34.             },
  35.             //让盔甲变得可修复
  36.             "minecraft:repairable": {
  37.                 "repair_items": [{
  38.                     "items": ["minecraft:stick"],
  39.                     "repair_amount": "context.other->query.remaining_durability + 0.05 * context.other->query.max_durability"
  40.                     //一个复杂的Molang表达式,复制就行了
  41.                 }]
  42.             },
  43.             //定义物品可以穿(放)在那些槽位
  44.             "minecraft:wearable": {
  45.                 "dispensable": true,
  46.                 "slot": "slot.armor.chest"
  47.             },
  48.             //物品耐久度
  49.             "minecraft:durability": {
  50.                 "max_durability": 200
  51.             },
  52.             //击退抗性
  53.             "minecraft:knockback_resistance": {
  54.                 "protection": 0.4
  55.             }
  56.         }
  57.     }
  58. }
复制代码

这里面有一些之前没有了解到的组件:
“minecraft:armor”指定这个物品是一个盔甲。它里面可以包含两个组件:
  • “protection”定义盔甲给予的盔甲值,填写整数。
  • “texture_type”(具体功能未知)定义适用于盔甲的纹理类型,填写字符串。
    可以是以下名称的任意一个:
    none:无
    leather:皮革
    chain:锁链
    iron:铁
    diamond:钻石
    gold:金
    elytra:鞘翅
    turtle:海龟壳
    netherite:下界合金

“minecraft:wearable”定义物品可以放在那些槽位,包含两个内容:
  • “dispensable”定义物品是否可以通过发射器发射至槽位,填写布尔值。
  • “slot”定义物品可以放在那些槽位,填写字符串。
    可以是以下名称中的任意一个:
    slot.weapon.mainhand:主手
    slot.weapon.offhand:副手
    slot.armor.head:头盔
    slot.armor.chest:胸甲
    slot.armor.legs:护腿
    slot.armor.feet:靴子
    slot.saddle:马鞍
    slot.armor:马铠
    slot.hotbar:快捷栏
    slot.inventory:物品栏
    slot.enderchest:末影箱
    slot.chest:生物(驴、骡等)驮的箱子
    slot.equippable:马鞍、马铠或地毯(羊驼)

“minecraft:knockback_resistance”里面的“protection”定义了盔甲的击退抗性,填写浮点数(小数)。
最大值为1.0!

三、物品图标示例(以胸甲为例)
  1. {
  2.     "resource_pack_name": "demo",
  3.     "texture_name": "atlas.items",
  4.     "texture_data": {
  5.         "my_chestplate": {
  6.             "textures": "textures/items/my_chestplate"
  7.         }
  8.     }
  9. }
复制代码

如果不想自己做纹理,本期教程底部有原版所有盔甲(包括头盔、胸甲、护腿和靴子)的物品栏纹理及自定义的部分物品栏纹理。

四、attachables文件(以胸甲为例)
如果将上面的物品加入到游戏,它可以正常显示,也能正常穿戴,但穿戴后在玩家身上不会显示纹理。
这个时候,我们就需要一个 资源包/attachables 文件夹来添加附加纹理。
路径:资源包/attachables/物品名称.json
示例:
  1. {
  2.     "format_version": "1.8.0",
  3.     "minecraft:attachable": {
  4.         "description": {
  5.             "identifier": "demo:my_chestplate",
  6.             //这两个是默认的,必须添加
  7.             "materials": {
  8.                 "default": "armor",
  9.                 "enchanted": "armor_enchanted"
  10.             },
  11.             "textures": {
  12.                 //这是我们盔甲纹理(用于模型)的路径
  13.                 "default": "textures/models/armor/my_armor_5_1",
  14.                 //这个文件是附魔纹理,在我们的资源包中不存在
  15.                 //但不添加的话可能会崩溃,把它放在那就行了
  16.                 "enchanted": "textures/misc/enchanted_item_glint"
  17.             },
  18.             //这个指定了模型
  19.             "geometry": {
  20.                 "default": "geometry.player.armor.chestplate"
  21.             },
  22.             //隐藏玩家身体的外层纹理
  23.             "scripts": {
  24.                 "parent_setup": "variable.chest_layer_visible = 0.0;"
  25.             },
  26.             //指定了物品将使用什么渲染控制器
  27.             "render_controllers": ["controller.render.armor"]
  28.         }
  29.     }
  30. }
复制代码

重点内容:
“description”中的“identifier”必须要与盔甲的标识符相同,以将其关联在一起。

“geometry”在本期会用到的是:
geometry.player.armor.helmet:玩家头盔模型
geometry.player.armor.chestplate:玩家胸甲模型
geometry.player.armor.leggings:玩家护腿模型
geometry.player.armor.boots:玩家靴子模型
拓展:
geometry.humanoid.armor.helmet:生物头盔纹理
geometry.humanoid.armor.chestplate:生物胸甲纹理
geometry.humanoid.armor.leggings:生物护腿模型
geometry.humanoid.armor.boots:生物靴子模型

此时,我们需要确保为我们的模型创建一个纹理,这些纹理存在于在 资源包/textures/models/armor中。
我们实际上需要2个纹理,一种是主盔甲,包含胸甲、头盔和靴子,另一种是护腿,单独佩戴时通常会覆盖一些靴子区域。
如果不想自己做纹理,本期教程底部有原版所有盔甲(包括头盔、胸甲、护腿和靴子)的模型纹理及自定义的部分模型纹理。

五、效果展示
C51006B8-253B-4979-99C9-486AB36915A8.jpeg
本教程仅以盔甲为例,但在本期教程底部可以找到更多盔甲的范例

六、本期文件下载
盔甲纹理合集:  盔甲纹理合集.zip(62.69 KB, 下载次数: 47)
盔甲文件示例合集:  盔甲文件示例合集.zip(9.68 KB, 下载次数: 65)

预告:下一期会教大家如何用多套盔甲执行事件
大家的打赏是对楼主最好的鼓励!
附加包教程系列导航
上一期  下一期

苦力怕论坛,感谢有您~
 楼主|  发表于 2022-5-19 20:59:28|显示全部楼层 IP:江苏省
@lpyqzMinecraft
@泥黑木大跌
你们怎么不更了?
2#2022-5-19 20:59:28回复收起回复
苦力怕论坛,感谢有您~
 发表于 2022-5-19 21:02:07 来自手机|显示全部楼层 IP:吉林省
782 发表于 2022-5-19 20:59
@lpyqzMinecraft
@泥黑木大跌
你们怎么不更了?

真的,你们都的太厉害了。一个比一个能卷

3#2022-5-19 21:02:07回复收起回复
苦力怕论坛,感谢有您~
 楼主|  发表于 2022-5-19 21:05:42|显示全部楼层 IP:江苏省
lpyqzMinecraft 发表于 2022-5-19 21:02
真的,你们都的太厉害了。一个比一个能卷


我快的时候一天两更
满的时候一周一更
4#2022-5-19 21:05:42回复收起回复
苦力怕论坛,感谢有您~
 发表于 2022-5-19 21:06:37 来自手机|显示全部楼层 IP:吉林省
782 发表于 2022-5-19 21:05
我快的时候一天两更
满的时候一周一更

主要是懒的板牌。
5#2022-5-19 21:06:37回复收起回复
苦力怕论坛,感谢有您~
 发表于 2022-10-2 16:01:57 来自手机|显示全部楼层 IP:河北省
不知道难不难……
6#2022-10-2 16:01:57回复收起回复
苦力怕论坛,感谢有您~
 发表于 2023-1-19 19:30:25 来自手机|显示全部楼层 IP:0
666666666666666
7#2023-1-19 19:30:25回复收起回复
苦力怕论坛,感谢有您~
 发表于 2023-9-23 08:43:46 来自手机|显示全部楼层 IP:贵州省
782 发表于 2022-5-19 20:59
@lpyqzMinecraft
@泥黑木大跌
你们怎么不更了?

忙不过来了
8#2023-9-23 08:43:46回复收起回复
苦力怕论坛,感谢有您~
 发表于 2023-10-3 11:43:27 来自手机|显示全部楼层 IP:湖南省
66666666666
9#2023-10-3 11:43:27回复收起回复
苦力怕论坛,感谢有您~
 发表于 2023-12-2 17:43:00 来自手机|显示全部楼层 IP:河南
:::::::::::::
10#2023-12-2 17:43:00回复收起回复
苦力怕论坛,感谢有您~

本版积分规则

本站
关于我们
联系我们
坛史纲要
官方
哔哩哔哩
技术博客
下载
网易版
安卓版
JAVA
反馈
意见建议
教程中心
更多
捐助本站
QQ群
QQ群

QQ群

访问手机版

访问手机版

手机版|小黑屋|系统状态|klpbbs.com

粤公网安备 44200002445329号 | 由 木韩网络 提供支持 | GMT+8, 2024-11-22 06:50

声明:本站与Mojang以及微软公司没有从属关系

Powered by Discuz! X3.4 粤ICP备2023071842号-3