More RPG Library

Library with status effects, entity attributes & Spell engine API additions.
Back to Files

2.8.2+1.21.1-neoforge

File namemrpg-lib-neoforge-2.8.2-1.21.1.jar
Uploader
FichteeeFichteee
Uploaded
Nov 15, 2026
Downloads
74
Size
2.3 MB
Mod Loaders
NeoForge
File ID
9627721
Type
R
Release
Supported game versions
  • 1.21.1

Curse Maven Snippet

NeoForge

implementation "curse.maven:more-rpg-library-923030:9627721"

Learn more about Curse Maven

What's new

2.8.2 - 1.21.1

Added

  • MRPG FX (com.mrpg_lib.fx): code-defined particle and sound effects sent as one packet per effect and built on the client.
  • These defined were mainly added for the Loot & Explore Update. Relic's & Weapons with Abilities will use it.
  • 14 shapes, velocity and motion modes, anchors, orientations, timed effects that follow an entity, delayed layers, sounds and child effects
  • 13 FX presets that are adjusted with one call: Explosion, Burst, Shockwave, Aura, Swirl, Beam, Trail, Impact, Cast, Pillar, Cloud, Slash and Storm
  • Client setting fx_density in config/mrpg_lib/client_fx_v1.json
  • Colored copies of 13 vanilla particles, that use the vanilla textures and take any color and a scale
  • FxLayer.lifetime(ticks) sets how long the particles of a layer live, FxParams.startAge(ticks) starts a timed effect part way through
  • mrpg_lib:floating_bubble particle: a bubble that floats and lives for a few seconds, also outside of water
  • Dynamic spell school spell_power:dynamic: always uses the strongest of your melee, ranged and magic schools, including that school's haste, critical chance, critical damage (Critical Strike for melee and ranged) and damage type
  • Structure processor mrpg_lib:random_replace: turns a random number of blocks of a structure piece into another block, optional with a loot table. The other ones can stay, become a fallback block or copy the blocks around them
  • Structure processor mrpg_lib:item_frame_items: gives item frames in a structure a random item from a list of item ids and tags, items of missing mods are skipped
  • Structure block modifiers (data/<namespace>/mrpg_lib/structure_block_modifier/*.json): replace blocks in any structure with a chance, also in structures that are built in code like strongholds, mineshafts or nether fortresses, optional with a loot table. StructureBlockModifierProvider creates them with datagen
  • mrpg_lib:random_replace can replace every target block with a chance (optionally capped by count), and keep_properties keeps the old block's state properties
  • Structure processor mrpg_lib:container_loot: gives chests, barrels, decorated pots, suspicious blocks and other lootable blocks of a structure a loot table with a chance, and keeps the rest of the block (facing, pot sherds)
  • MobSpellCastGoal.withWeaponSkills(true) / MobSpellCastGoal.forWeaponSkills(...): mobs use the active skills of the weapon in their main hand (Swift Strikes, Cleave, Impale, ...) and prefer them over their other spells. The weapon is read every time a spell is picked
  • Spell casting mobs with an owner (Ownable, tamed or controlled) now hit and help the same targets their owner would, so a player's summon doesn't hit its owner or other players with area spells
  • Beam spells of mobs don't stick to the target anymore. The beam turns towards the target with a limited speed (1.5 degrees per tick, withBeamTurnSpeed(degrees), 0 = old behaviour) and the mob turns with it, only hits what it really touches and stops at walls, so a fast target can outrun it
  • Mobs also use weapons with a spell choice pool: one random spell of the pool is picked when the mob spawns, or a new one after every cast with withWeaponSpellChoice(WeaponSpellChoice.PER_CAST)
  • MobSpellCastGoal.withCustomCasting(CustomCasting): for mobs with their own cast animation, no Spell Engine player animation, the mob's own cast length and hooks for cast start, release and stop
  • Hostile mobs using the Better Combat goal or casting spells can now hit their own current target even if it is another hostile mob (for example a skeleton that shot them by accident). Other hostile mobs nearby are still spared
  • Mobs with Spell Engine's evasion chance attribute play the spell_engine:dodge animation when they dodge (needs playerAnimator), and spell casting mobs can't dodge while casting, like players. MobEvasion.setEvasionChance(mob, chance) sets it from code
  • Dev command: /mrpg_goal <targets> weaponskills [reroll] and /mrpg_goal <targets> spellcast <spell> custom <ticks>
  • Loot condition mrpg_lib:spells_available: true when Spell Engine has spells in the given pools and tiers, so a spell scroll entry is only rolled when it can get a spell (always false without Spell Engine)

Fixed

  • Lifesteal, Spell Vampire, Rage, Fuse and the burning / poison chances could stop working for a long time after switching to another singleplayer world. Their cooldowns are now kept per entity, so nothing carries over into another world and old entries are cleaned up
  • With Critical Strike installed, mobs couldn't cast spells of the Frost Ranged, Fire Ranged and Rage Melee schools
  • Crash on startup without Spell Engine: Tiny Config is now included in the jar. Before it only came with Spell Engine
  • Loot tables that use the spell scroll or spell pool function no longer stop working completely without Spell Engine. The functions just do nothing then
  • The conditional item entry no longer gives an empty roll when its item is missing, one of the other entries is picked instead.
  • The conditional item entry ran its functions twice. A spell scroll got two spells and enchant_randomly two enchantments. Now they run once
  • Path processors (path_adaptation, water_pillar, terrain_blending) now check the ground where the block really ends up, also in terrain_matching pieces. Before they looked at the height the template was saved at, which removed or swapped path blocks
  • water_pillar builds each pillar once, in the chunk of its corner. Before it was built again for every chunk the path touched, which could leave a path block on top of the pillar, no fence, and "setBlock in a far chunk" errors
  • Unknown block ids in structure processors no longer turn into air (which made every air block of the template count as a marker), they are skipped with a warning
  • terrain_blending only copies full terrain blocks, no more plants, stairs, slabs, bricks or ores, never blocks of the structure itself, and doesn't turn snow into powder snow anymore
  • path_adaptation got a fallback_block option. stop_on_water is ignored, it never had an effect
  • The conditional jigsaw structure supports pool_aliases and checks max_distance_from_center like the vanilla jigsaw structure
  • NeoForge: the rage attribute and the Duelist's Focus damage changes had no effect, NeoForge ignores the damage value they changed