- 致编者:请牢记我们的域名wiki.mcbe-dev.net!
- 致编者:欢迎加入本Wiki的官方交流QQ群或Discord服务器!
- 基岩版1.19.31现已发布!(了解更多)
- Inner Core现已支持Xbox模组联机!(了解更多)
- 如果您是第一次来到本Wiki,欢迎注册一个账户
- 点击顶部的“编辑”或“编辑源代码”按钮即可编辑当前页面
- 请知悉:在不登录时也可以编辑和新建页面,但是您当前的IP地址会记录在编辑历史中
清单文件
来自Minecraft基岩版开发Wiki
清单文件(Manifest)是 Minecraft 用于判定某个文件夹是否为一个附加包的文件,该文件中储存了这个包的一些基本配置信息,如包类型、包版本、描述、UUID 等等。Minecraft 会在运行时尝试加载包储存路径下所有子文件夹中的清单文件,若含有且成功加载,则该文件夹会被游戏判定为一个包。
清单文件以JSON文件的形式被放置于附加包的根目录下,文件名必须为 manifest.json
。
数据结构[编辑]
属性名称 | 描述 | |||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
format_version | 定义了清单的当前版本。除非有需要,否则请勿更改。 | |||||||||||||||||||||||||||
header | 清单的标头对象,用于定义包的一些基本信息。
| |||||||||||||||||||||||||||
modules | 描述了附加包的模块。
| |||||||||||||||||||||||||||
dependencies | 描述了此附加包所依赖的附加包,如果此包不存在,则会出现错误。
| |||||||||||||||||||||||||||
capabilities | 用于定义附加包的功能范围。
| |||||||||||||||||||||||||||
metadata | 保存了附加包的有关资料信息。
|
模块类型[编辑]
清单文件的模块中,type
属性的值决定了此模块的类型。不同类型的模块拥有着不同的标识能力,目前主要分为两类,一是用于标识附加包的类型,不同类型的附加包在加载时会被游戏放置在不同的文件目录下;二是用于标识该附加包所启用的一些特殊功能。在导入附加包时,游戏会获取该包拥有的所有模块,根据不同类型的模块对附加包的类型及需要启用的一些特殊功能进行判定,并做出相应操作。下表列出了type
可填的值。
包类型 | 值 | 描述 |
---|---|---|
资源包 | "resources"
|
拥有该模块的附加包会被游戏判定为资源包,该包会被放在数据存储目录的resource_packs 文件夹中,并显示在游戏全局资源或资源包菜单中。在加载该包时,游戏会以资源包的读取方式来读取该包。
|
行为包 | "data"
|
拥有该模块的附加包会被游戏判定为行为包,该包会被放在数据存储目录的behavior_packs 文件夹中,并显示在游戏行为包菜单中。在加载该包时,游戏会以行为包的读取方式来读取该包。
|
皮肤包 | "skin_pack"
|
拥有该模块的附加包会被游戏判定为皮肤包,该包会被放在数据存储目录的skin_packs 文件夹中,并显示在角色创建器的“经典皮肤”的“已拥有”一栏中,玩家可在游戏中使用皮肤包中的皮肤。在加载该包时,游戏会以皮肤包的读取方式来读取该包。
|
世界模板 | "world_template"
|
拥有该模块的附加包会被游戏判定为世界模板包,该包会被放在数据存储目录的world_templates 文件夹中,并显示在游戏世界模板菜单中。加载该包时,游戏会以世界模板的读取方式来读取该包。此类型包的清单文件中可以包含lock_template_options 属性。
|
-
|
"script"
|
拥有该模块的附加包,可启用官方提供的新脚本API,由该模块中entry 属性决定游戏执行脚本时的入口文件,language 属性决定语言。一般与data 模块共用。
|
-
|
"interface"
|
添加该模块的附加包在装载进世界后不可卸下。 |
-
|
"persona_piece"
|
拥有该模块的附加包可用于定义外观部件。 |
示例[编辑]
以下示例仅供参考,请以实际情况为准。 |
行为包
{
"format_version": 1,
"header": {
"description": "Example behavior pack",
"name": "Vanilla Behavior Pack",
"uuid": "ee649bcf-256c-4013-9068-6a802b89d756",
"version": [1, 0, 0]
},
"modules": [
{
"description": "Example behavior pack module",
"type": "data",
"uuid": "fa6e90c8-c925-460f-8155-c8a60b753caa",
"version": [1, 0, 0]
}
],
"dependencies": [
{
"uuid": "66c6e9a8-3093-462a-9c36-dbb052165822",
"version": [1, 0, 0]
}
]
}
资源包
{
"format_version": 1,
"header": {
"description": "Example resource pack",
"name": "Vanilla Resource Pack",
"uuid": "66c6e9a8-3093-462a-9c36-dbb052165822",
"version": [1, 0, 0],
"min_engine_version": [1, 2, 6]
},
"modules": [
{
"description": "Example resource pack",
"type": "resources",
"uuid": "743f6949-53be-44b6-b326-398005028819",
"version": [1, 0, 0]
}
]
}
世界模板
{
"format_version": 1,
"header": {
"name": "Example world",
"uuid": "d3ce13f3-0a18-4286-aa91-3e82792d23f8",
"lock_template_options": true
"version": [1, 0, 0]
},
"modules": [
{
"type": "world_template",
"uuid": "f7785f25-7583-42d1-895d-fce59df6b474",
"version": [1, 0, 0]
}
]
}
皮肤包
{
"format_version": 1,
"header": {
"name": "Persona",
"uuid": "86efe7ee-a28e-4d6c-9892-8a0270257554",
"version": [1, 0, 0]
},
"modules": [
{
"type": "skin_pack",
"uuid": "e204cca7-36e6-4c8a-8872-8689ad16ded5",
"version": [1, 0, 0]
}
]
}