File Details
Ars 'n Spells 1.8.0 (Forge 1.20.1)
- R
- Mar 27, 2026
- 215.22 KB
- 2.0K
- 1.20.1
- Forge
File Name
ars_n_spells-1.8.0.jar
Supported Versions
- 1.20.1
Curse Maven Snippet
[1.8.0] - 2026-03-27
Upstream Compatibility Overhaul
This release brings full compatibility with Ars Nouveau 4.12.7 and Iron's Spellbooks 3.15.5.1.
Build System
- Replaced local jar dependencies with CurseMaven -- Clean checkouts now compile without manual jar placement; dependencies resolve automatically from CurseForge
- Updated Iron's Spellbooks dependency from 3.15.2 to 3.15.5.1
- Widened Ars Nouveau version range from exact
[4.12.7]to[4.12.7,4.13)to accept compatible patch releases
Critical Fixes
- Fixed fundamentally wrong spell classification across the entire mod -- All systems (cooldowns, progression, affinity, LP costing, scaling, discounts) were reading
recipe.get(0)which returns the cast method (projectile/touch/self), not the actual effect glyph. New centralSpellAnalysisutility correctly walks recipes, skips cast methods and augments, and identifies the first effect glyph - Removed two broken Ars mixins --
MixinArsManaHud(targeted removedrendermethod) andMixinSpellStatsPotency(targeted removedgetPotencymethod) were silently dead against Ars 4.12.7 - Removed
MixinArsManaRegenthat cancelled the entireManaCapEvents.playerOnTickhandler -- This broke capability state maintenance and sync. Regen suppression in ISS_PRIMARY/HYBRID mode is already handled byMixinManaCapability.addMana - Fixed all three rituals doing nothing on completion --
onFinishing(Player)andonRitualFinished(Player)were dead methods that nothing called; migrated to the current Ars 4.12.7onEnd()lifecycle hook - Fixed ritual double-registration on config reload -- Added guard and moved registration to
commonSetup
LP Death Prevention Rework
- Replaced broad temporary magic immunity with scoped cast transactions -- Previously,
setLPImmuneblocked ALL magic/sacrifice damage for up to 3 seconds, creating an invulnerability exploit. Now only blocks damage in the same tick as the LP cast - Immunity cleared immediately instead of deferred to next tick
- Safety timeout reduced from 3 seconds to 1 second
Mana Bridge Fixes
- Fixed BridgeManager stale state --
getCurrentMode()was reading config live but bridges were built once at init, creating impossible mixed states. Mode is now cached at init; changingmana_unification_moderequires a restart - Fixed RegenSynergyHandler ignoring mana mode -- Source Jar synergy was always writing to Iron's
MagicDataregardless of mode. Now routes throughBridgeManagerto write to the correct pool - Consolidated overlay handling -- Removed redundant
OverlayRegistrationHandlerand deadOverlayManager;ManaBarControlleris now the sole overlay controller - Fixed MixinScrollItem mixin warning -- Switched from
targetstovaluefor the publicScrollclass
Spell Scaling Improvements
- Added
natureandeldritchschools toSpellScalingUtilelement map (were missing from Iron's 3.15.x) - Wired affinity bonuses into spell scaling -- High affinity in a school now provides a spell power bonus (0.5% per level, up to 50%)
- Wired resonance multiplier into spell scaling --
ResonanceManagervalues now actually affect spell power
Progression System Overhaul
- Progression is now a real persistent capability -- Per-school cast counts stored in
ProgressionDatavia NBT, persisted across death and dimension changes - Attribute bonuses are now transient instead of permanent -- Recalculated from stored data on login; no more permanent stat drift
- Created working
ProgressionSyncPacket-- Replaces the old no-op stub that did nothing
Affinity System Fixes
- Added
setLevel()with[0,100]clamping -- Previously onlyaddLevelexisted with upper-only clamping, allowing desync to negative values - Switched to full-state sync -- Client now receives the absolute level instead of a delta, preventing desync
ManaWell Ritual Config
- Added dedicated
mana_well_range(default 8) -- Previously hijackedcooldown_category_durationdivided by 10 - Added
mana_well_regen_rate(default 2.0) -- Previously hardcoded to 2.0f
Cleanup
- Gated StartupValidator file I/O behind debug mode -- Write tests and lock probes only run when
debug_modeis enabled; mod-presence and Java-version checks remain always-on - Deprecated
XpConverter.mapGlyphToSchool()-- UseSpellAnalysis.analyze(spell).dominantSchool()instead - Deprecated
SpellCategorizer.categorizeArsGlyph()-- UseSpellAnalysis.analyze(spell).category()instead - Removed 8 dead code files -- MixinArsManaHud, MixinSpellStatsPotency, MixinArsManaRegen, OverlayManager, OverlayRegistrationHandler, old ProgressionSyncPacket, ArsSpellCastHandler, IronsSpellCastHandler
New Config Options
| Option | Default | Description |
|---|---|---|
mana_well_range |
8 |
Radius in blocks for Mana Well ritual effect |
mana_well_regen_rate |
2.0 |
Mana per tick granted within Mana Well range |

