promotional bannermobile promotional banner

LRM Skill Tree

Custom skill tree addon for the Legends Reborn Medieval modpack. Adds 22 skill categories with combat bonuses, spell interactions, and class-specific passives. Not designed for use outside the modpack.
Back to Files

lrm_skill_tree-1.0.1+1.20.1.jar

File namelrm_skill_tree-1.0.1+1.20.1.jar
Uploader
BahanosBahanos
Uploaded
Aug 6, 2026
Downloads
10
Size
913.7 KB
Mod Loaders
Fabric
File ID
8591052
Type
R
Release
Supported game versions
  • 1.20.1

Curse Maven Snippet

Fabric

modImplementation "curse.maven:lrm-skill-tree-1481398:8591052"

Learn more about Curse Maven

What's new

LRM Skill Tree 1.0.1

Fixed

  • Spells using custom_impact never ran. To apply its combat bonuses, the mod replaces Spell Engine's custom impact handlers with a wrapper. That wrapper implemented java.util.function.Function, but Spell Engine declares its registry as Map<Identifier, it.unimi.dsi.fastutil.Function<Data, Boolean>> and casts to that type before invoking. Inheritance runs only one way between the two, so reading an existing handler worked and startup logged a success, while every handler written back poisoned the registry. Casting one of these spells threw ClassCastException inside SpellHelper and the spell was aborted on the spot.
    • The cast animation is sent to the client before that point and damage is applied after it, so the failure looked different from spell to spell: some did nothing visible at all, others played their full animation, dealt no damage, and left their buff applied permanently.
    • Broken since 1.0.0, on every class mod involved: wild_rage, outrage, bloody_strike, rumbling_swing, soulaxe_drain (Berserker); aard, aard_sweep, rend, quen_active_shield (Witcher); belial_smashing, burstcrack (Forcemaster); terra_earthquake (Elemental Wizards).
  • A failing combat bonus could take the whole spell down with it. The bonus pass now runs inside its own error boundary: a failure is logged and the host spell continues untouched. The original handler is still called without a net, so bugs belonging to other mods stay visible instead of being swallowed.
  • Handlers were wrapped again on every world load. SERVER_STARTED fires once per world, not once per game, so entering a second world without restarting stacked another wrapper and applied combat bonuses twice. Wrappers are now marked and skipped when already present.

Changed

  • Startup summary now reports what was skipped: Wrapped N custom_impact spell handlers for LRM combat bonuses (M already wrapped, K not registered).

Compatibility

  • Drop-in replacement for 1.0.0. No config, world, or save data changes.
  • No new dependencies.

This mod has no additional files