核心概念
元数据驱动的实例
在 Polymerium 中,实例是一个描述——而不是文件夹副本。这彻底改变了你管理游戏的方式。
上次更新
核心理念
大多数 Minecraft 启动器将实例视为一个装满文件的文件夹——游戏 JAR、模组、配置、库文件,所有东西都复制到一个地方。如果你有 5 个实例都使用了同一个 Sodium 模组,你的磁盘上就会有 5 份 Sodium 的副本。
Polymerium 做了一些不同的设计:实例是一个元数据文件。
你的实例是一个 profile.json 描述文件,它描述了你的游戏应该包含什么:
{
"version": "1.21.4",
"loader": "fabric:0.16.0",
"packages": [
{ "purl": "modrinth:sodium", "enabled": true },
{ "purl": "modrinth:iris", "enabled": true },
{ "purl": "modrinth:fabric-api", "enabled": true }
]
}实际的游戏目录是在部署时按需构建的。文件通过符号链接从共享缓存中引入——从不重复存储。
这在实践中意味着什么
切换加载器是即时的
想试试 Fabric 而不是 Forge?修改加载器字段,重新部署。无需重新下载,无需等待。新加载器的库文件会被链接到游戏目录中。
添加模组不会复制文件
当你安装 Sodium 时,文件只会下载一次到共享缓存中。如果另一个实例已经有它,Polymerium 只需要创建一个符号链接。零额外磁盘占用。
你的实例是可移植的
因为它只是 JSON 加上一些配置文件,你的整个实例可以通过 Git 进行版本控制、与朋友分享,或导出为模组包。
没有什么是永久的
游戏目录(build/)是一个构建产物。你可以随时删除它并重新部署。对于那些你无法承受丢失的文件——比如 options.txt 或你的存档——将它们移动到 persist/ 目录中。Polymerium 在重置或更新期间永远不会触碰 persist/。详情请参见四层目录 →。
工作流程
编辑元数据(添加模组、更改版本、切换加载器)
↓
部署
↓
游戏目录从缓存 + 元数据重建
↓
启动这是一个按需读取构建的模型。你的元数据是事实的来源;游戏目录是输出。
对比
| 操作 | 传统启动器 | Polymerium |
|---|---|---|
| 添加模组 | 下载 + 复制到实例文件夹 | 下载到缓存,符号链接到 build |
| 切换加载器 | 删除旧文件,重新下载所有内容 | 更新元数据,重新部署 |
| 更新模组包版本 | 创建新副本(磁盘使用量翻倍) | 原地切换版本,重新部署 |
| 分享实例 | 压缩整个文件夹 | 分享 profile.json |
| 5 个相同实例的磁盘占用 | 5 倍模组文件 | 1 倍模组文件 |