Minecraft Wiki

除另有声明,转载时均必须注明出处若簡繁轉換出錯,請以遊戲內為準请勇于扩充与修正内容有兴趣逛逛我们的微博沟通交流,欢迎到社区专页需要协助,请在告示板留言

了解更多

Minecraft Wiki
Advertisement
Information icon
此特性为Java版独有。

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

行为

数据包可以放在世界的.minecraft/saves/(世界名称)/datapacks文件夹中。数据包可以是datapacks文件夹中的子文件夹或者.zip文件

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

内容

文件夹结构

  • (数据包名字)
    • pack.mcmeta
    • data
      • (命名空间)
        • advancements
          • (进度名称).json
        • functions
          • (函数名称).mcfunction
        • loot_tables
          • (战利品表名称).json
        • predicates[新增:Lua错误:bad argument #1 to 'lc' (string expected, got nil)。]
          • (断言名称).json
        • structures
          • (结构名称).nbt
        • recipes
          • (配方名称).json
        • tags
          • blocks
            • (标签名称).json
          • entity_types
            • (标签名称).json
          • items
            • (标签名称).json
          • fluids
            • (标签名称).json
          • functions
            • (标签名称).json

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

pack.mcmeta

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

    •  pack:存放数据包信息。
      •  pack_format:数据包版本,可以是任何数字。
      •  description:一段描述,此字段必须存在但是可以为空。在数据包列表下,光标移动到对应的数据包时会显示描述。
      •  description:包含原始JSON文本。与上方字符串格式的description标签功能相同,两者不能同时存在。

data

此目录内存放一个或多个“命名空间”目录。“命名空间”目录内可包含以下文件夹:advancementsfunctionsloot_tablespredicates[新增:Lua错误:bad argument #1 to 'lc' (string expected, got nil)。]structuresrecipestags。命名空间用于区分数据,且命名时名称只识别小写英文字母、数字、-_。为了防止数据包之间发生冲突,建议在制作数据包时,尽量不要使用同样的命名空间。同时,仅当你要覆盖原版数据时,才使用minecraft为数据包的命名空间。

进度、函数、战利品表、断言[新增:Lua错误:bad argument #1 to 'lc' (string expected, got nil)。]、结构、配方和标签文件可以直接放入到对应的文件夹内,当然放入到对应的文件夹下的子文件夹内也是允许且可识别的。

历史

Java版
1.1317w43a加入了数据包。
17w46a加入了/datapack命令,用于控制加载的数据包。
17w48a数据包可读取自定义配方。
18w01a在战利品表中加入了set_name函数。
(重新)加载后的minecraft:load里的函数现在会运行一次。
崩溃报告中现在会列出启用的数据包。
1.1418w43a加入了实体种类标签。
Java版(即将到来)
1.1519w38a加入了predicates文件夹,可以在此处定义断言。

另见

Advertisement