附加包教程:16.子包
本帖最后由 Cat_Anchor 于 2025-3-30 22:22 编辑前言
上期,我们学完了方块。接下来,我们即将学习附加包的子包。
https://klpbbs.com/static/image/hrline/line5.png
子包
子包就是附加包的不同“版本”,比如纹理包的“32x”和“64x”版本等等。行为包和资源包都可以有子包。
子包存放在行为包根目录或资源包根目录的 subpacks 文件夹下。在这个文件夹下新建一个文件夹,名称就用子包的名称命名。打开这个文件夹,这里就相当于子包的根目录。在行为包下创建的子包下就是子行为包根目录,资源包也是这样。
还需要在 manifest.json 里定义子包,数据如下。
{
"format_version": 2,
"header": { ... },
"modules": [ ... ],
"subpacks": [ // 在这里定义子包。
{
"folder_name": "壮丽日出", // 这里填写 subpacks 文件夹下子包的文件夹名称。
"name": "壮丽日出", // 这里是游戏内可见的选项名称,可以用 \n 换行。
"memory_tier": 1 // 这里是启用这个子包所需要的运行内存 RAM。这里的数字乘上 0.25GiB,就是需要的运行内存。如果设备的运行内存小于这个值,就不能选择这个子包,而且会有提示。
},
{
"folder_name": "Null", // 指定一个不存在的 subpacks 下的文件夹名称时,将不会应用任何子包。
"name": "普通白云",
"memory_tier": 1
},
{ //可以有很多个子包
"folder_name": "日出云层",
"name": "日出云层",
"memory_tier": 1
}
],
"settings": [ ... ]
}
这就是如何运用子包的全部内容了。
注意,目前子包有问题。子包只能替换附加包中不存在的文件夹,如果附加包中有这个文件夹,而子包中也有,那么游戏可能会崩溃。
https://klpbbs.com/static/image/hrline/line1.png
总结
这一期,我们学习了子包。下一期,我们将讲附着物。
第十五期 第十六期 第十七期 感谢分享 memory_tier好像是默认,数值越高越优先选择 指令凋灵 发表于 2023-1-16 10:37
memory_tier好像是默认,数值越高越优先选择
感谢分享 指令凋灵 发表于 2023-1-16 10:37
memory_tier好像是默认,数值越高越优先选择
其实这个也对,但是基岩版开发wiki的解释是“要启用此子包,设备必须拥有的RAM数量。1内存层=0.25 GB”。把这个值设置过大会提示无法选择这个选项,因为内存不足什么的,所以wiki的说法是正确的,同时值越大优先级越高,负值也是这样 Java版有类似子包的东西吗 setting字段怎么使用啊啊
页: [1]