包
从模组认识包,理解资源仓库、包引用、版本、依赖,以及包如何进入实例并部署为文件。
Last updated on
在 Polymerium 中,从 Modrinth 或 CurseForge 添加一个模组,就是向实例添加一个包。包是指向资源仓库内容的受管理引用:它记录你选择了哪个项目、使用哪个版本,让 Polymerium 能在部署时找到对应文件。
模组只是包的一种。先理解包,再看如何添加模组或为包分组,就能把浏览、安装、整理和部署连起来。
包有哪些类型
包的类别称为资源类型,常见的有:
| 资源类型 | 内容 |
|---|---|
| 模组 | 改变或扩展游戏功能 |
| 资源包 | 纹理、声音等游戏资源 |
| 光影包 | 光照和画面效果 |
| 数据包 | 配方、战利品表、函数等数据驱动内容 |
| 世界 | 可分发的世界内容 |
这些内容都可以作为包管理,但运行条件不同。例如,模组通常需要匹配 Minecraft 版本与模组加载器,光影包需要相应的游戏内支持。部署包文件本身不代表游戏已经启用它,也不保证不同包彼此兼容。
整合包则是一份可分发的整体方案,可以包含 Minecraft 版本、模组加载器、多个包及配置文件。导入整合包会创建或更新实例;向已有实例添加一个包只是在修改它的内容清单。
资源仓库、项目和版本
资源仓库是托管内容的服务,例如 Modrinth 或 CurseForge。仓库中的一个项目代表一项持续维护的内容,它可以发布多个版本。版本除了更新内容,还可能分别适用于不同的 Minecraft 版本或模组加载器。
选择包时,需要区分两个决定:安装哪个项目,以及安装它的哪个版本。同名内容可能发布在多个仓库中,Polymerium 不会只凭显示名称把它们视为同一个项目。
包引用 Pref
Polymerium 用**包引用(Pref)**标识项目或具体版本。通常在界面中选择即可,不需要手写;在配方、导出文件或实例配置中可能看到这样的引用:
pref://modrinth/aC3cM3Vq
pref://modrinth/aC3cM3Vq@9I21YYxf第一条指定资源仓库和项目,第二条还通过 @ 指定版本。未指定版本的引用需要解析为可用版本;已解析的结果可以由版本锁保留,不等于每次启动都会自动更新到最新版。选择版本和批量更新见添加模组。
包与文件是什么关系
添加包会把引用写入实例配置(profile.json)。部署时,Polymerium 解析需要的版本,从共享缓存复用文件,或在缺失时下载,再将选中的包文件放入运行目录(build/)供游戏使用。
| 对象 | 保存什么 | 作用 |
|---|---|---|
| 实例配置中的包条目 | 引用、启用状态、标签和分组归属 | 描述这个实例需要什么 |
| 共享缓存中的文件 | 下载的包内容 | 供多个实例复用 |
| 运行目录中的部署结果 | 选中包对应的文件或符号链接 | 供 Minecraft 实际读取 |
因此,列表里有包条目,不代表文件已经下载或这次一定会部署。禁用的条目不会参与部署;不同组中重复出现的项目也需要按分组优先级选择生效条目。
实际文件称为资产。一个手动放入目录的 JAR、配置文件或截图,不会仅凭存在于目录中就成为受管理包引用。整合包也可能同时携带包引用与直接打包的文件。文件如何保存和分层,见目录模型;引用如何变成可运行的游戏内容,见部署流水线。
依赖与依赖者
如果包 A 需要包 B 才能工作,B 是 A 的依赖,A 是 B 的依赖者。例如,一个模组可能依赖提供公共功能的库模组。它们仍是分别管理的包,版本与兼容条件也需要分别检查。
Polymerium 可以显示包的依赖关系和安装状态,帮助你判断还需要添加什么。具体查看与添加流程见依赖项怎么办?。
包怎样进入实例并被整理
包可以单独添加,也可以随整合包导入,或通过应用配方批量加入。无论怎样进入实例,它们最终都是实例配置中的包条目。包来自哪个资源仓库与条目归属于哪个组是两件事:一个配方组可以同时包含 Modrinth 和 CurseForge 的包。
实例配置页用分组保留这些条目的归属:整合包组保留整合包关联,配方组关联应用过的清单,集合按名称在实例内整理包;没有这些关联的条目是散装包。标签则为条目提供可跨组使用的标记。
了解这些关系后,可以按需要继续: