从 CurseForge 自动下载
约 995 字大约 3 分钟 阅读量
2025-02-16
模组和插件可以通过设置 CURSEFORGE_FILES
为以逗号或空格分隔的 项目文件引用列表,从 CurseForge 自动下载和升级 mods 和插件。被移除的引用会自动清理,设置 CURSEFORGE_FILES 为空字符串将删除所有之前管理的项目文件。
每个引用中可以省略特定文件,以便自动选择所选 mods/plugin 的最新版本。选定的 VERSION
和 TYPE
会被用来选择合适的文件。
CurseForge API 密钥使用方法
必须分配一个 CurseForge API 密钥,并将其设置为 CF_API_KEY,详细信息请参见这里。
项目文件引用
提示
单个项目文件通常代表 mod/plugin 的一个版本,但 CurseForge 将这些项目广泛地称为 files
而不是 version
。
项目文件引用列表支持以下格式:
- 项目页面 URL,例如
https://www.curseforge.com/minecraft/mc-mods/jei
,将自动选择最新的文件
- 文件页面 URL,例如
https://www.curseforge.com/minecraft/mc-mods/jei/files/4593548
。
- 项目短标识(slug),例如
jei
,将自动选择最新的适配文件。
- 项目ID (project id) ,例如
238222
,将自动选择最新的适配文件。
- 短标识或ID通过
:
连接文件ID,例如jei:4593548
或238222:4593548
- 短标识或ID通过
@
连接部分文件名,例如jei@10.2.1.1005
,此选项可用于引用 mod/plugin 的版本,而不是查找文件ID。
- @ 后跟
容器路径
的列出文件
有关列出文件的更多信息
列出文件中的每一行都会被处理为上述的某个引用;但是,空行和以 # 开头的注释行会被忽略。
确保将列出文件放在挂载目录/卷中,或者声明相应的挂载位置。
例如,可以将 CURSEFORGE_FILES
设置为 "@/extras/cf-mods.txt",假设 "/extras" 已被添加到 volumes
部分,其中容器文件 /extras/cf-mods.txt 内容为:
# 此注释被忽略
jei:10.2.1.1005
# 此行及前面的空行被忽略
geckolib
aquaculture
naturalist
Docker Compose 中的多行值
通过 多行字符串 将 Compose 文件声明组织得更加整洁,例如:
CURSEFORGE_FILES: |
geckolib
aquaculture
naturalist
依赖关系
系统可检测声明列表中缺失的依赖项,但无法自动解析依赖关系。由于元数据仅提供模组ID而非具体文件版本,需手动添加所有必要依赖。