Files
2025-08-25 18:36:29 +08:00

79 lines
3.0 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
front: https://nie.res.netease.com/r/pic/20211104/69055361-2e7a-452f-8b1a-f23e1262a03a.jpg
hard: 入门
time: 10分钟
---
# 认识作品结构与打包
当我们的作品制作完成后,我们便希望将其发布到市场中供玩家们下载。因此我们可能需要了解如何如何才能正确地打包的我们的作品,防止出现上架失败的可能。
## 附加包
在上架过程中,我们的**附加包****Add-on**)被称为“**功能玩法**”。这种类型的作品具有最简单的打包方式。
一个典型的附加包一般由一个资源包和一个行为包组成,如下所示:
```json
附加包根目录
├─SomeAddonRes
└─SomeAddonBeh
```
正确的附加包打包方式为直接选中两个文件夹,将其压缩为一个压缩文件即可。
![](./images/18.1_addon.png)
如果我们选择了他们的根目录再进行压缩,将造成打包失败从而无法上架。
## 地图
**地图**也是一种发布作品的方式,往往我们希望我们的附加包配合一张地图使用,因此我们会希望直接发布一张带有附加包的地图。
一个地图往往具备如下格式:
```shell
地图根目录
│ level.dat # 存档文件
│ level.dat_old # 旧版存档文件
│ levelname.txt # 世界名称文件
│ world_behavior_packs.json # 世界加载的行为包文件
│ world_resource_packs.json # 世界加载的资源包文件
├─behavior_packs # 存放的所有行为包
├─db # LevelDB文件
└─resource_packs # 存放的所有资源包
```
对于地图文件,我们需要使用地图根目录文件夹直接压缩。
![](./images/18.1_world.png)
比如,我们的地图根目录文件夹为`9da01770-f464-42e9-8bf4-427433b86c3b`,如图,我们将其直接压缩为压缩文件即可。
如果你在你的地图中发现了`netease_world_behavior_packs.json``netease_world_resource_packs.json`,你需要手动将它们的`netease_`前缀删去,并检查这两个文件中的`pack_id`字段是否和资源包和行为包中`header`头中的UUID一致。同时带有`netease_`前缀的这两个文件通常是没有`type`字段的,你需要手动添加`type`字段并将其值设置为`Addon`。如下所示:
```json
[
{
"pack_id" : "eefcf409-a40a-46f7-9a48-3147960a8c39", // 保证改行的值与附加包中UUID相一致
"type": "Addon", // 增加该行
"version" : [ 0, 0, 1 ] // 保证该行的值与附加包中版本相一致
}
]
```
## 纹理包与光影包
**纹理包**与**光影包**往往都只有一个资源包,不适合作为附加包上传。因此,我们需要将其直接压缩为压缩文件上传。比如我们有下图的结构。
```json
SomeRootFolder
└─TexturePack
```
然后我们直接对`TexturePack`右键,并将其压缩为压缩文件即可完成打包。
## 皮肤
基岩版虽然存在皮肤包这一种类的附加包但是只有国际版目前使用这种类型的包我们并不适用这种包体。要上传皮肤请准备好带有透明通道的PNG文件然后直接上传该文件即可。