本站文本内容除另有声明外,转载时均必须注明出处,并遵守CC BY-NC-SA 3.0协议。(转载须知
本站是中文Minecraft Wiki的镜像站,与Mojang AB、Gamepedia没有从属关系。(免责声明

数据包

来自Minecraft WIKI
跳到导航 跳到搜索
页面贡献者 :
中文mcwiki机器人
Information icon.png
此特性为Java版独有。

数据包(data pack)系统为玩家进一步定制其Minecraft体验提供了一种新方式。数据包可用于覆盖或添加新的进度维度函数战利品表谓词配方结构标签,而不进行任何代码修改。

行为

数据包可以放在世界的.minecraft/saves/(世界名称)/datapacks文件夹中。数据包可以是datapacks文件夹中的子文件夹或者.zip文件。将其放入文件夹后,将在加载或重新加载世界时为该世界启用数据包。

数据包将根据加载顺序加载其数据。此顺序储存在level.dat中,可以通过/datapack命令查看或修改。

内容

文件夹结构

  • (数据包名字)
    • pack.mcmeta
    • data
      • (命名空间)
        • advancements
          • (进度名称).json
        • functions
          • (函数名称).mcfunction
        • loot_tables
          • (战利品表名称).json
        • predicates
          • (谓词名称).json
        • structures
          • (结构名称).nbt
        • recipes
          • (配方名称).json
        • tags
          • blocks
            • (标签名称).json
          • entity_types
            • (标签名称).json
          • items
            • (标签名称).json
          • fluids
            • (标签名称).json
          • functions
            • (标签名称).json
        • dimension_type
          • (维度命名空间)
            • (维度名称).json
        • dimension
          • (维度)
            • (维度名称).json

data目录下也可以有多个不同的(命名空间)目录。

pack.mcmeta

当根目录中存在一个包含JSON格式数据的pack.mcmeta文件时才能被Minecraft识别为一个数据包。

  • :根对象。
    •  pack:存放数据包信息。
      •  pack_format:数据包版本,可以是任何数字。
      •  description:一段原始JSON文本。在数据包列表下,光标移动到对应的数据包时会显示此处填写的描述。

1.16.1原版数据包里的pack.mcmeta文件:

{
    "pack": {
        "pack_format": 5,
        "description": "The default data for Minecraft"
    }
}

data

参见:命名空间ID

此目录内存放一个或多个“命名空间”目录。“命名空间”目录内可包含以下文件夹:advancementsdimensiondimension_typefunctionsloot_tablespredicatesstructuresrecipestags。命名空间用于区分数据,且命名时名称只识别小写英文字母、数字、-_。为了防止数据包之间发生冲突,建议在制作数据包时,尽量不要使用同样的命名空间。同时,仅当你要覆盖原版数据时,才使用minecraft为数据包的命名空间。

进度、函数、战利品表、谓词、结构、配方和标签文件可以直接放入到对应的文件夹内,当然放入到对应的文件夹下的子文件夹内也是允许且可识别的。

数据包模板

原版数据包的文件结构:

历史

Java版
1.1317w43a加入了数据包。
17w46a加入了/datapack命令,用于控制加载的数据包。
17w48a数据包可读取自定义配方。
18w01a在战利品表中加入了set_name函数。
(重新)加载后的minecraft:load里的函数现在会运行一次。
崩溃报告中现在会列出启用的数据包。
1.1418w43a加入了实体种类标签。
1.1519w38a加入了predicates文件夹,可以在此处定义谓词。
1.1620w22a稍微修改了数据包的加载机制,防止数据包带来的崩溃。
游戏将会检测严重的数据包问题,比如关键标签的缺失,将会阻止世界的加载。
如果数据包加载失败,那么修改将不会被应用,游戏将会使用旧的数据包。
数据包列表仅在数据包成功加载后才会更改。
服务器添加了--safeMode选项让游戏只加载原版数据包。
pre1现在可以在创建世界之前加载数据包。
数据包现在可以添加和修改维度

漏洞

关于“数据包”的漏洞由漏洞追踪器维护,请在此汇报漏洞。

参见