# 工具

在本节中,我们学习工具的自定义物品JSON文件。

# 在编辑器中添加

image-20240922162331823

我们创建一个标识符为test:test_tool的物品。

image-20240922162434988

我们为其添加minecraft:max_stack_sizeminecraft:max_damagenetease:weapon属性。在后面我们可以看到,这三个属性本质上是三种组件。

image-20240922163544729

然后在武器属性这里我们把所有的子属性都添加上。

image-20240922164206394

接着,我们在基础属性中添加custom_item_type

image-20240922164243832

并确认值为weapon。这样,我们便添加了一个自定义工具的基本配置。你可以先在编辑器中进行一些修改,也可以直接打开JSON修改。

# 实际文件

由于以上自定义的属性都位于行为包,这里我们只展示行为包文件的内容:

{
    "format_version": "1.10",
    "minecraft:item": {
        "components": {
            "minecraft:max_damage": 0,
            "minecraft:max_stack_size": 64,
            "netease:weapon": {
                "attack_damage": 0,
                "enchantment": 0,
                "level": 0,
                "speed": 0,
                "type": "hoe"
            }
        },
        "description": {
            "category": "Construction",
            "custom_item_type": "weapon",
            "identifier": "test:test_tool"
        }
    }
}

minecraft:max_damage组件是一个整数,代表该工具的最大耐久值。我们可以在JSON中手动将其更改到更高的值。

minecraft:max_stack_size是该工具的最大堆叠数,这里的默认值64是有问题的,我们必须将其更改到1,因为工具应默认不可堆叠。

netease:weapon是网易自己添加的组件,可以用于定义原版的五种工具:剑、镐、斧、锹、锄。具体属性可以至官方文档自定义武器及工具 (opens new window)处查看。

description中的custom_item_type是用于自定义特殊物品用的,这里值为weapon,用于和netease:weapon组件相配合。你依旧可以在上面提及的自定义武器及工具页面找到它的相关信息。

在编辑器中添加

实际文件