BE教程

附加包教程:16.子包

Cat_A***Lv.4 高级会员 发表于 2023-1-16 · 最后回复 2025-8-28 IP:山西省 3,541 6
AI 速览2026-09-25 09:57 生成

附加包教程第十六期讲解子包的创建与manifest配置

这是附加包系列教程的第十六期,主题是子包。帖子说明了子包相当于附加包的不同版本,例如纹理包的32x与64x,行为包和资源包都能使用,并介绍了在subpacks文件夹下建目录、在manifest.json中定义子包的做法。适合正在学习附加包制作、想为作品提供多版本内容的读者参考。

  • 子包目前只能替换附加包中不存在的文件夹
  • 若附加包与子包存在同名文件夹,游戏可能崩溃
本卡片由 AI 阅读本帖后生成,可能存在疏漏,请以帖子正文为准。
本帖最后由 Cat_Anchor 于 2025-3-30 22:22 编辑

前言
上期,我们学完了方块。接下来,我们即将学习附加包的子包。
子包
子包就是附加包的不同“版本”,比如纹理包的“32x”和“64x”版本等等。行为包和资源包都可以有子包。
子包存放在行为包根目录或资源包根目录的 subpacks 文件夹下。在这个文件夹下新建一个文件夹,名称就用子包的名称命名。打开这个文件夹,这里就相当于子包的根目录。在行为包下创建的子包下就是子行为包根目录,资源包也是这样。
还需要在 manifest.json 里定义子包,数据如下。
  1. {
  2.   "format_version": 2,
  3.   "header": { ... },
  4.   "modules": [ ... ],
  5.   "subpacks": [ // 在这里定义子包。
  6.     {
  7.       "folder_name": "壮丽日出", // 这里填写 subpacks 文件夹下子包的文件夹名称。
  8.       "name": "壮丽日出", // 这里是游戏内可见的选项名称,可以用 \n 换行。
  9.       "memory_tier": 1 // 这里是启用这个子包所需要的运行内存 RAM。这里的数字乘上 0.25GiB,就是需要的运行内存。如果设备的运行内存小于这个值,就不能选择这个子包,而且会有提示。
  10.     },
  11.     {
  12.       "folder_name": "Null", // 指定一个不存在的 subpacks 下的文件夹名称时,将不会应用任何子包。
  13.       "name": "普通白云",
  14.       "memory_tier": 1
  15.     },
  16.     { //可以有很多个子包
  17.       "folder_name": "日出云层",
  18.       "name": "日出云层",
  19.       "memory_tier": 1
  20.     }
  21.   ],
  22.   "settings": [ ... ]
  23. }
复制代码

这就是如何运用子包的全部内容了。
注意,目前子包有问题。子包只能替换附加包中不存在的文件夹,如果附加包中有这个文件夹,而子包中也有,那么游戏可能会崩溃。
总结
这一期,我们学习了子包。下一期,我们将讲附着物。


回复 6 最早 最新 只看楼主
您需要登录后才可以回帖 登录 | 立即注册
本版积分规则