Spells & Spellcrafting

Wand-driven magic. Reagent-crafted spells across four schools: attack, defense, utility, summoning. Quick-cast bound spells from a radial menu, command Risen minions to fight for you. Loose the Devourer to eat the world around you!

File Details

spells_and_spellcrafting-2.11.75.jar

  • R
  • May 28, 2026
  • 554.76 KB
  • 8
  • 1.21.1
  • NeoForge

File Name

spells_and_spellcrafting-2.11.75.jar

Supported Versions

  • 1.21.1

Curse Maven Snippet

NeoForge

implementation "curse.maven:spells-spellcrafting-1529203:8157081"
Curse Maven does not yet support mods that have disabled 3rd party sharing

Learn more about Curse Maven

Spells & Spellcrafting 2.11.36 → 2.11.75 Changelog

🆕 New spells / effect types

  • Enlarge Self (L0 cantrip) + Enlarge Target (L3) — first custom MobEffect (spells_and_spellcrafting:enlarged). Stacking SCALE + JUMP + MOVEMENT_SPEED + DAMAGE riders, discrete STEP_HEIGHT, dismissible at any amplifier
  • Cloud Kill reworked from single AoE burst → POISON_CLOUD effect type — 8s lingering green vapor cloud with stacking POISON amplifier (I → IV over 8s exposure)
  • Ice Storm reworked from ballistic ice-ball → STORM_STRIKE effect type — 1-second sky-fall blizzard with vanilla snowballs raining + mid-storm freeze burst

⚔️ Spell-delivery overhaul (Plan 12 series)

  • Fireball → true ballistic projectile (was instant AoE) — fire_charge billboard, arcs with gravity, explodes in 4-block radius on impact, caster excluded from own AoE
  • Lightning Bolt → instant flash at look-target (max 24 blocks) via vanilla LightningBolt entity — no terrain fire, no double damage
  • Ray of Frost + Vampiric Touch → instant line-of-sight beams (snowflake / damage-indicator particles, freeze + drain riders)
  • Scorching Ray renamed to Scorching Bolt (matches single-bolt mechanic), now shows as flaming arrow billboard, finally actually sets targets on fire (missing flag fixed)
  • Magic Missile → white-hot wisp visual (snowball billboard + sparkle trail)
  • Chain Lightning — first hop now lands as vanilla LightningBolt (familiar flash + thunder), bounces visualized as jittered ELECTRIC_SPARK arcs
  • Cone of Cold — visual now matches the existing 60° hit-detection cone (snowflakes spreading forward from caster, glass-break sound)

✨ Visual / particle polish

  • Custom short-lifetime particles (short_flameshort_end_rod) — projectile trails fade ~75-85% faster than vanilla counterparts, no more lingering particle lines
  • Per-projectile visual_style codec field + custom SpellProjectileRenderer — spells can opt into item-billboard visuals (fireball / magic_missile / fire_arrow)
  • Vampiric Touch heart cascade — drain feedback hearts spawn at chest height + 2-3b in front, no longer rising into caster's face
  • Mage Hand HUD-02 row dimmed + 8x8 lock-sprite when active
  • Suppress vanilla MobEffect particles for caster-self buffs (no more obscuring particle spam)
  • Red flash overlay on dismissed buff rows

🪄 Wand QOL

  • Offhand wand casting (Phase 26) — wand in offhand fully cast-capable when mainhand is non-wand; HUD + radial + recast all hand-agnostic
  • Sneak + RC bypass — sneak now restores vanilla chest-open + ZV Soul Well/Gate travel without casting
  • Ghost Tear imbuement (ghostly flag) — wand swings through entities without melee hit; spell-cast still fires
  • Crying Obsidian imbuement (soulBound flag) — wand retained across death via copy-on-death attachment
  • Tooltip indicators for Phased + Soul Bound imbuements
  • Wand phasing fix — recast hook + WandPhasingHandler at LOWEST priority so spells fire against un-cancelled events at walls/entities

🖥️ UI Foundation refactor (v1.8 milestone)

  • New SsHudOverlay static utility (shared color/font/anchor/hit-test helpers)
  • New SsContainerScreen<M> abstract base (bevel/slot/denial helpers)
  • All 4 HUD overlays migrated: CooldownOverlay, BuffTimerOverlay, RadialMenuOverlay, MinionHudOverlay
  • All 3 menu screens migrated: ReagentPouchScreen, RepairScreen, BreakEnchantmentScreen
  • Word-wrap for long radial spell names; nameScale bumped 0.50f → 0.65f for legibility
  • drawHoverDenial overlay wired into Repair + BreakEnchant screens

👆 Click-to-dismiss SS buffs (Phase 29)

  • Shift + left-click on a HUD-02 buff row → dismiss the effect server-side
  • DismissBuffPacket C2S with 7-gate validator (gold-standard pattern, mirrors RepairSelectionPacket)
  • SsBuffSignatures moved to spell/buff/, gained bidirectional 1-to-N SPELL_TO_EFFECTS map
  • AntiGravityExpiryListener + MirrorImageExpiryListener for LEVITATION / INVISIBILITY early-Remove paths
  • Dismiss animation (slide-right + fade + red flash overlay)
  • Works while inventory is open (ScreenEvent.MouseButtonPressed.Pre routing)

🧪 Reagent Pouch — Curios integration (Phase 24/25)

  • CuriosLabelBridge hybrid resolver — works whether Curios is installed or not
  • ModList-gated dispatch in ReagentScanner for compatibility safety
  • Typed slot labels in tooltips; orphan isInCuriosSlot purged in Phase 25 cleanup

🧙 Minion / spell behavior corrections (v1.7.4 audit blitz — 16 fixes)

  • 3 security fixes — MultiJumpPacket infinite-jet exploit, WorkAreaPacket OOM exploit, handleCastSpell allowBulkCast bypass
  • FriendlyFireHandler now protects all IOwnedEntity summons (no more own-minion damage from spells)
  • Magic Missile / Chain Lightning / DebuffEffect / KnockbackEffect all filter own minions + ZV villagers (no wasted projectiles/hops on FF-protected targets)
  • SummonEffect cap re-check + Risen-line whitelist
  • MobDeathHandler Risen* whitelist hotfix (v1.7.2)
  • SoulWellHelper / WorkAssignment / MinionToolLoadout null-safety + bounds-checks
  • Various smaller corrections (RisenSkeleton goal priority, RisenZombie arrow conversion attributes, UtilityEffect log spam cleanup)

🛡️ Session-40 audit sweep (DRIFT + HAZARD)

  • MultiJumpPacket wire-format docs + 5-gate validator clarifications (DismissBuffPacket + FlyThrustPacket)
  • AntiGravityExpiryListener grace-window race guard
  • Mage Hand tick driven from LevelTickEvent (not PlayerTickEvent)
  • HudClientData.multiSnapshot returns deep-copy immutable
  • BuffTimerOverlay cross-thread state made thread-safe

♻️ Misc

  • Mage Hand now vacuums XP orbs in addition to items
  • Mirror Image dismiss properly fires removeEffect(INVISIBILITY) (was missing from registry)
  • WandData MaterialTier + GemState stream codecs use string names (not ordinal — safe across enum reorders)
  • WorkAssignment.WorkType uses string-name NBT codec
  • SoulGemItem store/cull paths gated through SsMinionRegistry
  • Homing target re-acquisition throttled to every 5 ticks (perf)
  • brown_mushroom added to reagent allowlist (26 → 27 type-locked slots)
  • Stale orphan ss_buff_icon.png removed from typoed namespace dir
  • Localhost auto-connect dev shortcut removed