We are back with another
huge update!
I did not get quite as far as I wanted to with magic mob improvements .. but I think what we have now should be enough to make all but those most fervent MythicMobs users happy. Enjoy!
Mob AI
- New brain section in magic mob configs (1.17 only)
- remove_default_goals to remove all vanilla goals (turn off default AI)
- remove_goals to remove specific default goals
- goals to add vanilla and custom pathfinding goals
- remove_default_targets, remove_targets, targets also available for targeting goals
- The debugger spell will show mobs' current goals
- magic_requirement goal can be used to wrap a vanilla goal in magic requirements
- Pets
- Added ownable property, allows any mob to be owned via the Tame action
- Added stay property, allowing any mob to "sit"
- (WIP, will be tameable with items)
- TODO: add pets example with pet shop, ownable pets
- Add collidable flag to mobs
- Add stay, owner and owned flags to CheckEntity, for specific behaviors for owned mobs
- Add owned and stay requirements
- New moon requirement for phase-of-moon logic, simplify time requirement
- Example scaredy mob added, a cat that gets scared in the dark
- Example philbert mob added, a friendly tameable creeper
- ModelEngine example mob kindetron added, custom boss mob
- Warlocks and Dark Wizards now try to keep their distance, swing their arms when casting
- Mutants will now follow mutant captains, and easily panic when there is no captain around
- NPCs now always look at players (have ai, don't move, aren't collidable)
- Add leash_blocks mob spawner option to prevent mobs going over specific block types
- Add swing trigger for mobs, triggers when they swing their arm (1.17 only)
Additions
- Added halloween example from TheDarthFather (thank you!) (use /mexample fetch halloween)
Improvements
- More precise targeting through blocks like stairs and carpet
- Improved natural mob spawning, rebalance otherside and netherside spawns
- Add Lands to generic_protection by default
- There is now a builtin magic.team.* list you can use to set up mob permission teams without ops being on a team by default (Permission queries changed again, please let me know if anything weird happens, such as no permission to craft or use wands)
- Allow using numbers for "slot" parameters in various places (such as the CheckInventory action)
- Mobs spawned by the monster and mob spell will attack for you (familiar and farm will follow you)
- The Damage action will now force-set the damager and damaged NMS references, so "magic" damage registers with vanilla mob AI, possibly other plugins
Fixes
- Fix SkillAPI integration (needs testing)
- Fix CheckTrigger action not being able to check the same trigger twice in two different actions of the same spell This change also means that multiple triggers in a spell will need to happen in the order they appear in the spell. I apologize if this interferes with any existing spell behavior, please let me know!
- Survival dragons changed to phantoms, improve AI and fix being one-shottable with arrows
- Fix issues with spell inventories and EliteMobs loot showers
- Force-deactivate all players on server shutdown (prior to logout), for MDB compatibility issues
- The Freeze action now uses a separate snowable material list to prevent changing ice to snow
- Fixes and improvements to mysql data storage, particularly in a multi-server setup
- Fix items put directly in a spell inventory (vanilla give, other plugins) getting lost if the player's survival inventory is full
- Fix integration with future releases of Towny, the Warzone API is gone
- Fix color lore showing on leather icons in Recall and other places
- Fix Capture not working on 1.16+ mobs
- Fix errors when using dev builds of GriefPrevention
- Fix piglins going nuts when their zombification is cancelled
- Fix CheckInventory action not being able to check for air (empty slot) see windfist example
- Fix parsing decimal costs, and fix mconfig making costs decimals
Additions
- Add critical: effects section for Damage action, when a critical hit occurs
- Add more custom wand lore placeholders: $attributes, $slots, $slot, $sets, $potion_effects, $enchantments, $cast_spell
- Add zAuctionHouse support, bound wands can't be auctioned
- Add placeholders option to wands, for making custom placeholders that can be used in custom lore
- Add potion_effects messages section for customizing potion effect names in wand lore
- Add allow_offhand wand flag, to prevent specific wands from working in the offhand
- Add renamable wand flag, to prevent specific wands from being renamed on an anvil
- Add fail action handler to Probability action
- Add prob(p, x, y) function to equation parser, returns x if a random 0-1 draw < p, else returns y
- Add cache: false option to items to allow randomization to work
- Add entity_parameters section to SpawnEntity action, will be applied to any mobs spawned
- Add skills.quick_cast: auto option to wands, to allow spellbooks with only some quick-cast skills
- Add rarify spell as an optional Apprentice spell, improves ore drops but requires teamwork
- Magic attribute modifiers now support specific slots and operations like vanilla modifiers
- Allow placeholders in Recall icon descriptions
- Add item_properties wand config, for (possibly randomized) properties to be put on the wand item when it is created
- Add hidden: true option on attribute configs, will keep them out of wand lore
- Add allow_path_overrides: false wand option, to make it easier to customize wand mana
Changes
- Mob spawners are indestructible to spells
- The Tame action will cause tamed mobs to persist
- Don't allow renaming spells, skills, currency or other non-wand special items on an anvil
- The Magic Sword can now have effect trails just like a wand
- Potion effects with a negative amplifier will be considered more important than positive ones
Balance Changes
- Nerf Blast damage
- Buff Kill damage vs players
- Nerf dragon attack damage
- The Mine and Chop spells are in the "engineering" category, useful when region-tagging