BetterAutoSave v0.16.2 — Forge 1.20.1 / NeoForge 1.21.1 异步存档优化
v0.16.2 — mixinextras 版本范围热修(多模组启动崩溃)
0.16.2 是一个打包热修:放开内嵌 MixinExtras 依赖的版本上界,修复在装有较新模组的整合包中服务器启动即崩的问题。仅影响 Forge 1.20.1 端;不改任何运行期行为
修了什么
自 0.13 起,Forge 端把内嵌的 mixinextras-forge 在 jarJar 里声明为 [0.3.5,0.5)——上界封死在 0.5 以下。当整合包里存在要求 mixinextras >=0.5 的模组(如 C2ME、letmefix、hariplayer、dcfixes 等)时,两个版本区间交集为空,FML 的 JarSelector 选不出一个能同时满足所有模组的 mixinextras 版本,直接在 mod 加载阶段抛「conflicting versions of io.github.llamalad7:mixinextras-forge」并崩服,服务器无法启动。这条上界原本是为了避免版本冲突,但生态普遍升到 0.5.x 后,它反而成了冲突的唯一来源(#22)
本版把「内嵌版本」与「声明范围」解耦:内嵌固定 0.5.4,对外声明兼容范围放开为 [0.3.5,)。放开上界后,FML 会选出所有模组共同满足的最高版本;仍保留 0.3.5 下界,不会反向强制只装 0.4.x 的整合包升级。NeoForge 端由平台自带 MixinExtras、不经 jarJar 内嵌,不受影响
验证
- 实构建产出的自包含 jar 内
META-INF/jarjar/metadata.json:range=[0.3.5,)、artifactVersion=0.5.4,内嵌mixinextras-forge-0.5.4.jar - 对照崩溃日志区间求交(BAS
[0.3.5,)与其余模组>=0.5.0~>=0.5.4)后收敛到 0.5.4,冲突消除
升级
- 替换 jar 即可,无配置变更
- 与需要 mixinextras 0.5.x 的模组(C2ME 等)同装、且此前卡在启动崩溃或退回旧版规避的服务器:建议升级