BE教程

附加包教程第二期——manifest清单目录文件

7***Lv.3 中级会员 发表于 2022-4-24 · 最后回复 2022-12-29 IP:江苏省 10,792 5
AI 速览2026-10-01 22:17 生成

附加包教程第二期讲解 manifest 清单目录文件的写法与字段含义

这是附加包教程系列的第二期,专门讲 manifest.json 清单目录文件。内容涵盖它的作用、存放路径与基本语法,并逐项解释 format_version、name、description、uuid、version、min_engine_version 和 modules 等字段,还介绍了依赖包、化学与光追等功能开关以及附加包信息的写法。适合刚开始接触基岩版附加包、想弄清清单文件各字段含义的玩家和开发者阅读,文末预告下一期讲附加包的主要结构。

  • 每个附加包都需要一个格式正确的 manifest.json 清单目录文件
  • UUID 必须唯一,切勿重复使用,建议为包生成两个新的 UUID
  • format_version 一般使用最新的稳定版本 2
  • min_engine_version 决定能读取该包的最低客户端版本
  • 导入更高版本的附加包会覆盖设备上的旧版本
本卡片由 AI 阅读本帖后生成,可能存在疏漏,请以帖子正文为准。
本帖最后由 782 于 2022-6-6 21:41 编辑


manifest清单目录文件


一、清单目录文件的作用
清单目录是一个json文件,用于在我的世界识别附加包,每个包都有一个清单目录文件,一个格式正确的清单目录文件的部分内容将显示在我的世界中。

二、清单目录的基本语法
路径:行为包或资源包
              |_manifest.json
  1. {
  2.     "format_version": 2,
  3.     "header": {
  4.         "name": "pack.name",
  5.         "description": "pack.description",
  6.         "uuid": "...",
  7.         "version": [1, 0, 0],
  8.         "min_engine_version": [1, 16, 0]
  9.     },
  10.     "modules": [
  11.         {
  12.             "type": "data或resources",
  13.             "uuid": "...",
  14.             "version": [1, 0, 0]
  15.         }
  16.     ]
  17. }
复制代码


三、manifest文件的语法详解
  • “format_version”定义了清单目录文件语法的版本。版本2是最新的稳定版本,一般使用它。
  • “name”是行为包的名称。“description”将在游戏中显示在它下面。我们现在以“语言代码形式”定义这些文件,以便我们稍后可以将其翻译成其他语言。
  • “uuid”字段非常重要,下文将更详细地讨论。
  • “version”定义了附加包的版本。当你在安装了附加包的旧版本的设备上导入带有较新版本的附加包时,较新的版本将覆盖旧版本。
  • “min_engine_version”定义了能够读取附加包的最低我的世界客户端版本。
  • 在“modules”中,“type”可以被定义为“data或resources”。这使得此包成为行为包(data)或资源包(resources)。

重要知识点:UUID
UUID(通用唯一识别码,Universally Unique Identifier)可以标识附加包包,供其他程序(在本例中为我的世界)识别。UUID看起来是这样的:1ce8eeae-f1d6-4330-bda1-e9fd427406cd
永远不要重复使用UUID。你可以在这里生成UUID。
为了确保附加包正常工作,你应该生成两个新的UUID,你把每个UUID粘贴到清单目录文件中的“...”。完成后,它应该看起来像这样:"uuid": "1ce8eeae-f1d6-4330-bda1-e9fd427406cd"

四、清单目录文件的其他语法
1.依赖包
语法:

  1. ...
  2.     "dependencies": [
  3.        {
  4.             "uuid": "...",
  5.             "version": [0, 0, 1]//依赖包版本号
  6.           }
  7.     ]
  8. ...
复制代码
这一部分可以添加依赖包,在启用时自动启用依赖包,若找不到依赖包则弹出提示
“uuid”:依赖包的UUID
“version”:依赖包的版本号

2.其他功能
语法:

  1. ...
  2.     "capabilities": [
  3.         "chemistry",
  4.         "experimental_custom_ui",
  5.         "raytraced"
  6.     ]
  7. ...
复制代码
这一部分可以启用其他功能,具体有:
“chemistry”:启用化学功能,让附加包可以控制教育版化学功能
“experimental_custom_ui”:启用实验性自定义UI,允许包中的HTML文件用于自定义UI,允许包中的脚本调用和操作自定义UI
“raytraced”:启用光线追踪功能

3.附加包信息
语法:

  1. ...
  2.     "metadata": {
  3.         "authors": ["作者1", "作者2", ...],
  4.         "license": "附加包的许可协议",
  5.         "url": "附加包的链接"
  6.     }
  7. ...
复制代码
用于给包添加附加信息
语法过于简单,不作详细解释


预告:下一期会给大家介绍附加包的主要结构

附加包教程系列导航
上一期  下一期
回复 5 最早 最新 只看楼主
您需要登录后才可以回帖 登录 | 立即注册
本版积分规则