Minecraft Wiki

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

了解更多

Minecraft Wiki
Advertisement
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
        • item_modifiers
          • (物品修饰器名称).json
        • tags
          • blocks
            • (标签名称).json
          • entity_types
            • (标签名称).json
          • items
            • (标签名称).json
          • fluids
            • (标签名称).json
          • functions
            • (标签名称).json
          • game_events
            • (标签名称).json
          • (注册名)
            • (标签名称).json
        • dimension
          • (维度名称).json
        • dimension_type
          • (维度类型名称).json
        • worldgen
          • biome
            • (生物群系).json
          • configured_carver
            • (雕刻器).json
          • configured_feature
            • (地物).json
          • density_function
            • (密度函数).json
          • flat_level_generator_preset
            • (超平坦预设).json
          • noise
            • (噪声).json
          • noise_settings
            • (噪声设置).json
          • placed_feature
            • (可放置地物).json
          • processor_list
            • (方块处理器).json
          • structure
            • (结构).json
          • structure_set
            • (结构集).json
          • template_pool
            • (拼图池).json
          • world_preset
            • (世界预设).json

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

pack.mcmeta[]

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

  • :根对象。
    •  pack:存放数据包信息。
    •  filter:包过滤器。
      •  block:指定要忽略的内容。低优先级数据包的内容若匹配其中指定的内容,则对应内容会被游戏忽略。
        • :一段指定内容。可以使用正则表达式。
          •  namespace:要匹配的命名空间。若省略则匹配所有命名空间。
          •  path:要匹配的路径。若省略则匹配所有路径。

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

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

data[]

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

数据包内容文件可以直接放入到对应的文件夹内,也可以放入到对应的文件夹下的子文件夹内。

数据包模板[]

原版数据包的文件结构:

历史[]

Java版
1.1317w43a加入了数据包。
17w46a加入了/datapack命令,用于控制加载的数据包。
17w48a数据包可读取自定义配方。
18w01a在战利品表中加入了set_name函数。
(重新)加载后的minecraft:load里的函数现在会运行一次。
崩溃报告中现在会列出启用的数据包。
1.1418w43a加入了实体种类标签。
1.1519w38a加入了predicates文件夹,可以在此处定义战利品表谓词。
1.1620w22a稍微修改了数据包的加载机制,防止数据包带来的崩溃。
游戏将会检测严重的数据包问题,比如关键标签的缺失,将会阻止世界的加载。
如果数据包加载失败,那么修改将不会被应用,游戏将会使用旧的数据包。
数据包列表仅在数据包成功加载后才会更改。
服务器添加了--safeMode选项让游戏只加载原版数据包。
pre1现在可以在创建世界之前加载数据包。
数据包现在可以添加和修改维度
1.1720w45apack_version被拆分,数据包和资源包现在使用相互独立的版本数字。
20w46a由于MC-204861,数据包版本号更改为7
1.18.2pre1现在可在实验性数据包中添加自定义结构,即游戏现在可生成并存储由数据驱动的配置的结构。
现在可通过数据包对一些洞穴生成机制进行配置。
由于对数据包加入了以上新功能,数据包版本号更改为9
1.1922w11apack.mcmeta中加入了filter字段,用于按命名空间和正则表达式忽略低优先级数据包中的匹配内容。

参见[]

Advertisement