In a large modpack, mods drift apart. Mod A calls a method in mod B; B changes that method's signature in an update; A - frozen at its own release - throws NoSuchMethodError. These breaks are usually latent: nothing happens at startup, nothing happens 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.
What it fixes
| ID | Mods involved | Problem | Symptom without the fix |
|---|---|---|---|
| FIX-01 | Berserker Class Mod ↔ More RPG Classes | CustomMethods.clearNegativeEffects changed from boolean to void in More RPG Classes 1.2.19. The return type is part of the JVM signature, so the old descriptor no longer exists. Berserker 1.2.5 still calls it. |
NoSuchMethodError when casting the Berserker's outrage spell at maximum RAGE |
How it works
Each fix is an independent mixin that redirects the broken call to whatever the target mod actually provides now.
FIX-01 resolves clearNegativeEffects by name and parameter count, never by return type - which is precisely what broke. The method handle is resolved once and cached. As a result the patch works whether the upstream method returns boolean, void, or something else entirely, so it will survive future updates on either side instead of breaking again.
The redirect is safe by construction: Berserker discards the return value (pop immediately follows the call in its bytecode), so no value this mod returns can change gameplay. It prevents the crash and nothing else.
Design rules
- Fail inert, never fail loud. Mixins are declared with
defaultRequire: 0. If a target mod is absent, or upstream finally fixes the signature, the patch is simply skipped - it can never become the reason your game won't start. - Every fix cites its evidence. Each mixin documents the bytecode that proves the break, so the patch can be audited and retired rather than trusted blindly.
- Obsolete fixes get removed. A patch left in place after upstream repairs itself will eventually mask a real regression.
Compatibility
- Works on client and server
- No dependencies beyond Fabric Loader - the mods it patches are optional at runtime
- Does nothing at all if the affected mods aren't installed
Log output
[LRM Fixes] loaded - compatibility patches active (FIX-01: berserker/more_rpg_classes)
If a target can't be resolved, the mod says so instead of failing silently:
[FIX-01] clearNegativeEffects not found in CustomMethods - patch stays inert
Used in the Legends Reborn: Medieval modpack.

