1. Wiki
  2. /物品
  3. /自定义盔甲

自定义盔甲

为 Minecraft Bedrock 制作一套红宝石盔甲:护甲值、耐久度、附魔和修复,以及把盔甲绘制到玩家身上的附着物。

在本指南中,你将制作一件红宝石胸甲,并学会把它扩展成完整的四件套。盔甲是第一种行为包和资源包都要承担重要工作的物品:BP 决定它提供多少保护,RP 决定它穿在玩家身上的样子,而不只是物品栏里的样子。

本指南建立在你的第一个自定义物品的基础上。如果你还不熟悉图标、纹理和 lang 文件,请先阅读那篇。

快捷方式:GodCraft

GodCraft 会一次做好全部四件,包括穿戴外观,让你跳过本指南中最麻烦的文件。

  1. 打开工坊,在你的附加包中添加一个盔甲。
  2. 在像素编辑器中绘制图标和穿戴纹理。
  3. 为每一件设置护甲值、耐久度和修复材料。
  4. 点击导出,然后在游戏中试穿这套盔甲。

准备好看文件了吗?我们开始吧。

盔甲的工作原理

每件盔甲都需要三样东西:

部分包作用
物品文件BP放在哪个槽位、提供多少保护、耐久度
图标RP物品栏中的小图片
附着物RP穿戴时绘制在身上的 3D 模型和纹理

我们使用命名空间 myname。请在所有地方把它换成你自己的。

手动制作

第 1 步:物品文件

BP/items/ruby_chestplate.json
{
  "format_version": "1.26.30",
  "minecraft:item": {
    "description": {
      "identifier": "myname:ruby_chestplate",
      "menu_category": {
        "category": "equipment",
        "group": "minecraft:itemGroup.name.chestplate"
      }
    },
    "components": {
      "minecraft:icon": {
        "textures": {
          "default": "myname_ruby_chestplate"
        }
      },
      "minecraft:display_name": {
        "value": "item.myname:ruby_chestplate.name"
      },
      "minecraft:max_stack_size": 1,
      "minecraft:wearable": {
        "slot": "slot.armor.chest",
        "protection": 7
      },
      "minecraft:durability": {
        "max_durability": 500
      },
      "minecraft:enchantable": {
        "slot": "armor_torso",
        "value": 12
      },
      "minecraft:repairable": {
        "repair_items": [
          {
            "items": ["myname:ruby"],
            "repair_amount": "query.max_durability * 0.25"
          }
        ]
      },
      "minecraft:tags": {
        "tags": ["minecraft:is_armor"]
      }
    }
  }
}

重点部分:

第 2 步:另外三件

把胸甲文件复制三份,在每份中修改这些值:

部位slot(wearable)slot(enchantable)钻石盔甲的护甲值,供对比
头盔slot.armor.headarmor_head3
胸甲slot.armor.chestarmor_torso8
护腿slot.armor.legsarmor_legs6
靴子slot.armor.feetarmor_feet3

记得同时修改标识符、图标和显示名称,并选择对应的创造模式分组(用 helmet、leggings 或 boots 代替 chestplate)。

第 3 步:穿戴纹理

穿在身上的盔甲使用一张和图标不同的、更大的纹理。它的布局和原版盔甲文件一样:一张包裹身体的 64x32 PNG。原版把每套盔甲分成两层:

  • 第 1 层(ruby_1.png):头盔、胸甲和靴子。
  • 第 2 层(ruby_2.png):护腿。
RP/textures/models/armor/ruby_1.png
64x32 PNG: the helmet, chestplate and boots parts
RP/textures/models/armor/ruby_2.png
64x32 PNG: the leggings parts

要把布局弄对,最简单的方法是以原版的 diamond_1.png 和 diamond_2.png 为基础,在上面重新绘制。绘制技巧见像素纹理。

第 4 步:附着物

附着物告诉游戏,物品被穿戴或手持时要在玩家身上画什么。在资源包中创建一个 attachables 文件夹:

RP/attachables/ruby_chestplate.json
{
  "format_version": "1.10.0",
  "minecraft:attachable": {
    "description": {
      "identifier": "myname:ruby_chestplate",
      "materials": {
        "default": "armor",
        "enchanted": "armor_enchanted"
      },
      "textures": {
        "default": "textures/models/armor/ruby_1",
        "enchanted": "textures/misc/enchanted_actor_glint"
      },
      "geometry": {
        "default": "geometry.humanoid.armor.chestplate"
      },
      "scripts": {
        "parent_setup": "variable.chest_layer_visible = 0.0;"
      },
      "render_controllers": ["controller.render.armor"]
    }
  }
}

逐行解释:

  1. identifier 必须和物品 ID 完全一致。游戏就是靠它把附着物和物品关联起来的。
  2. materials 和 enchanted 纹理让盔甲附魔后显示紫色光效。
  3. textures.default 是你的穿戴纹理,不带 .png。
  4. geometry 使用内置的原版盔甲模型,所以你不需要自己做 3D 模型。
  5. parent_setup 隐藏该身体部位的原版盔甲层,这样就不会有东西画在你的盔甲上面。
  6. render_controllers 使用原版盔甲控制器。

其他几件需要修改三个值:

部位geometryparent_setup纹理
头盔geometry.humanoid.armor.helmetvariable.helmet_layer_visible = 0.0;ruby_1
胸甲geometry.humanoid.armor.chestplatevariable.chest_layer_visible = 0.0;ruby_1
护腿geometry.humanoid.armor.leggingsvariable.leg_layer_visible = 0.0;ruby_2
靴子geometry.humanoid.armor.bootsvariable.boot_layer_visible = 0.0;ruby_1

第 5 步:图标和名称

在 item_texture.json(texture_data 内)中为每件添加一个图标,并把 16x16 的图标保存到 RP/textures/items/:

RP/textures/item_texture.json
"myname_ruby_helmet": { "textures": "textures/items/ruby_helmet" },
"myname_ruby_chestplate": { "textures": "textures/items/ruby_chestplate" },
"myname_ruby_leggings": { "textures": "textures/items/ruby_leggings" },
"myname_ruby_boots": { "textures": "textures/items/ruby_boots" }
RP/texts/en_US.lang
item.myname:ruby_helmet.name=Ruby Helmet
item.myname:ruby_chestplate.name=Ruby Chestplate
item.myname:ruby_leggings.name=Ruby Leggings
item.myname:ruby_boots.name=Ruby Boots

测试

  1. 把包加载到世界中(见导出与安装)。
  2. 对每一件运行 /give,例如 /give @s myname:ruby_chestplate。
  3. 穿上它,看看护甲栏。在电脑上按 F5,或在设置中切换视角,从外面看看效果。

盔甲看不见?

如果护甲栏增加了但看不到盔甲,说明 BP 没问题,问题出在附着物上。检查附着物的 identifier 是否和物品 ID 一致,以及纹理路径是否正确。

出问题时

你看到的现象最可能的原因
穿不上缺少 minecraft:wearable,或 slot 拼错了
穿上后看不见附着物的标识符或纹理路径错误
看起来乱七八糟穿戴纹理的布局和原版 64x32 盔甲纹理不一样,或这件用错了层
身上是粉黑色附着物中的纹理路径指向了不存在的文件

更多解决方法见故障排查。接下来,可以在合成与熔炉配方中让玩家合成这套盔甲,或者搭配一把红宝石剑。

物品: 指南

We use cookies to improve your experience and analyse site traffic. Learn more