自定义盔甲
TIP
强烈建议在开始本教程前,先阅读初学者指南中的Blockbench建模与贴图章节。
制作自定义盔甲出人意料地简单。虽然需要添加几个文件并进行一些贴图调整,但你可以根据自己的需求自由发挥。
胸甲制作
创建胸甲部件:
BP/items/my_chest.json
json
{
"format_version": "1.21.70",
"minecraft:item": {
"description": {
"identifier": "wiki:my_chest",
// 注意这里指定了装备分类
"menu_category": {
"category": "equipment",
"group": "minecraft:itemGroup.name.chestplate"
}
},
"components": {
// 物品栏显示的图标
"minecraft:icon": "wiki:my_chest",
// 自定义名称
"minecraft:display_name": {
"value": "我的自定义盔甲"
},
// 禁止堆叠
"minecraft:max_stack_size": 1,
// 仅允许胸甲类附魔
"minecraft:enchantable": {
"value": 10,
"slot": "armor_torso"
},
// 可修复设置及修复材料
"minecraft:repairable": {
"repair_items": [
{
"items": ["minecraft:stick"],
"repair_amount": "context.other->q.remaining_durability + 0.05 * context.other->q.max_durability"
// 复杂molang表达式,直接复制即可
}
]
},
// 标记为可穿戴装备并指定胸部插槽
"minecraft:wearable": {
"slot": "slot.armor.chest",
"protection": 5
},
// 耐久度设置
"minecraft:durability": {
"max_durability": 200
}
}
}
}此时你只需在RP/textures/item_texture.json中添加键为my_chest的物品贴图即可。我们也提供了默认贴图供参考:

添加附着物
当前物品虽可穿戴但无外观显示,需要创建附着物配置:
RP/attachables/my_chest.json
json
{
"format_version": "1.8.0",
"minecraft:attachable": {
"description": {
"identifier": "wiki:my_chest",
// 必需材质设置
"materials": {
"default": "armor",
"enchanted": "armor_enchanted"
},
"textures": {
// 自定义盔甲贴图路径
"default": "textures/models/armor/custom_main",
// 原版附魔光效贴图
"enchanted": "textures/misc/enchanted_actor_glint"
},
// 使用胸甲几何模型
"geometry": {
"default": "geometry.player.armor.chestplate"
},
// 隐藏默认胸甲层
"scripts": {
"parent_setup": "v.chest_layer_visible = 0.0;"
},
// 使用标准盔甲渲染控制器
"render_controllers": ["controller.render.armor"]
}
}
}需要在RP/textures/models/armor路径下准备两种贴图:主盔甲贴图和腿部专用贴图。我们提供了重着色钻石盔甲贴图:


实际开发中建议使用Blockbench预览模型效果。现在游戏中即可看到穿戴效果:


护腿制作
护腿配置与胸甲类似:
BP/items/my_leggings.json
json
{
"format_version": "1.21.70",
"minecraft:item": {
"description": {
"identifier": "wiki:my_leggings",
"menu_category": {
"category": "equipment",
"group": "minecraft:itemGroup.name.leggings"
}
},
"components": {
"minecraft:icon": "wiki:my_leggings",
"minecraft:display_name": {
"value": "我的自定义护腿"
},
"minecraft:max_stack_size": 1,
// 腿部专属附魔
"minecraft:enchantable": {
"value": 10,
"slot": "armor_legs"
},
"minecraft:repairable": {
"repair_items": [
{
"items": ["minecraft:stick"],
"repair_amount": "context.other->q.remaining_durability + 0.05 * context.other->q.max_durability"
}
]
},
// 腿部装备槽
"minecraft:wearable": {
"slot": "slot.armor.legs",
"protection": 3
},
"minecraft:durability": {
"max_durability": 200
}
}
}
}护腿物品贴图:

附着物配置:
RP/attachables/my_leggings.json
json
{
"format_version": "1.8.0",
"minecraft:attachable": {
"description": {
"identifier": "wiki:my_leggings",
"materials": {
"default": "armor",
"enchanted": "armor_enchanted"
},
"textures": {
"enchanted": "textures/misc/enchanted_actor_glint",
// 使用腿部专用贴图
"default": "textures/models/armor/custom_legs"
},
// 护腿几何模型
"geometry": {
"default": "geometry.humanoid.armor.leggings"
},
// 隐藏默认腿部层
"scripts": {
"parent_setup": "v.leg_layer_visible = 0.0;"
},
"render_controllers": ["controller.render.armor"]
}
}
}头盔制作
头盔配置示例:
BP/items/my_helm.json
json
{
"format_version": "1.21.70",
"minecraft:item": {
"description": {
"identifier": "wiki:my_helm",
"menu_category": {
"category": "equipment",
"group": "minecraft:itemGroup.name.helmet"
}
},
"components": {
"minecraft:icon": "wiki:my_helm",
"minecraft:display_name": {
"value": "我的自定义头盔"
},
"minecraft:max_stack_size": 1,
// 头部附魔槽
"minecraft:enchantable": {
"value": 10,
"slot": "armor_head"
},
"minecraft:repairable": {
"repair_items": [
{
"items": ["minecraft:stick"],
"repair_amount": "context.other->q.remaining_durability + 0.05 * context.other->q.max_durability"
}
]
},
// 头部装备槽
"minecraft:wearable": {
"slot": "slot.armor.head",
"protection": 3
},
"minecraft:durability": {
"max_durability": 200
}
}
}
}头盔物品贴图:

附着物配置:
RP/attachables/my_helm.json
json
{
"format_version": "1.8.0",
"minecraft:attachable": {
"description": {
"identifier": "wiki:my_helm",
"materials": {
"default": "armor",
"enchanted": "armor_enchanted"
},
"textures": {
"default": "textures/models/armor/custom_main",
"enchanted": "textures/misc/enchanted_actor_glint"
},
// 头盔几何模型
"geometry": {
"default": "geometry.player.armor.helmet"
},
// 隐藏默认头盔层
"scripts": {
"parent_setup": "v.helmet_layer_visible = 0.0;"
},
"render_controllers": ["controller.render.armor"]
}
}
}靴子制作
靴子完整配置:
BP/items/my_boots.json
json
{
"format_version": "1.21.70",
"minecraft:item": {
"description": {
"identifier": "wiki:my_boots",
"menu_category": {
"category": "equipment",
"group": "minecraft:itemGroup.name.boots"
}
},
"components": {
"minecraft:icon": "wiki:my_boots",
"minecraft:display_name": {
"value": "我的自定义靴子"
},
"minecraft:max_stack_size": 1,
// 足部附魔
"minecraft:enchantable": {
"value": 10,
"slot": "armor_feet"
},
"minecraft:repairable": {
"repair_items": [
{
"items": ["minecraft:stick"],
"repair_amount": "context.other->q.remaining_durability + 0.05 * context.other->q.max_durability"
}
]
},
// 足部装备槽
"minecraft:wearable": {
"slot": "slot.armor.feet",
"protection": 3
},
"minecraft:durability": {
"max_durability": 200
}
}
}
}靴子物品贴图:

附着物配置:
RP/attachables/my_boots.json
json
{
"format_version": "1.8.0",
"minecraft:attachable": {
"description": {
"identifier": "wiki:my_boots",
"materials": {
"default": "armor",
"enchanted": "armor_enchanted"
},
"textures": {
"default": "textures/models/armor/custom_main",
"enchanted": "textures/misc/enchanted_actor_glint"
},
// 靴子几何模型
"geometry": {
"default": "geometry.player.armor.boots"
},
// 隐藏默认靴子层
"scripts": {
"parent_setup": "v.boot_layer_visible = 0.0;"
},
"render_controllers": ["controller.render.armor"]
}
}
}现在你已拥有全套自定义盔甲!虽然可以使用多个贴图,但为节省内存建议尽量复用。

进阶技巧 - 套装效果
通过player.json实现RPG式套装效果。以下示例实现受击时概率传送攻击者:
BP/entities/player.json#components
json
"minecraft:damage_sensor": {
"triggers": {
"on_damage": {
"filters": {
"all_of": [
{
"test": "has_equipment",
"subject": "self",
"domain": "head",
"value": "wiki:my_helm"
},
// 其他部位检查...
]
},
"event": "wiki:armor_sets.my_custom.taken_damage"
},
"deals_damage": true
}
}事件响应配置:
BP/entities/player.json#events
json
"wiki:armor_sets.my_custom.taken_damage": {
"randomize": [
{
"weight": 1,
"sequence": [
{
"queue_command": {
"command": "spreadplayers ~~ 5 20 @s",
"target": "other"
}
},
{
"queue_command": {
"command": "tellraw @s{\"rawtext\":[{\"text\":\"§a盔甲发光,敌人消失了!\"}]}"
}
}
]
},
{
"weight": 20
}
]
}通过此机制可扩展更多互动效果,如检测攻击者装备或特定方块实体触发不同响应。











