Magic NPCs 0.7.0 (Forge 1.20.1)
Curse Maven Snippet
What's new
[0.7.0] — Easy NPC Integration & Spellcasting Overhaul
A major update to Magic NPCs, focused on better spellcasting, smarter NPC behavior, improved datapack support, diagnostics, and full Easy NPC compatibility.
✨ Easy NPC Support
- Full Easy NPC integration: Easy NPCs can now become proper Magic NPC spellcasters.
- Easy NPCs understand their owners and factions, preventing friendly fire against owners, fellow owned NPCs, and faction allies.
- Mana now scales with an Easy NPC's experience level.
- Paused or immovable Easy NPCs are properly respected.
- Added the ability for Easy NPCs to cast spells through dialogue, triggers, and custom actions.
- Added Easy NPC-specific spellcasting objectives and configuration options.
- Improved diagnostics now show Easy NPC ownership, faction, level, movement, pause state, and spellcasting status.
- Easy NPC integration is disabled by default and has no effect unless Easy NPC is installed and enabled.
🪄 Spellcasting Improvements
- Casters now fight from an appropriate distance. NPCs using pure-caster loadouts will maintain the spell's configured minimum and maximum range instead of charging directly into melee.
- Casters now respect their owner's follow, hold-position, and formation orders.
- NPCs remain stationary while channeling spells to prevent interrupted or inaccurate casts.
- NPC rank can increase spell levels, allowing progression-based casters to become stronger over time.
- Scripted spells now properly complete their casting process instead of becoming stuck.
- Spell mana and cooldowns are handled consistently and are only spent when a spell actually begins casting.
- Friendly-fire protection now correctly accounts for different spell shapes and where their effects actually land.
- Unsupported spells are now identified instead of being incorrectly treated as supported.
🔄 Reload & State Improvements
- Reloading datapacks now updates existing NPCs. You no longer need to kill and respawn mobs after adding or changing a spellcaster loadout.
- Reloading no longer unexpectedly restores mana, resets cooldowns, or changes an NPC's caster status.
- Spellcasting can now be disabled immediately through configuration.
- Native mob attacks can be suppressed and restored, making it safe to switch between normal combat and pure spellcasting.
- Changed loadouts can properly update NPC equipment.
- Reload results now accurately report what was changed and why.
📦 Better Datapack Support
/magicnpcs validatenow checks all discovered loadout files, including invalid, rejected, shadowed, and disabled files.- Validation now provides clearer errors, JSON locations, and suggestions for common mistakes.
- Unknown or misspelled loadout options are now reported instead of silently ignored.
- Invalid restrictions and impossible configuration combinations are detected before they cause confusing behavior.
- The documented
{ "enabled": false }method for disabling built-in loadouts now works correctly. - Added more flexible spell requirements, including required items and hands.
- Added per-loadout caster chances and controls for built-in loadouts.
- School assignment is now predictable: a manually assigned school will no longer silently fall back to an unrelated datapack loadout.
- Added
/magicnpcs school autoto return an NPC to automatic school assignment.
🧠 Smarter NPC Behavior
- Multiple NPC compatibility adapters can now work together instead of overriding one another.
- Owner, faction, pet, raid, and other safety rules are combined more reliably.
- Sitting pets can be prevented from casting independently of other owner-protection settings.
- Raid allies can be protected from friendly fire.
- School selection now considers what a spell actually targets rather than relying primarily on its name.
🛠️ Diagnostics & Commands
- Improved
/magicnpcs whyto explain why an NPC can or cannot cast, including cooldowns, targets, friendly fire, movement restrictions, adapters, and other blockers. - Added detailed loadout diagnostics showing the desired and currently installed configuration.
- Added
/magicnpcs reconcileto manually re-evaluate NPCs. - Added focused validation commands for individual loadouts and entity types.
- Restored and expanded
/magicnpcs config. - Startup information now reports detected dependency versions and build information.
⚙️ Configuration & Compatibility
- Added dedicated Easy NPC configuration and school-assignment settings.
- Existing worlds are unaffected unless Easy NPC integration is explicitly enabled.
- The deprecated compatibility configuration remains supported for now and will be removed in a future release.
- Easy NPC Core support targets the verified 7.11.x range.
- Iron's Spells 'n Spellbooks support is limited to the versions and spells that have been specifically verified.
🐛 Fixed
- Existing mobs failing to become casters after
/reload. - Validation incorrectly reporting broken or undiscovered loadouts as valid.
- Advertised Magic NPCs commands being unavailable or incomplete.
- Spells charging mana but failing to actually execute.
- Reloads resetting caster mana and cooldowns.
- Pure casters getting stuck in melee range.
- NPCs losing their original attack behavior after spellcasting was disabled.
- Manual school assignments being overridden by datapack loadouts.
- Friendly-fire checks incorrectly blocking or allowing certain spells.
- Invalid datapack values being silently ignored.
- Numerous missing or broken features that had been advertised in previous releases.
📌 Notes
- Existing worlds and normal Recruits behavior remain unchanged unless the new features are explicitly enabled or configured.
- Some Iron's spells that require player-specific or mob-specific abilities remain unsupported rather than being partially implemented.
- Loadout conditions are evaluated when an NPC is reconciled; changing environments does not automatically select a new loadout until reconciliation occurs.
This mod has no additional files

