从后缀名来看,通用后缀 .zip 向 .mcpack、.mcaddon 和.mcworld三个方向变化。但依旧能被7z等压缩集成软件处理,本质上依旧是压缩包。
从技术架构上来看,.mcworld属于世界模板一类,而.mcpack和.mcaddon属于 Resource pack 和 Behavior pack 的结合体。同时附带了一些其他的规范内容。
(mcworld 对应基岩版的世界模板、mcpack对应基岩版的资源包和其他的部分、mcaddon 对应基岩版的插件部分,属于附加内容。大部分数据包依旧是.zip格式,但应该可以改成mcaddon的形式被自动处理[明天抽空实验一下])
BP和RP的缩写对应上面的全部书写。至于 BDS(Minecraft:Bedrock 官方服务器)端装载对应的内容(如材质包,数据包,插件),需要在 worlds 中找到对应的世界,创建下面的文件:
- 这是
world_behavior_packs.json
文件
[
{
"pack_id" : "2b16d301-5b14-4364-9e24-59d1a41fe5cb",
"subpack" : "both_spawning",
"version" : [ 1, 6, 0 ]
}
]
- 这是
world_resource_packs.json
文件
[
{
"pack_id" : "8e625285-c38c-470d-b853-9b154162b06b",
"version" : [ 1, 6, 0 ]
}
]
但同时,我也在B站上见到了这种写法(已经整理过):
[{
"packs":[
{"can_be_redownloaded":true,"name":"MaicVideoGame - Server Pack","uuid":"60c85452-8d46-4e9c-97c5-67653f621ac1","version":[1,0,0]},
{"can_be_redownloaded":true,"name":"Poggy's WAWLA v1.0.22","uuid":"c28b41dc-f7b7-9479-a6ea-432a46957b6a","version":[1,0,22]}
]
}]
究竟是 uuid 对应还是 pack_id 对应 header[q0]?
下面是一个被引用的接口文件(行为包)
{
"format_version": 2,
"header": {
"description": "My attack cow behavior pack Add-On!",
"name": "My Behavior Pack",
"uuid":"",
"version": [1, 0, 0],
"min_engine_version": [1, 16, 0]
},
"modules":
[
{
"description": "My First Add-On!",
"type": "data",
"uuid": "",
"version": [1, 0, 0]
}
],
"dependencies": [
{
"uuid":"UUID from the header section of manifest.json in My_RESOURCE_Pack",
"version":[1,0,0]
}
]
}
现在大脑挺混乱的,暂时不去想了,我在这里附上官方文档:
https://learn.microsoft.com/en-us/minecraft/creator/documents/update1.20.80?view=minecraft-bedrock-stable
从这方面来看,它的性能和未来在技术上还是挺光明的。不过写这东西,真有种初学业务逻辑的混乱感。部分在B站上发教程的人都不会去关注架构而是直接使用了某些辅佐工具充当...只能说仁者见仁了。
[q0]:详细参考微软文档:点击跳转
说实话,我更推荐去看英文文档。国内对应这方面的情况实在是...通过这中文文档,了解一下基层原理还是可以的。