# 基本属性

在接下来的章节中,我们以先在《我的世界》开发工作台编辑器中添加属性,然后打开具体路径来观察JSON文件的方式回顾学习各种自定义对象的JSON文件写法。接下来,我们先回顾之前的自定义奖励物品。我们首先学习各类常见的基本属性。

# 在编辑器中添加

image-20240922153858628

我们在编辑器中添加一个标识符为test:test_item的物品。

image-20240922154442254

我们在“行为包属性”中添加如上图所示属性。

image-20240922154544067

我们在“资源包”属性中添加如上图所示属性。这样,我们便通过编辑器添加了一些常用的基本属性。

# 实际文件

然后我们一起来查看自定义物品的实际文件。物品分为客户端和服务端两个文件,客户端文件在资源包的netease_items_res文件夹中,服务端文件在行为包的netease_items_beh文件夹中。

我们打开资源包中的客户端文件,查看如下:

{
    "format_version": "1.10",
    "minecraft:item": {
        "components": {
            "minecraft:icon": "test:test_item",
            "minecraft:use_animation": "eat"
        },
        "description": {
            "category": "Construction",
            "identifier": "test:test_item",
            "register_to_create_menu": true
        }
    }
}

行为包中的服务端文件,查看如下:

{
    "format_version": "1.10",
    "minecraft:item": {
        "components": {
            "minecraft:max_damage": 0,
            "minecraft:max_stack_size": 64,
            "minecraft:use_duration": 0.0,
            "netease:allow_offhand": {
                "value": true
            },
            "netease:cooldown": {
                "category": "",
                "duration": 0
            },
            "netease:enchant_material": {
                "value": true
            },
            "netease:fire_resistant": {
                "value": true
            },
            "netease:fuel": {
                "duration": 0
            },
            "netease:show_in_hand": {
                "value": true
            }
        },
        "description": {
            "category": "Construction",
            "identifier": "test:test_item"
        }
    }
}

format_version代表该文件的格式版本,控制接口字段的结构。在minecraft:item对象下,有两个对象,description对象定义了物品的标识符和分类,components对象定义了物品的组件,对应编辑器中的“属性”。

有些组件本身直接就是一个值,例如上面行为包中的minecraft:max_damage等。有些组件本身是一个对象,对象中定义了该属性的各个子属性,例如netease:cooldown等。

关于基本属性中各个组件的含义和用法,可以参见官方文档自定义基础物品 (opens new window)

在编辑器中添加

实际文件