This is kind of a big one!
I've been wanting to add basic NPCs to Magic for a long while. I find them very useful for spell shops and simple tutorials, and I hate having to rely on Citizens for that.
Don't get me wrong, Citizens is great and I love it. If you're happy with it, then keep using it! But for my dev servers, it is often the plugin that makes me have to wait before I can update.
I also really don't like how the NPCs can get moved around and trapped underground, or how the text dialog works when multiple players are standing near an NPC.
So, personally, I am no longer beholden to Citizens NPCs.
Magic NPCs are very simple by comparison, but can do most basic NPC things. There is not pathing right now, so they can only stay in one place. But they can cast spells, run commands, talk to players. I use disguises instead of fake players.
And finally Citizens NPCs can all be converted to Magic NPCs with one simple command.
This release also has a lot of improvements to the Recall spell, including allowing players to level up and earn multiple markers, as well as letting you arrange how the warps look.
Full changelog:
- Magic NPCs
- Manage via new /mnpc command
- Lightweight replacement for simple use-cases of Citizens
- Can import from Citizens
- Can run spells and commands, talk to nearby players
- Can do anything Magic Mobs can do
- Add dialog scripts in-game using written books
- Will stay put!
- General improvements to Recall:
- Allow using an "options" list much like Selector
- Maintain order of "warps" and "commands" map
- Allow for multiple markers
- Add Recall level 4 and 5 to survival configs, 2 and 3 markers respectively.
- Waypoints waiting to be unlocked will now show in the menu (configurable)
- Fix mob triggers not repeating
- Add proper Residence integration
- Fix Skript pre-cast ('on casting of') event
- Fix trinketshop skull icons in 1.16
- Crafting recipes for wizard and apprentice armor are now disabled by default
- Bypass permissions are no longer applied to ops by default.
I changed this to reduce confusion about when protection is and is not working.
If you prefer to bypass, give yourself the "Magic.bypass" permission.
- Allow using titles and other escape prefixes in resoure_pack.sending message
- Set persist:false on broomsticks and entity projectiles, hoping they won't stick around
- Add "split" flag for slime mobs, to prevent them from splitting. Add "cube" mob to survival.
- Add "/mwarp list" command
- Improvements to making sure data files don't get wiped
- Use chunk ticket API for performance improvements in large construction and undo tasks in unloaded areas
- Automaton will no longer force-load chunks
- Some fixes to undoing spells on world save, to prevent leftover spell changes
- Fix firework action (e.g. stun spell) bypassing pvp restriction
- Fix projectile target_self_timeout always turning on self-targeting
- Fix arenas example "battle" sword, it was supposed to have abilities
- Add target_potion_effects and ignore_potion_effects parameters,
for spells that only target entities with specific potion effects applied
- Allow wand overrides to work with sections, such as "requirement.permission somepermission"
- Add "requirement" option to CheckRequirements, for using a single requirement instead of a list
- Add permission_teams option for permission-based friendly fire grouping
- Fix an exploit that could be used to place water in the nether
- Fix exploit duplicating treasure loot, though containers will stay on the indestructible list for now
- Add "casted" event for Skript, StartCastEvent for API