--- title: 子Packs mentions: - SirLich - solvedDev - Joelant05 - ChilRx - SmokeyStack - MedicalJewel105 - TheItsNameless --- # 子Packs ## 什么是子包? 子包功能允许玩家在不同的附加包"配置"之间进行选择。 该功能最初设计用于根据设备内存容量加载不同分辨率的材质包,但也可用于创建行为包和资源包的多种文件变体。玩家可以通过点击齿轮图标并调整滑块来选择不同的子包配置。 ## 子包工作原理 当子包被选中时,放置在子包文件夹中的文件将覆盖主附加包文件夹中的同名文件。例如,若附加包同时包含 `RP/textures/entities/ghost.png` 和 `RP/subpacks/pack_1/textures/ghost.png`,当选择 `pack_1` 子包时,第二个图片文件将取代第一个文件。 关于文件覆盖机制的更多信息,请参阅我们的[覆盖原版资源](/wiki/concepts/overwriting-assets)说明文档。 ## 创建子包 - 首先需要在行为包或资源包的根目录下创建 `subpacks` 文件夹 - 在 `subpacks` 文件夹内为每个子包创建独立文件夹 例如: - 在每个子包文件夹中添加该子包的特定内容 这些内容可以是常规附加包中的任意资源 例如: ## 清单文件配置 需要在清单文件(manifest.json)中注册子包信息,在 `subpacks` 字段下以数组形式声明各个子包。 示例配置: ::: code-group ```json [RP/manifest.json] { "format_version": 2, "header": { "name": "资源包名称", "description": "资源包描述", "uuid": "2fc2dd6f-86cb-4370-af70-21490a1ae471", "version": [1, 0, 0], "min_engine_version": [1, 13, 0] }, "modules": [ { "type": "resources", "uuid": "f6821b4a-1854-44fc-a8a4-0c2847ffda46", "version": [1, 0, 0] } ], "subpacks": [ { "folder_name": "subpack_1", "name": "初级材质", "memory_tier": 0 }, { "folder_name": "subpack_2", "name": "高清材质", "memory_tier": 1 } ] } ``` ::: - `name` - 在子包选择界面显示的名称 - `memory_tier`- 设备运行所需内存配置(1个内存等级 = 0.25 GB) - `folder_name` - 对应子包文件夹名称,例如示例中的 `subpack_1` 或 `subpack_2` ## 注意事项 当仅添加一个子包时,选择界面会显示两个选项,但第二个"无子包"选项实际上**不会**用根目录内容覆盖子包内容。