清单文件
清单文件包含 Minecraft 识别附加包所需的所有基本信息,下表包含清单文件的组件、属性以及具体说明。
属性
| 属性 |
说明 |
| format_version |
清单文件的格式版本,在皮肤包中为1,在行为包、资源包、世界模版中为2 |
| header |
附加包的名字、描述和其他公开展示的信息 |
| modules |
有关附加包所引入内容类型的信息 |
| dependencies |
此附加包运行所需的其他包的定义 |
| capabilities |
可在游戏中启用的可选特性 |
| metadata |
附加包的元数据,如作者和许可证 |
| 名字 |
类型 |
说明 |
| allow_random_seed |
布尔值 |
(仅世界模板清单)每次加载世界模板时生成一个随机种子,并允许玩家在创建世界前更改种子 |
| base_game_version |
向量 [a, b, c] |
(仅世界模板清单)世界模板所要求的基本游戏版本,游戏根据其确定应用的资源包和行为包的版本 |
| description |
字符串 |
附加包的描述,将出现在附加包名字的下面,建议长度控制在两行以内 |
| lock_template_options |
布尔值 |
(仅世界模板清单)锁定世界选项使玩家无法更改 |
| min_engine_version |
向量 [a, b, c] |
附加包为游戏编写的最小版本,应该始终使用当前可用的最高版本,游戏根据其确定附加包是否需要向后兼容 |
| name |
字符串 |
游戏中附加包的名字 |
| pack_scope |
字符串 |
可选,默认为any,指定资源包是否可以在全局资源或世界中加载。global代表可以在全局资源中加载,world代表可以在世界中加载, any在世界、全局资源中都可以加载 |
| uuid |
字符串 |
一种特殊类型的标识符,让游戏可以识别出这个附加包,它的格式为xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx每个x都是十六位值(0-9或a-f) |
| version |
向量 [a, b, c] 或 SemVer 字符串 |
附加包的版本,格式为[主版本,小版本, 修订号],如果导入一个版本更高的附加包,新包将替换旧包;如果版本相同或较低,则被忽略 |
modules
| 名字 |
类型 |
说明 |
| description |
字符串 |
模块的描述,玩家无法在游戏里看见,可以用它来提醒你为什么要定义这个模块 |
| type |
字符串 |
模块的类型,可以是:resources、data、world_template或script. |
| uuid |
字符串 |
模块的UUID,与header中的UUID格式相同,但不能重复 |
| version |
向量 [a, b, c] 或 SemVer 字符串 |
模块的版本,格式与附加包版本相同,可以进一步识别包中的更改 |
| language |
字符串 |
(仅type是script时可用)脚本的语言,唯一支持的值是javascript |
[!IMPORTANT]
如果想要向市场发布附加包,主版本需要大于0,换言之,不可以出现类似0.x.x的版本号
dependencies
| 名字 |
类型 |
说明 |
| uuid |
字符串 |
依赖包的UUID,需要与清单文件header部分定义的UUID完全相同 |
| module_name |
字符串 |
依赖内置脚本模块的名称,如@minecraft/server |
| version |
向量 [a, b, c] or SemVer 字符串 |
依赖包或模块的特定版本,应该与清单文件中header部分定义的版本完全相同 |
capabilities
| 名字 |
说明 |
| script_eval |
启用脚本中的eval和function功能 |
| chemistry |
使附加包可以添加、删除或修改内置的教育版化学相关内容 |
| editorExtension |
声明附加包包含 Minecraft 编辑器的扩展 |
| experimental_custom_ui |
使附加包可以用 HTML 文件创建、使用或修改自定义UI |
| raytraced |
使附加包使用光线追踪功能,并启用自定义着色器 |
| 名字 |
类型 |
描述 |
| authors |
数组 |
附加包作者 |
| license |
字符串 |
附加包许可证 |
| generated_with |
JSON 对象 |
识别用于生成清单文件的工具,工具名必须小于32个字符并且符合[a-zA-Z0-9_-] |
| product_type |
字符串 |
可选,用于识别附加包的目标上下文,唯一支持的值是addon,表明这个包将被添加到玩家的世界中,这不会改变游戏的功能 |
| url |
字符串 |
附加包的主页 |
范例
行为包
{
"format_version": 2,
"header": {
"description": "Example vanilla behavior pack",
"name": "Vanilla Behavior Pack",
"uuid": "ee649bcf-256c-4013-9068-6a802b89d756",
"version": [1, 0, 0],
"min_engine_version": [1, 20, 0]
},
"modules": [
{
"description": "Example behavior pack module",
"type": "data",
"uuid": "fa6e90c8-c925-460f-8155-c8a60b753caa",
"version": [1, 0, 0]
},
{
"description": "Example scripts module",
"type": "script",
"language": "javascript",
"entry": "scripts/index.js",
"uuid": "c05a992e-482a-455f-898c-58bbb4975e47",
"version": [1, 0, 0]
}
],
"dependencies": [
{
"uuid": "66c6e9a8-3093-462a-9c36-dbb052165822",
"version": [1, 0, 0]
},
{
"module_name": "@minecraft/server",
"version": "1.9.0"
}
],
"metadata": {
"authors": ["exampleAuthor"],
"license": "MIT",
"url": "http://www.contoso.com",
"generated_with": {
"example_tool": ["1.0.0", "1.1.0"]
}
}
}
### Resource Pack
{
"format_version": 2,
"header": {
"description": "Example vanilla resource pack",
"name": "Vanilla Resource Pack",
"uuid": "66c6e9a8-3093-462a-9c36-dbb052165822",
"pack_scope": "world",
"version": [1, 0, 0],
"min_engine_version": [1, 20, 0]
},
"modules": [
{
"description": "Example vanilla resource pack",
"type": "resources",
"uuid": "743f6949-53be-44b6-b326-398005028819",
"version": [1, 0, 0]
}
]
}