营火的方块实体

来自Hyacinth
草awa留言 | 贡献2023年11月30日 (四) 16:49的版本 (Undo revision 2113 by Cao awa (talk))
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转到导航 跳转到搜索

营火的方块实体是一个参加游戏刻的方块实体,它用以存储营火与灵魂营火中正在烹饪的食物及烹饪的进度。

NBT数据

NBT数据以表格形式展现如下所示:

值类型 存在条件 描述
CookingTimes - 整数数组 始终存在 对应物品已烹饪的时间,数组长度为4
CookingTotalTimes - 整数数组 始终存在 对应物品所需的烹饪时间,数组长度为4
Items
物品栏是一个列表,每个元素都是NBT对象,有这些数据:
值类型 存在条件 描述
Slot - 字节 始终存在 当前物品在物品栏中的下标
id - 标识符 始终存在 当前物品的标识符
Count - 字节 始终存在 当前物品的数量
tag - NBT 当物品存在NBT时 当前物品的NBT数据
数组 始终存在 以NBT存储的物品数组
以JSON格式的营火的方块实体的NBT数据示例
{
    "CookingTimes": [
        10,
        20,
        30,
        40
    ],
    "CookingTotalTimes": [
        100,
        100,
        100,
        100
    ],
    "Items": [
        {
            "Slot": 0,
            "id": "minecraft:beef",
            "Count": 1
        },
        {
            "Slot": 1,
            "id": "minecraft:chicken",
            "Count": 1,
            "tag": {
                "awa": "anything data"
            }
        }
    ]
}

刻任务

服务端

在营火点燃时每刻为烹饪进度值加1,在完成时生成产物并清除已烹饪完成的物品,而在熄灭时,则每刻为烹饪进度值减2。

客户端

在营火点燃时随机生成粒子,每刻生成 (0~1)+2 个粒子,若营火为信号营火则生成的是minecraft:campfire_signal_smoke粒子,否则生成minecraft:campfire_cosy_smoke粒子,除此之外如果有物品正在烹饪中,还会每刻生成 (物品数量)*4 个minecraft:smoke粒子。