JamLib — 用于运行其他 Minecraft 模组的技术库
JamLib 是一款 Minecraft 库模组,为其他模组提供跨加载器支持、JSON5 配置以及重新打包 jar 文件的检测功能。
JamLib 是一款 Minecraft 库模组,为其他模组提供跨加载器支持、JSON5 配置以及重新打包 jar 文件的检测功能。
JamLib — 用于运行其他 Minecraft 模组的技术库
本文测试和撰写时使用的 Minecraft 版本:26.1.2
支持的版本范围:1.18.x – 26.1.2
必需依赖:Architectury API
在 Fabric/Quilt 上还需要:Fabric API
JamLib 是一款 Minecraft 库模组,它本身不会向游戏添加任何物品、方块、生物或结构。它是一个实用工具封装层,为其他模组作者提供以下功能:加载器之间的平台抽象层、现成的配置文件系统,以及重新打包 jar 文件的检测器。如果没有这个库,需要它的模组根本无法启动。
这个模组的功能
该库同时为开发者解决三个问题:
基于 Architectury 的平台抽象——同一份代码可以在 Fabric、Forge、NeoForge 和 Quilt 上运行,无需单独分支。
JSON5 格式的配置 API,并带有游戏内自动生成的设置界面。
检查模组的 jar 文件是否有来自盗版«镜像»站点的重新打包迹象。
从玩家的角度来看,这个库不会给游戏玩法增加任何东西。唯一能注意到的是,任何使用 JamLib 进行设置的模组都会在模组菜单中出现一个新条目。如果整合包中存在此类模组,相应窗口会显示一个自动生成的页面,包含滑块、开关和输入框。
JSON5 配置
标准 JSON 不允许在代码中添加注释。该库通过 Jankson 依赖处理的 JSON5 格式则允许这样做。实际上,这意味着基于 JamLib 构建的模组的设置文件看起来像 .json5,并且已经包含了描述每个参数及其默认值的注释,就写在参数正上方。
文件在重写时会保留用户的修改:如果你添加了以 // 开头的自定义备注,配置下次保存后它仍会保留在原位。标准 JSON 库无法做到这一点。
设置界面是单独生成的。在 Fabric 和 Quilt 上,界面通过标准的模组菜单加载;在 Forge 和 NeoForge 上,则通过加载器内置的配置界面 API 加载。模组作者无需手动编写 GUI:JamLib 会从配置类中提取字段,并为它们构建带验证的控件——数值范围、字符串的正则表达式、需要重启游戏的警告等。
重新打包模组检测器
另一个独立功能会检查已安装模组的 .jar 文件是否从官方来源下载。一些网站会以自己的名义重新打包模组,有时还会捆绑第三方软件。JamLib 会将文件的实际名称与其清单(manifest)中的 JamLib-File-Name 字段进行比较。如果两者不匹配,在世界加载完成后,聊天框中会显示一条警告。该消息针对每个可疑文件只显示一次,之后该 .jar 的名称会被记住。
此检查仅适用于作者有意在清单中添加了 JamLib-File-Name 的模组(即同一开发者的模组,或手动集成了此功能的模组)。该库不会扫描 mods 文件夹中的每个 .jar 文件以查找病毒或恶意代码——它不是杀毒软件。
结语
JamLib 使模组开发者无需再为四种加载器同时手动编写配置系统和平台抽象层。只有搭配需要它的依赖模组时,安装 JamLib 才有意义。如果整合包中没有任何来自 JamCoreModding 或基于此库的第三方作者的模组,JamLib 的 .jar 文件就只会留在 mods 文件夹中,不起任何作用。
安装
一次典型安装大约 5 分钟。流程相同,只是 Loader 和对应构建不同。
- 1Install a mod loader (Forge, Fabric or NeoForge) that matches your Minecraft version.
- 2Download the mod file (.jar) built for that same version.
- 3Place the .jar into your .minecraft/mods folder.
- 4Launch Minecraft with the modded profile and check the mod loads in-game.











