What this fixes
Spell Engine 1.9.10 changed the only method on its
CustomModelStatusEffect.Renderer interface — a parameter was added to renderEffect, and the
interface carries no default implementation.
Any class mod still built against the older signature therefore implements neither form. Fabric
loads it happily, because these mods only declare a loose dependency such as
spell_engine >=1.5.0, and then the client dies the instant one of their status effects is drawn
on any entity:
java.lang.AbstractMethodError: Receiver class net.berserker_rpg.client.effect.RageRenderer
does not define or inherit an implementation of the resolved method
'abstract void renderEffect(long, int, LivingEntity, float, MatrixStack, VertexConsumerProvider, int)'
of interface net.spell_engine.api.effect.CustomModelStatusEffect$Renderer
Downgrading Spell Engine usually isn't an option, because the mods that have been rebuilt require the newer version — so you end up trapped between two halves of your modpack.
Spell Fix adds the current overload back to the affected renderers and forwards it to the one they already ship. The effect renders as it did before instead of crashing.
Covered in this build
| Mod | Renderer |
|---|---|
| Berserker | RageRenderer |
| Forcemaster | ArcaneOverDriveRenderer |
| Oathsworn Paladins | SmiteRenderer, MarkRenderer, DivineInterventionRenderer |
| Witcher | QuenActiveShieldRenderer |
Mods already rebuilt for the current signature — Archers, Bards, Elemental Wizards, More RPG Library, Wizards — are untouched and keep working normally.
Notes
- Client-side only. Nothing is added on a dedicated server, and it is not required there.
- No dependency on Spell Engine or on any of the mods above. Every patch targets its class loosely, so Spell Fix simply does nothing if that mod isn't installed.
- No config, no commands, no content. It exists purely to stop the crash.
- The only thing lost is the value the new parameter carries, which the older renderer code never read anyway.
Requirements
- Minecraft 1.21.1
- Fabric Loader 0.16.0+
- Spell Engine 1.9.10 or newer (that's the version whose change causes the problem)
If your crash isn't listed
Open an issue with the crash report. If it's the same AbstractMethodError on
CustomModelStatusEffect$Renderer but from a mod not in the table above, it can usually be added
in a few lines.