<本站文本内容除另有声明外,转载时均必须注明出处。(详情…中文Minecraft Wiki是完全公开的。请勇于扩充与修正内容!Minecraft中文Wiki微博正在更新!或许有兴趣去看看想与其他用户进行编辑上的沟通?社区专页正是为此创建的。翻译或创建页面之前,不妨看看译名标准化Wiki条例页面。需要管理员的协助?在管理员告示板留言也许可以帮到您。>

数据包

来自Minecraft Wiki
跳转至: 导航搜索
Information icon.svg
此特性为Java版独有。

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

行为[编辑 | 编辑源代码]

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

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

内容[编辑 | 编辑源代码]

文件夹结构[编辑 | 编辑源代码]

  • (数据包名字)
    • pack.mcmeta
    • pack.png
    • 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
        • worldgen
          • biome
            • (生物群系).json
          • configured_carver
            • (雕刻器).json
          • configured_feature
            • (地物).json
          • configured_structure_feature
            • (结构特征).json
          • configured_surface_builder
            • (地表生成器).json
          • noise_settings
            • (噪声设置).json
          • processor_list
            • (方块处理器).json
          • template_pool
            • (拼图池).json

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

pack.mcmeta[编辑 | 编辑源代码]

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

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

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

{
    "pack": {
        "pack_format": 6,
        "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现在可以在创建世界之前加载数据包。
数据包现在可以添加和修改维度

漏洞[编辑 | 编辑源代码]

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

参见[编辑 | 编辑源代码]