MC Toolkit

指南 / 故障排除

基岩版附加包就是一个 zip,而清单文件正是它失败的原因

大多数被拒绝的 .mcaddon 导入其实都是有效的 zip,只是有一行标头写错了,而错误信息从不会指出是哪个字段出了问题。

一个 .mcaddon 就是一个改了扩展名的 zip 压缩包,而游戏拒绝它的原因往往跟 zip 本身毫无关系。最常见的元凶是 manifest.json——这个小小的文件带有一个标头,其中两个 UUID 必须互不相同,而且它的 format_version 必须是你所针对的游戏版本。

两个 UUID,绝不能相同

清单文件包含一个 header 和一个 modules 数组。两者各自需要自己的 uuid,而在两者之间复用同一个 UUID 是最常见的被拒原因:

{
  "format_version": 2,
  "header": {
    "name": "My Pack",
    "description": "Example",
    "uuid": "aaaaaaaa-0000-0000-0000-000000000000",
    "version": [1, 0, 0],
    "min_engine_version": [1, 21, 0]
  },
  "modules": [
    {
      "type": "data",
      "uuid": "bbbbbbbb-0000-0000-0000-000000000001",
      "version": [1, 0, 0]
    }
  ]
}

UUID 是 128 位的值,写作 32 个十六进制数字,分成五组、以连字符分隔。用什么生成器都行,重复就不行。versionmin_engine_version 是三整数数组,不是字符串——"1.0.0" 在某些版本上会静默失败。

Java 根本没有清单文件

正是这个差异让在版本之间来回切换的人栽跟头。Java 资源包附带的是一个含有 pack_format 整数的 pack.mcmeta。基岩版附带的则是带有 UUID 和模块列表的 manifest.json。两个版本都不会读取对方的文件,也不能靠重命名压缩包来移植资源包。

导入之前先检查

解压压缩包,看看顶层。如果资源包多套了一层文件夹——是 MyPack/manifest.json 而不是 manifest.json——导入后会什么都没有,而且不报任何错误。清单文件必须与它所描述的 textures/behavior_packs/ 内容放在同一层。

方块模型是另一种格式

Java 的方块模型 JSON 不是基岩版的几何文件,两者不能互换:

Java 方块模型基岩版几何
根键elementsminecraft:geometry
坐标每方块 0–16每方块 0–16
纹理textures 映射materials 映射

两者都表示每方块 16 个单位的立方体网格,这就是为什么生成的模型在其中一个里看起来正常,导入到另一个里却变成一个空形状。

注册名不能互换

基岩版和 Java 对同样的内容使用不同的标识符。如果资源包引用了 Java 的附魔、效果或生物群系名称,它会正常加载,然后悄无声息地什么都不做,因为该名称解析不到任何条目。两个版本的注册表本身大小也不同,所以针对某一版本的列表编写的资源包,不能想当然地认为在另一版本里也是完整的。

验证清单文件、检查压缩包结构,并在 Bedrock & Pack Tools 中生成方块模型。

Bedrock & Pack Tools →

更多指南

查看全部 →

还想找别的我的世界工具?

一整套在浏览器里运行的生成器、查看器和转换器,全部免费。