制作皮肤包¶
皮肤包用来分发一组经典皮肤。它不需要行为包或资源包,只需要清单、皮肤清单、语言文件和PNG皮肤图片。
文件结构¶
DemoSkinPackmanifest.jsonskins.jsonskin_alex.pngskin_steve.pngtextslanguages.jsonen_US.lang
皮肤PNG放在皮肤包根目录,文件名要和skins.json中的texture一致。
编写manifest.json¶
manifest.json
{
"header": {
"name": "pack.name",
"version": [1, 0, 0],
"uuid": "填入第一个UUID"
},
"modules": [
{
"version": [1, 0, 0],
"type": "skin_pack",
"uuid": "填入第二个UUID"
}
],
"format_version": 1
}
皮肤包模块类型是skin_pack。官方打包指南中还强调,皮肤包JSON能力目前不能添加自定义模型,只能在geometry.humanoid.custom和geometry.humanoid.customSlim等内置几何体之间选择。
编写skins.json¶
skins.json
{
"serialize_name": "DemoSkinPack",
"localization_name": "DemoSkinPack",
"skins": [
{
"localization_name": "AlexDemo",
"geometry": "geometry.humanoid.customSlim",
"texture": "skin_alex.png",
"type": "free"
},
{
"localization_name": "SteveDemo",
"geometry": "geometry.humanoid.custom",
"texture": "skin_steve.png",
"type": "free"
}
]
}
localization_name会参与语言键拼接。皮肤包名使用skinpack.<localization_name>,单个皮肤名使用skin.<pack_localization_name>.<skin_localization_name>。
添加语言文件¶
texts/en_US.lang
skinpack.DemoSkinPack=Demo Skin Pack
skin.DemoSkinPack.AlexDemo=Alex Demo
skin.DemoSkinPack.SteveDemo=Steve Demo
打包和测试¶
选中皮肤包根目录中的全部文件,压缩后把扩展名改成.mcpack,双击导入。进入更衣室,选择经典皮肤,再查看导入的皮肤包。
如果皮肤无法使用,请检查游戏设置中的“仅允许受信任的皮肤”是否关闭,并确认PNG文件确实在皮肤包根目录。