跳到正文

LRM Fixes

作者:Bahanos

Patches API breaks between mods so you can keep updating instead of holding a mod back. Each patch is an independent mixin that cites the bytecode proving the break, and fails inert if its target is absent.

收藏

介绍

中文介绍正在准备中,下面暂时显示原文。

In a large modpack, mods drift apart. Mod A calls a method in mod B; B changes that method in an update; A – frozen at its own release – throws NoSuchMethodError. These breaks are usually latent: nothing at startup, nothing on world load. The game only crashes when that exact code path runs, sometimes hours into a playthrough.

Until now the only fix was holding a mod back. LRM Fixes patches the call sites instead, so you can keep updating.

How it works

Each patch is an independent mixin that redirects a broken call to whatever the target mod actually provides now.

Targets are resolved by name and parameter count, never by exact signature – because the signature is what broke in the first place. Resolution happens once and is cached. A patch therefore survives the next upstream change too, in either direction, instead of breaking a second time.

The redirects are safe by construction: they carry out the call that was always meant to happen. They prevent a crash and change nothing else.

Design rules

  • Fail inert, never fail loud. Mixins are declared with defaultRequire: 0. If a target mod is absent, or upstream finally repairs the break, the patch is simply skipped. It can never be the reason your game won’t start.
  • Every patch cites its evidence. Each mixin documents the bytecode that proves the break, so it can be audited and retired instead of trusted blindly.
  • Obsolete patches get removed. A patch left in place after upstream repairs itself will eventually mask a real regression.
  • A log line must prove something. Startup only reports which patches are armed. Each patch logs a second time the first moment it actually intercepts a call – that second line is the only evidence it is doing any work at all.

What it fixes right now

The list of patches changes from release to release. See the changelog of the file you downloaded: it names each patch, the two mods involved, and the symptom it prevents.

Compatibility

  • Works on client and server
  • No dependencies beyond Fabric Loader – every mod it patches is optional at runtime
  • Does nothing at all if the affected mods aren’t installed

Used in the Legends Reborn: Medieval modpack.

常见问题

LRM Fixes 支持哪些 Minecraft 版本?

LRM Fixes 支持 Minecraft Java 版 1.20.1,可用的加载器:Fabric。下载时注意选择和你游戏版本一致的文件。

LRM Fixes 怎么安装?

先用 PCL2 或 HMCL 启动器安装对应版本的 Fabric,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。

评论

登录后评论和评分

Bahanos 的其他作品

查看全部 →