v0.9.4 — dedicated-server crash fix, and repeat casting
Pre-releaseIron's Spells: Incantation 0.9.4
Bug-fix release built from the issues players reported on 0.9.3. Thanks to
@Shadower007, @Tubeess, eli_zeele, bayratbill, xxshadow007, PhsycoPhink and Kogyuu
for the reports and the diagnosis work.
Fixed
-
Dedicated servers no longer crash on startup. The server died during mod
construction withAttempted to load class net/minecraft/client/gui/screens/Screen for invalid dist DEDICATED_SERVER. The cause was the Mods-screen config extension
point being registered in the mod constructor: it compiles to a method that names
the client-onlyScreenclass, and NeoForge resolves the types a method references
before theDist.CLIENTcheck inside it can run — so a runtime guard could never
have stopped it. Registration moved to a class the server never touches. This is the
crash from #1 and #2, which the 0.9.1 fix covered elsewhere but not here. -
Spell indexing now works on dedicated servers. A second, quieter server bug:
indexing read client-only config values, which don't exist on a server, so every
boot loggedCannot get config value before config is loadedand left the index
empty. Servers now index normally. -
You can cast the same spell twice in a row. The duplicate-suppression window was
pushed forward every time it blocked a repeat, so it kept re-arming itself: with an
always-on or voice-activated mic, background noise gets matched to the nearest spell
name in the grammar, which meant the window never expired and the only way to recast
was to say a different spell first. The window is now measured from the actual cast. -
Failed casts say what actually went wrong. Casting goes through reflection, so an
error thrown by Iron's Spells — or by another mod hooking it — arrived wrapped, and
the message you got was the uselessCast Error: InvocationTargetException. The real
cause is now shown and logged, with a note identifying the mod responsible. If you hit
this on 0.9.3, one known trigger is a conflict with Iron's Restrictions (#3). -
Iron's Spells compatibility. Current Iron's builds hand back a different shape from
getAllSpells()than older ones. Both are now handled; previously equipped-spell
detection could fail silently.
Changed
- Owned-spell restriction now matches Iron's Spells' own rule — only your Curios
spellbook slot, main hand and off hand count. Previously a spellbook anywhere in your
inventory counted, the server then rejected the cast, and it still showed up as a
phantom cast in your HUD streak and history. sculk tentaclesis now recognised — its alias could never match.- The voice macro recorder and its J / K keybinds have been removed.
- Slightly tighter noise gate (600 ms → 450 ms hold).
Note for anyone who themed their HUD
Eight individual HUD colour options (text, dotReady, dotListen, dotLoad,
dotError, dotOff, meterBg, meterFill) have been removed in favour of the palette
and accent presets. Nothing breaks, but if you had set those by hand they will quietly
revert to preset colours.
Upgrading
Drop incantation-0.9.4.jar over your existing jar. No config migration.
Server owners: this is the release you want — 0.9.0 and 0.9.3 both crash on dedicated
servers. If your modpack still ships 0.9.0, please update.