Iron's Spells: Incantation 0.9.5
A small release that closes out the three open issues. Thanks to @Shadower007 and @Tubeess
for the reports, and to Kogyuu on CurseForge for diagnosing the mod conflict below.
Cast errors now name the mod responsible
If another mod hooks Iron's Spells' cast path and throws, you used to get
Cast Error: InvocationTargetException — an error from Incantation, naming nothing useful.
Every cast goes through reflection, so the real exception arrived wrapped.
Incantation now works out which mod the failure actually came from and says so:
Cast blocked by <mod> — mod conflict, with the full explanation in the log.
The known case is Iron's Restrictions (#3). Its AbstractSpellMixin injects into
AbstractSpell.canBeCastedBy(...) and reads a data attachment plus your Curios slots; when
that chain fails, the cast fails. It's a conflict between that mod and Iron's Spells rather
than anything Incantation does, and it affects any cast that reaches the hook. Removing or
reconfiguring Iron's Restrictions resolves it.
Already fixed in 0.9.4, and worth repeating
If you're coming from 0.9.3 or earlier, 0.9.4 fixed the crash that mattered most:
- Dedicated servers no longer crash on startup (#1, #2). The config-screen registration
sat in the mod constructor, where its reference to a client-only class was resolved before
theDist.CLIENTcheck guarding it could run. 0.9.0 and 0.9.3 both crash dedicated
servers — if your pack ships either, please update. - Spell indexing works on dedicated servers. It read client-only config and silently
indexed nothing. - You can cast the same spell twice in a row. The duplicate-suppression window re-armed
itself on every blocked repeat, so with an open mic it never lapsed and the only way to
recast was to say a different spell first.
The reason the server crash shipped twice is that the project had no dedicated-server run
configuration — every release was tested on a client, where that code path is fine by
definition. ./gradlew runServer now exists and every release is checked against it.
Upgrading
Drop incantation-0.9.5.jar over your existing jar. No config migration.
Requires Minecraft 1.21.1, NeoForge 21.1.x, Simple Voice Chat and Iron's Spells 'n
Spellbooks.