Magic icon

Magic -----

Add fully customizable magic wands, items, spells, mobs and more to your server!




10.9.4
  • Fix the Capture spell not saving custom entity data in 1.20.5+
  • Fix recent versions of 1.21.1 being broken with a ton of skull-related spam (thanks, alekso56!)
  • Fix using map ids over 64k (thanks, YanisBft!)
  • Fix custom maps in 1.20.5+
----------, Oct 18, 2024

10.9.3
  • Fix item crafting in 1.20.5+ The root cause of this issue were items created by the plugin having an extra "damage" component added to them, which causes the items to be different than a standard vanilla item. The fix is to not set item durability unless it's being set to something other than zero. Hoping for no side-effects.
----------, Sep 6, 2024

10.9.2
  • Fix setting item flags (for hiding vanilla lore) in 1.20.5+
  • Fix item lore (setting lore components via JSON was broken) in 1.20.5+
----------, Aug 28, 2024

10.9.1
  • Support for Minecraft 1.20.5 and 1.20.6, 1.21 and 1.21.1
  • DROP support for arbitrary NBT tags on items. This was the item_name{tag: ...} format. Now only CustomModelData and custom_model_data are supported, as well as the {12345} shortcut syntax.
Developer's note:
Thank you for your patience!

This was an exceptionally difficult update for me, while I don't have much time to work on Magic anymore.

I'm hoping it'll be smoother going from here on.

I am still considering maing a new version that relies more on API so these kinds of breaking updates won't happen, but I'm not sure if that's going to go anywhere.

I have tested this release as much as I can, but there are likely to still be issues. Please report anything you find to Github Issues.
----------, Aug 23, 2024

Quick Note

Support for 1.20.5 is looking like it's going to be pretty complex. I'm going to take some time to weigh my options, but unfortunately it may be a little while before there is a working version of Magic for 1.20.5

Thank you for your patience!

Magic 10.9 Release Notes

CHANGES
  • Spell icons now use players heads instead of vanilla items, when not using the resource pack. The previous RP is still available, use /mexample add vanilla if you need it back.
  • The spell hotbar in 1.20 uses the "space" provider instead of glyph hacks
  • Resource pack functionality will be disabled when ItemsAdder is present Use /mconfig configure config override_resource_pack_plugins true to override ItemsAdder
ADDITIONS
  • Add mount_restricted spell parameter, to disallow certain spells while on a mount
FIXES
  • Change entity spawning to work around issues with 1.20.x internal changes
  • Update Heroes integration
  • Fix automata not properly chasing their vicitms


----------, Apr 23, 2024

10.8.13
  • Hotfix for more spigot/paper compatibility issues involving calls to createEntity
  • Some optimizations for magic mob saving and loading
  • Add teleport_target parameter to Teleport action
----------, Feb 28, 2024

10.8.12
  • Add support for 1.20.4
  • Add support for 1.20.3
  • Fixes for compatibility with recent 1.20.2 versions (or maybe break it? I don't know what's going on)
  • Fix ModifyWalkSpeed speed parameter not working with variables
  • Add effect visibility API
  • Add velocity attribute
  • Add crash_entity_speed and crash_entity_dismount_speed parameters to RideEntity action
  • Add crash_cooldown and crash_entity_cooldown parameters to RideEntity action
  • Add adaptive_knockback_resistance parmeter to Damage action (thanks to ArcticFox XVI)
----------, Jan 5, 2024

10.8.11
  • Add support for 1.20.2
  • Fix source_at_target parameter of ChangeContext when there is no target, it will clear the source location This fixed an issue with the Carpet Bomb spell where targeting nothing would cause it to target yourself. Please watch out for unintended side-effects of this change, but I think the new behavior is more consistent.
----------, Oct 5, 2023

10.8.10
  • Fix broken hotbar, caused by Spigot chat API "fix"
  • Update material lists to include 1.20 (and some missing 1.19) entries
  • Add light and target_light attributes
  • The damage_dealt attribute now takes into account damage modifiers (via using getFinalDamage)
  • The above also affects the mana_per_damage mechanic
  • Turned off ModelEngine integration by default. May remove it completely.
  • Fix wand enchantment lore duplicating if not hiding vanilla lore
  • Update RP for 1.20 to pack format 15
----------, Sep 12, 2023

10.8.9
  • Support for Minecraft 1.20.1 and 1.20
  • Fix backwards compatibility (via EffectLib backwards compatibility fix in 10.2)
  • Fix the ModifyEntity action changing the owner of the target mob Use own: true in the action parameters if you want this functionality back
----------, Jun 14, 2023

10.8.8
  • Add catch_fish trigger
  • Add last_spell placeholder
  • Fix a year-old bug caused by an EffectLib change that caused a lot of effects to revert to using the flame particle by default
  • Fix direction bug in Velocity action when targeting an entity on the same block as the caster
  • Fix console spam in a specific strange mblock case
----------, Apr 21, 2023

10.8.7
  • 1.19.4 Support
  • Add difficulty attribute (0 = peaceful, 1 = easy, 2 = normal, 3 = hard)
  • Particle configs can now use NMS or Bukkit names (thanks, Chronokeeper!)
----------, Mar 20, 2023

10.8.6
  • Fix dependency issues that trigger some new Paper checks
  • Remove dependency on CMI, which was triggering another Paper check NOTE: This was originally put in to fix some compatibility issues with CMI's inventory saving features, please watch out for regression of this issue!
  • Allow using wands with craftable: true in furnace recipes NOTE: Smelthing recipes with wand ingredients still doesn't seem to work but I will have to look into this further at a later date.
  • Add worlds requirement type
  • Add fulltime attribute, for checking total server (world) time
  • Add allow_replacement parameter to EntityProjectile action
----------, Feb 22, 2023

  • Add support for 1.19.3
  • Add format option to individual currencies for custom number formatting per currency type
  • Add ArenaStopEvent and ArenaStartEvent to the API
  • Add model_engine.enabled option to turn off ModelEngine integration (which may be broken currently?)
----------, Dec 13, 2022

I'm not dead, just... sleeping! (actually busy)

10.8.4
  • Revert change from 10.8.2: (A spell is no longer allowed to damage or combust an entity it is not allowed to target)
    • This was causing players to not be able to damage mobs after casting friendly spells on themselves (Cure, Heal)
  • Restore old parameter replacement functionality, allows for templated spells and was unintentionally broken
  • Fix world modification not working at y < 0
  • Add netherside and otherside replacement rules for deepslate and tuff, not trying to handle ancient cities (yet?)
----------, Oct 11, 2022

Sorry this took me so long to release- I was on a road trip for a couple months.

Hopefully anyone that really needed this found the dev build :)
----------, Aug 30, 2022

10.8.2
1.19.1 Support
  • Minecraft is not dead... long live Minecraft!
  • ... But please do fix the chat censor :(
Fixes
  • Fix Skript integration
Additions
  • Add support for disguise_target to the Disguise action.
  • Add take_wand: true option to TakeItem action
  • Add mode: hidden spell property to hide spells from the wand inventory
  • Add custom lore spell option (does not currently support any templatization)
  • Add spells_use_wand_name: false wand parameter
----------, Jul 29, 2022

10.8.1
Fixes
  • Fix spawn replacement not working after a little while
Additions
  • Add support for the DamageIndicators plugin, make sure to ignore hologram armor stands
  • Add support for ProSkillAPI (maybe, untested)
Changes
  • A spell is no longer allowed to damage or combust an entity it is not allowed to target This probably only affects spells using vanilla explosions and fire.
----------, Jul 12, 2022

10.8
1.19 Support
  • As always, there may be bugs. Proceed with caution, for now.
Additions
  • Add toggle_icon wand action, for making wands with toggleable icons that have no spell inventory
  • Add pickup_delay option for dropped item entities, can be set to "infinite"
  • Add relative_location_offset parameter to Entity/ArmorStand Projectile action
  • Add timeout parameter to all Check actions, to wait a certain amount of time, repeating the check
  • Add CheckChatClick action, which can send a message to a player and then react to a click
  • Add CheckBedrockForm action, which can show Bedrock (via Geyser) players a two-button form and react to responses
  • Add same_block: true option to Teleport action, to allow teleporting less than one block. This is normally disallowed to prevent glitching through panes and iron bars
  • Add use_target parameter to CheckRequirements action, to make it easier to check target requirements
  • Add icon wand mode, meant to be used with the toggle_icon action, prevents icon toggling on activate
  • Add uuid option to attribute configurations
  • Add crash_destroyed effects block to RideEntity action
  • Add hookshot wand, model courtesy of Atrelyu
  • Add target_no_damage_ticks: false option to spells, to ignore targets that are invincible due to vanilla recently-damaged protection
  • Add pickup_delay parameter to ThrowItem action
  • Add source_yaw parameter to ChangeContext action
  • Add new ArmorStandProjectile options: reactivate_wand, active_wand
  • Add use_active_icon: false option to wands, to make active icons completely manual, similar to mode: icon
  • Add dismount_height option to RideEntity and MountArmorStand actions
Changes
  • Bring back Regenerate and SuperRegenerate, Conduit path. These now use a world copy (like Backup/Repair) since chunk regeneration is no longer supported
  • The Gather spell has been changed, the friend system is gone and it now uses chat links and Bedrock forms
  • A wand without a path assigned will now always have a spell inventory (if using inventory mode)
  • Custom Recall markers will now use the look direction that was set when creating the marker marker_maintain_direction: true can be used for old behavior
  • Recall changed to use shift-click to save markers, rather than aiming down
  • Broomsticks will not let you dismount them until you are near the ground
Fixes
  • Fix issues teleporting to locations on half-blocks (slabs)
  • Fix integration with pre-v5 MythicMobs
----------, Jun 11, 2022

Please update as soon as you can.

This exploit was published on at least one YT channel about 4 hours ago, it's probably spread around quite a bit. I'm not going to go into the details here, but if your players are the cheating type they've probably found it already.

Sorry for any inconvenience this has caused!
----------, May 2, 2022

Note: If you are using MythicMobs you will need to have the latest version (5.0 or higher) or Magic will not load.

Additions
  • Add mushroom_cow_variant entity data tag
  • Add decor_item llama data tag
  • Add engineering toggle to replace/ignore only earth blocks
  • Add brush_entities parameter to engineering spells, to turn off replicate and clone copying entities
  • Add clear_containers parameter to engineering spells, to clear (the copied versions of) containers when copying them
  • Add min_radius parameter to AreaOfEffect action, to select entities within a ring
  • Add /mage discover command for learning crafting recipes
  • Add /mitem amount command to change the amount of an item stack
  • Add sort option to AllEntities action
Changes
  • Change coal+white dye -> black dye recipe changed to return 2 black dye
  • Permission for mhelp command changed to magic.commands.mhelp for consistency
  • The Wolf staff now uses a class to synchronize brushes and spells (great for PWI)
Fixes
  • Update to latest MythicMobs API Note that because the Mythic API changed completely, you will need to update MythicMobs when you update Magic.
  • Update to latest Towny API Same note applies, you will need to update Towny if you update Magic.
  • Fix boss bar display for spells like Cloak when switching to a different class while the spell is active
  • Fix issue updating mobs that have despawned on config reload
  • Fix Pillager mob head
  • Fix error saving an NPC that didn't successfully spawn an entity
  • Ignore animation events while in an inventory, this prevents unintentional spell casts from dropping items while holding a wand
----------, Apr 18, 2022

Fixes
  • Fix broomsticks in 1.18.2 (NMS Binding issue)
Changes
  • Entities spawns will no longer match magic mobs based on display name. This is too exploitable, unfortunately. Please see the builtin spawn eggs and spawners to see how to put the correct data tags on. If you need this feature, perhaps due to existing spawners or eggs that can't be updated, use /mconfig config match_magic_mobs_by_name true
  • Shulker boxes destroyed by magic will not drop their contents
  • The /mmob command can be used by entities (because I guess that's a thing??)
Additions
  • Added target_block parameter to CheckInventory action, to allow searching container inventories
  • Added player_weather: true option to Weather action, for player-specific weather
  • Added airtide, a Trident with riptide that makes local rain when you hold it
----------, Mar 9, 2022

1.18.2 Support

Additions

  • The Mount action now works with ModelEngine mobs
  • Add ADD_PASSENGER and REMOVE_PASSENGER actions to ModelEngine action
  • Added gps survival item, crafting recipe (disabled by default)
  • Add FindTileEntities action
  • Add block and tblock placeholders for describing the source or target block type
  • Add drop: destroy wand option, for disposable wands. Used in admintool.
  • Fix teleport behavior on dirt paths, controlled with round_up parameter to Teleport action
  • Add craftable overworld_compass (Magnetic Compass) item
  • Add discover_by optional recipe list, works the same as discover_recipes on an item
  • Add heal: false option to arenas, to avoid healing players before and after a match
  • Add new disguise parameters to control what a player sees while they are disguised: self: false, hear, self_hide_armor and self_hide_item
Changes
  • Improve/Standardize placeholder support for Book action
  • Chop will chop Shroomlights
  • Enchantment level attributes will show the maximum of all armor and items. Note that it's still not super smart, holding an armor piece will count
  • Consider crimson and warped roots as plants (may fix Recall issues in nether)
  • Lodestone and respawn anchor added to indestructible list
  • Steps added to passthrough list
  • Fix the player and entity parameters still allowing a projectile to hit other players/mobs if they get in the way.
Fixes
  • Fix using custom items as warp icons
  • Fix wand state not saving when grabbing the wand out of your own hand in the inventory
  • Fix respawned entities being unaware (no ai, sort of)
  • Fix/Remap biome configs in several places (fixes camo armor and dragon)
  • Fix errors from enchantment attributes
  • Potion effect attributes changed to be 1-based
  • Fix issues with large connected magic portals
  • Fix Lightsabers retracting when swung
----------, Mar 1, 2022

Fixes
  • Fix vanilla lore (attributes, enchants) not showing on shop items
  • Fix cancel_on_damage always triggering, with any damage amount
  • Fix Chop not working on azalea leaves
  • Fix insufficient resource messages when not using a GUI (Fixes war example reload messages)
  • Turn off Magic's mob spawner features when Slimefun is present
  • Fix wither skull (the item) appearance
  • Fix alt-cast spells not levelling up
Changes
  • Turn image map loading messages into debug messages (hiding them by default)
  • Make wand permissions consistent so armor wands should work the same as handheld wands
  • Phase of moon requirement default format changed to parse as = instead of >=
  • Change rocketboots recipe to use gunpowder since firework rockets don't want to work
  • Change kill to do 1000 damage to players
  • Beds are indestructible to magic by default
  • The swappable and undroppable wand properties default based on whether there are actions assigned to those keys
  • The Orient action changed to fall back to target location if no entity was targeted. Use the target_block: false parameter to disable this.
  • You can now use log_verbosity: -1 to turn off all log messages. Highly not recommended.
  • Nether and end portal blocks added to the indestructible list
  • Forked the extramobs example to use a new URL, remove mob spawners
Additions
  • Add world_modification.remove_invalid_entities: true option for config.yml This may be needed if your server is crashing due to out of bounds projectiles or other entities
  • Add validate_spells: false option for config.yml, to turn off spell validation
  • Add portal_warp magic block parameter to turn nether/end portals into warps, use /mblock add portal
  • Add GiveCurrency action
  • Allow specifying particle_offset in effect parameters as a vector
  • Add shapeless recipe type support, takes just a list of ingredients
  • Added coal_dye survival recipe, disabled by default, to replace coal_ink
  • Add allow_overlap: false option for spells, to prevent overlapping casts
----------, Feb 7, 2022

Happy New Year!

As foretold in the prophecies, 10.5 had some bugs. This one still might, but I'm hoping it is working.

While I was on vacation, Spigot apparently decided to pull a sneaky on me and change the internals of their configuration code in a way that broke Magic.

If you are on latest 1.18.1 you will need to update the plugin or it will be broken!

Otherwise you may want to skip this version since it has not been extensively tested.
----------, Jan 4, 2022

Happy New Year!

While I was on vacation, Spigot apparently decided to pull a sneaky on me and change the internals of their configuration code in a way that broke Magic.

If you are on latest 1.18.1 you will need to update the plugin or it will be broken!

Otherwise you may want to skip this version since it has not been extensively tested.
----------, Jan 3, 2022

  • 1.18.1 Support
  • Silence invalid biome warnings
Additions
  • Add requirements config for paths, for custom-gated progression.
  • Add temporary: true mob option, mostly for dropped items
  • Add arena messages section, allow customizing all arena messages
  • Add material_only option to CheckInventory to do simple item comparisons
Changes
  • Allow replacing infinite potion effects. This fixes spells not being able to increase the amplifier of an already-added effect, e.g. from wizard boots
Fixes
  • Fix the Freeze action not piling up snow in recent MC versions, add pile_snow: false option to turn this off
  • Add 1.18 biomes to camo armor mapping
10.3.1 (which did not get released, but is included here)
  • Fix wand dupe/overwrite issue with renamed wands
  • Fix modifiers from wands not getting applied
  • Prevent wearing spells from the spell inventory with shift-click
  • Fix stars configs mana progression (converted to use path overrides like survival)
----------, Dec 16, 2021

  • 1.18.1 Support
  • Silence invalid biome warnings
Additions
  • Add requirements config for paths, for custom-gated progression.
  • Add temporary: true mob option, mostly for dropped items
  • Add arena messages section, allow customizing all arena messages
  • Add material_only option to CheckInventory to do simple item comparisons
Changes
  • Allow replacing infinite potion effects. This fixes spells not being able to increase the amplifier of an already-added effect, e.g. from wizard boots
Fixes
  • Fix the Freeze action not piling up snow in recent MC versions, add pile_snow: false option to turn this off
  • Add 1.18 biomes to camo armor mapping
10.3.1 (which did not get released, but is included here)
  • Fix wand dupe/overwrite issue with renamed wands
  • Fix modifiers from wands not getting applied
  • Prevent wearing spells from the spell inventory with shift-click
  • Fix stars configs mana progression (converted to use path overrides like survival)
----------, Dec 10, 2021

1.18 Support
  • Preliminary support, should load and run, might get a lot of warnings (mostly about biomes)
Additions
  • Add show_enchantment_lore wand property to force hide/show enchantments in lore The default is the old behavior, enchantments will only be shown for enchantable wands that don't show vanilla enchants
  • Add support for complex potions in one line, e.g. /mgive potion:#00AA00,luck,60000,2 or /mgive potion:#random
Changes
  • Attributes set on players, classes or wands will no longer override builtin attributes
Fixes
  • Fix item_attributes property on wands re-randomizing
  • Fix parsing stacks of wand items from configs
  • Fix pricing of stacks of wands
----------, Nov 30, 2021

Mana progression in the survival configs was broken in 10.2.

Any player whose max mana was reset to 50 will be restored to the correct values after updating. Same with mana regeneration and hotbar count.

Apologies!

Tech note: The issue was with "override_properties" on paths, so if you are using that in your custom configs you would've been affected as well.
----------, Nov 19, 2021

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
----------, Nov 15, 2021

I've been busily working on custom mob AI (which you can play with in dev builds if you want!) and kind of forgot about all these hotfixes.

Sorry, here they are!
  • Fix spellbook spells disappearing when clicked
  • Fix Recall allowing you to teleport into an area where you can't use Recall Use require_target_permission: false to the spell if you do not want this.
  • Yet another piston dupe exploit fix
  • Fix some errors that may appear on config load when Vault is not present
  • Fix magic mobs with aggro behavior targeting players with the "ignored by mobs tag"
  • Fix potter spells with the same name as survival spells (arrow, stash)
  • Fix online players losing survival progress if the survival example is removed
  • Fix air scooter and force causing players to get kicked for flying
----------, Oct 20, 2021

New Features
  • Wand/armor set bonuses
    • Configure wand_sets globally in config.yml
    • Configure sets on each wand piece in the set
    • Overall or per-item bonuses can be applied once enough set pieces are worn at once
    • See survival wizard_armor set for example
    • Wizard armor (including magic hat) now have an SP earn bonus when the full set is worn
  • Reference Guide
    • Spell action and effectlib effect reference information is now available via /mhelp
    • mhelp searching improved
    • I will attempt to improve the descriptions and information over time!
Fixes
  • Remove default tick_increase from Projectile action, magic arrows will now take the normal time to despawn This was done to improve compatibility with server forks that mess with NMS mappings (Purpur grrrr)
  • Fix materia-absorbing to match by block type only
  • Fixes for invalid NPCs in 1.17 (if you are on 1.17 please make sure to update to latest Paper/Spigot)
  • Fix missing lore and broken air icons in selectors
  • Fix engineering wands not showing materia in level display
  • Prevent spells that glitch out of a spell inventory being absorbable as spells
  • Change the broom booster recipe since firework rockets were problematic
  • Fix passive spells double-triggering under some circumstances
  • Fix not being able to re-join a pvp arena after losing but before the match is over
  • Fix rollback giving back blocks with NBT data on them
  • Fix upgrade lore overwriting wand lore when using custom lore
  • Fix potter, bending and stars examples also including (unobtainable) survival spells
Additions
  • Added craftable "Robe Patch" item to robes configs, for repairing robes
  • Add yaw/pitch (and target_yaw,target_pitch) attributes
  • Add drop_at_source option to DropSkull action, for 3D camera (camera3D) item
  • Added UltimateClans support for teams, break and build permissions
  • Allow block/reflect parameters on classes and modifiers
  • Add reflect_chance/reflect_fov parameters for classes, wands and modifiers to reflect without blocking
  • Added Reflect level 5, which makes the caster directly reflective
  • Added spawn sub-actions to EntityProjectile action
  • Added loot option to mobs, a simpler way to specify drops with probability that also can use variables (drops can not use variables, both can be used side-by-side on the same mob)
  • Expose enchantment levels as attributes, currently only works on the mainhand item
  • Expose active potion effects as atttributes
  • Add axolotl and goat skins for shrink, airstrike and camera
  • Player currency balance now available as placeholder variables, e.g. $currency or @materia
  • Brush selector now shows materia balance in inventory title
  • Add remove_on_finish: true option to PotionEffect and Modifier actions
  • Add probability option to effects
  • Add ignore_name spell property to have spells ignore entities with a specific name
  • Add face_player NPC option to allow them to face players without any dialog
  • Add TradeSystem compatibility, don't allow trading bound wands https://www.spigotmc.org/resources/trade-system-custom-layouts.58434/
Changes
  • Using /meditor spell will include all levels of a spell (unless you have previously edited that spell)
  • Many builtin magic mobs now respect looting (and in some cases luck) for loot drops
  • Arrows shot by the "Regular arrow" magic bow spell can't be picked up. This is to prevent it being used to gain arrows with the infinity enchantment, though unfortunately this means it will burn through arrows without the enchant. Will hopefully improve this in the future.
  • The Conduit rank will switch the wand display back to SP since materia is no longer needed
  • Nerf the Wither spell
  • Don't allow Heal in arenas
----------, Sep 30, 2021

If you haven't updated to 10.0 yet, please watch:



10.0.3 Fixes
  • Fix missing spellshop lore (shop lore in general, probably)
  • Fix absorbing blocks into material not giving credit for stacks of blocks
  • Fix spell boss bar displays not properly showing duration remaining
  • Fix CheckBlock permission checks, when an allowed list is not used
----------, Sep 17, 2021

Please watch this change notes video if you are updating from below 10.0, there are some big changes you should be aware of!



10.0.2 Hotfixes
  • Fix photos of a bat being a green apple or something
  • Fix wands from 10.0 dev build having a broken GUI until using the controls menu
  • Fix error using /mage promote when a player has levelled-up spells
  • Fix error in EntitySelectAction when there are more than 54 entities in the menu (no pages for now...)
  • Fix rocket boots crafting recipe
  • Fix /marena import command
  • Fix the saddle on the Horse spell horse being removeable
10.0.1 Hotfixes
  • Fix empty wand (broomstick) slot lore not using name from messages
  • Fix camo armor coloring other armor worn at the same time

  • Fix spells all having broken icons if using bending, potter or stars configs without survival loaded

  • Fix PlaceholderAPI placeholders
10.0 Release Notes Follow

New Features

  • Wand Mechanics re-work, the default survival wand mechanics have changed (1.16+)
    • Right-click now cycles the active spell, drop button (Q) toggles spell inventory
    • There is a new 2nd hotbar display when the spell inventory is closed and the player has the resource pack
    • This uses the action bar, but can be reconfigured to a boss bar if there are compatibility issues
    • Wand instructions improved and streamlined, instructions: false added to wand config to easily turn them off
    • Wand controls changed to use slot system, so controls can be changed after the fact
    • Controls menu has detailed button mapping and GUI options
    • Downstream changes:
      • Add requirement_properties wand feature, allows wands to vary their properties based on the player passing some requirements
      • Add resource_pack: true requirement option
      • Added cycle_spell and cycle_hotbar wand effect options
      • Add swappable: false wand option, which allows you to use the swap key while the wand inventory is closed.
      • Allow cycling hotbars with the wand inventory closed
      • Add wand instructions to wand item lore. Use lore_instructions: false in wand config to turn this off.
      • Wand slotted upgrades can be made hidden, swappable and replaceable (now used for controls selection)
      • Added new true/false requirements: resource_pack, spell_inventory_open
  • Survival Crafting Recipes Changed (again)
    • The Magic Heart is no more, the client-side Knowledge Book just does not handle it well enough
    • New recipes with the same balance for all magic items
    • Players can right-click any magic hearts they currently have to get a refund
    • You can bring the hearts back with /mexample add magicheart
  • Magic Bow re-work
    • Light arrow rebalance
    • Can be enchanted, only the infinity enchantment, which will make it cost-free
    • Added Grapple Arrow to Archer path
  • MythicMobs support:
    • Mythic mobs can be referred to by name in any configs or /mmob command.
    • Any Magic mob with the same name (key) as a Mythic mob will overlay abilities
    • Use mythic_mob: (mob type) in a magic mob config to make it build on a mythic mob
    • Use mythic_mob_level: (level) in a config or spawn parameters to set the MM level
  • Improved in-game help system /mhelp command
    • Ops or mods with magic.notify permission will be prompted to try it
    • Can search through help topics, or navigate with clickable chat links
    • Please try it out before asking for support!
  • Add support for JSON chat component messages, escaped with backticks such as
    &6Swing &7(&b`{"keybind":"key.attack"}`&7) &fyour &a$wand
    • Can be used in wand lore, Message action, action bar, boss bar titles and any in-game messages.yml text
Fixes
  • Fix behavior of wand magic attribute stacking
  • Fix upgrading mana (and probably other properties) in wand slotted upgrades
  • Fix some class configurations not updating for online players when configs are changed
  • Fix mob boss bars duplicating on config reload
  • Fix not being able to upgrade enchantment level of magic sword and armor with books
  • Fix casting cost of Workbench being too high for a Beginner to cast
  • Fix stacked wand upgrades absorbing the full stack when dropping on a wand
  • Fix unintentionally overriding Mythic mob or naturally spawned mob properties when applying Magic mob behaviors to them
  • Fix Drop block break/place rule not being able to drop wands
  • Fix mage attributes not being taken into account on a wand's vanilla item attributes
  • Fix right-click mode controls menu option turning off a wand's ability to cycle hotbars
  • Fix switching spell inventory pages on Bedrock (tapping on the spellbook should now work)
  • Fix spawning colored sheep
  • Fix slime and magma cube magic mobs
  • Fix "invalid NPC" spam on startup from NPCs in spawn chunks
  • Fix CheckInventory not detecting a stack of items
  • Fix magic mobs continuing to track you no matter how far away you run. Use relentless: true on a mob config to restore this behavior
  • Fix consecutive empty lines not working in messages and lore
Additions
  • Add pickup trigger, fired when a player picks up an items
  • Added cooldown, biomes and not_biomes options to block populators
  • The ColorItem action can be used to color a potion, firework charge or a firework (will change all effects in a firework)
  • Add mgive shortcut for firework_charge:#FF00AA to give colored firework charges
  • Add infinity_cost_free wand property, will make the wand cost-free if it has the Infinity enchantment
  • Add mgive support for enchanted_book enchantments
  • Selector name, description and lore now support placeholders
  • Add not_brush parameter to CheckBlock, use-case is only playing effects at a location where a block was modified (not the same as the brush)
  • The ColorItem action is now mostly undoable, though probably only suited for mob use (since players can move items around)
  • Expand wand slots feature, slots can be config sections now with properties like swappable (for slotted upgrades that can be swapped out) or hidden
  • Add magic_blocks list to arenas, arena will turn the magic block on/off when the arena starts/stops
  • Add Selector support for simple shortcuts newrow and none
  • Boss bar configurations can omit the bar__ prefix in parameters (this kept confusing me)
  • The ModifyBlock action can now spawn falling blocks of any type, rather than only spawning them from destroyed blocks
  • Add self_destruct wand property, for a wand that will be destroyed when held
  • Spell parameters can now be used inside of equations within that spell
  • The ModifyAttribute action now supports an x variable holding the current attribute value, just like ModifyProperties
  • The /mage deactivate command can now be used as an alias for /mage lock
  • Add macro system to messaging, useful for making shortcuts for chat components
  • Add item requirement, for checking if a player has an item (similar to CheckInventory action)
  • Allow a messages section on a spell config. to embed messages right in a spell (useful for Selector, Shop or other text-heavy spells)
  • Add unlock_earns parameter to Selector, rewardshop example of single-time requirement-base rewards
  • The spawnmobs example magic mobs will rarely drop special loot that can be sold in the lootshop
  • Add use_brush: helmet option to ArmorStandProjectile so it can put a sampled block on the armor stand
  • Item configurations can now have a discover_recipes list, learned by players when they hold the item
  • Expanded PlaceholderAPI support, exposing all attributes and allowing for custom-defined placeholders
  • Add /mexample command as an alias for /mconfig example
Changes
  • Smite and Meteor changed to use BreakBlock action, will work in protected areas
  • Removed robes from hires RP, added hires-robes and hires-all RP which are selected automatically
  • Broomstick upgrades can be swapped out
  • Changed how arenas and their templates interact to work more like other magic configs/instances
  • Added default_stage properties to arena, to set default stage properties
  • Improved lore wrap behavior, taking colors, hex colors and chat components into account, increase default limit to 48 characters
  • Players will now be instructed how to turn on the RP if their client declines it. They can disable this message with /getrp off and are prompted to do so. If you still don't want the nagging, you can use /mconfig configure message resource_pack.declined ""
  • Rebalance Magic Missile to make earlier progression easier
  • Turn AureliumSkills mana back off by default, it's way too hard to balance. If you'd like to back on, use /mconfig configure config aurelium_skills.use_mana true
  • Changes and improvements to offhand casting, left-swing action always used
  • Modifiers can now be used on magic armor, however this required changing the save data format for modifiers, so any modifiers you have manually applied via /mage modifier add will need to be re-applied.
  • Nerf wizard armor protection a little so it's not as strong as vanilla chainmail
----------, Sep 8, 2021

Please watch this change notes video if you are updating from below 10.0, there are some big changes you should be aware of!



10.0.1 Hotfixes

  • Fix empty wand (broomstick) slot lore not using name from messages
  • Fix camo armor coloring other armor worn at the same time
  • Fix spells all having broken icons if using bending, potter or stars configs without survival loaded
  • Fix PlaceholderAPI placeholders


10.0 Release Notes Follow

New Features

  • Wand Mechanics re-work, the default survival wand mechanics have changed (1.16+)
    • Right-click now cycles the active spell, drop button (Q) toggles spell inventory
    • There is a new 2nd hotbar display when the spell inventory is closed and the player has the resource pack
    • This uses the action bar, but can be reconfigured to a boss bar if there are compatibility issues
    • Wand instructions improved and streamlined, instructions: false added to wand config to easily turn them off
    • Wand controls changed to use slot system, so controls can be changed after the fact
    • Controls menu has detailed button mapping and GUI options
    • Downstream changes:
      • Add requirement_properties wand feature, allows wands to vary their properties based on the player passing some requirements
      • Add resource_pack: true requirement option
      • Added cycle_spell and cycle_hotbar wand effect options
      • Add swappable: false wand option, which allows you to use the swap key while the wand inventory is closed.
      • Allow cycling hotbars with the wand inventory closed
      • Add wand instructions to wand item lore. Use lore_instructions: false in wand config to turn this off.
      • Wand slotted upgrades can be made hidden, swappable and replaceable (now used for controls selection)
      • Added new true/false requirements: resource_pack, spell_inventory_open
  • Survival Crafting Recipes Changed (again)
    • The Magic Heart is no more, the client-side Knowledge Book just does not handle it well enough
    • New recipes with the same balance for all magic items
    • Players can right-click any magic hearts they currently have to get a refund
    • You can bring the hearts back with /mexample add magicheart
  • Magic Bow re-work
    • Light arrow rebalance
    • Can be enchanted, only the infinity enchantment, which will make it cost-free
    • Added Grapple Arrow to Archer path
  • MythicMobs support:
    • Mythic mobs can be referred to by name in any configs or /mmob command.
    • Any Magic mob with the same name (key) as a Mythic mob will overlay abilities
    • Use mythic_mob: (mob type) in a magic mob config to make it build on a mythic mob
    • Use mythic_mob_level: (level) in a config or spawn parameters to set the MM level
  • Improved in-game help system /mhelp command
    • Ops or mods with magic.notify permission will be prompted to try it
    • Can search through help topics, or navigate with clickable chat links
    • Please try it out before asking for support!
  • Add support for JSON chat component messages, escaped with backticks such as
    &6Swing &7(&b`{"keybind":"key.attack"}`&7) &fyour &a$wand
    • Can be used in wand lore, Message action, action bar, boss bar titles and any in-game messages.yml text
Fixes
  • Fix behavior of wand magic attribute stacking
  • Fix upgrading mana (and probably other properties) in wand slotted upgrades
  • Fix some class configurations not updating for online players when configs are changed
  • Fix mob boss bars duplicating on config reload
  • Fix not being able to upgrade enchantment level of magic sword and armor with books
  • Fix casting cost of Workbench being too high for a Beginner to cast
  • Fix stacked wand upgrades absorbing the full stack when dropping on a wand
  • Fix unintentionally overriding Mythic mob or naturally spawned mob properties when applying Magic mob behaviors to them
  • Fix Drop block break/place rule not being able to drop wands
  • Fix mage attributes not being taken into account on a wand's vanilla item attributes
  • Fix right-click mode controls menu option turning off a wand's ability to cycle hotbars
  • Fix switching spell inventory pages on Bedrock (tapping on the spellbook should now work)
  • Fix spawning colored sheep
  • Fix slime and magma cube magic mobs
  • Fix "invalid NPC" spam on startup from NPCs in spawn chunks
  • Fix CheckInventory not detecting a stack of items
  • Fix magic mobs continuing to track you no matter how far away you run. Use relentless: true on a mob config to restore this behavior
  • Fix consecutive empty lines not working in messages and lore
Additions
  • Add pickup trigger, fired when a player picks up an items
  • Added cooldown, biomes and not_biomes options to block populators
  • The ColorItem action can be used to color a potion, firework charge or a firework (will change all effects in a firework)
  • Add mgive shortcut for firework_charge:#FF00AA to give colored firework charges
  • Add infinity_cost_free wand property, will make the wand cost-free if it has the Infinity enchantment
  • Add mgive support for enchanted_book enchantments
  • Selector name, description and lore now support placeholders
  • Add not_brush parameter to CheckBlock, use-case is only playing effects at a location where a block was modified (not the same as the brush)
  • The ColorItem action is now mostly undoable, though probably only suited for mob use (since players can move items around)
  • Expand wand slots feature, slots can be config sections now with properties like swappable (for slotted upgrades that can be swapped out) or hidden
  • Add magic_blocks list to arenas, arena will turn the magic block on/off when the arena starts/stops
  • Add Selector support for simple shortcuts newrow and none
  • Boss bar configurations can omit the bar__ prefix in parameters (this kept confusing me)
  • The ModifyBlock action can now spawn falling blocks of any type, rather than only spawning them from destroyed blocks
  • Add self_destruct wand property, for a wand that will be destroyed when held
  • Spell parameters can now be used inside of equations within that spell
  • The ModifyAttribute action now supports an x variable holding the current attribute value, just like ModifyProperties
  • The /mage deactivate command can now be used as an alias for /mage lock
  • Add macro system to messaging, useful for making shortcuts for chat components
  • Add item requirement, for checking if a player has an item (similar to CheckInventory action)
  • Allow a messages section on a spell config. to embed messages right in a spell (useful for Selector, Shop or other text-heavy spells)
  • Add unlock_earns parameter to Selector, rewardshop example of single-time requirement-base rewards
  • The spawnmobs example magic mobs will rarely drop special loot that can be sold in the lootshop
  • Add use_brush: helmet option to ArmorStandProjectile so it can put a sampled block on the armor stand
  • Item configurations can now have a discover_recipes list, learned by players when they hold the item
  • Expanded PlaceholderAPI support, exposing all attributes and allowing for custom-defined placeholders
  • Add /mexample command as an alias for /mconfig example
Changes
  • Smite and Meteor changed to use BreakBlock action, will work in protected areas
  • Removed robes from hires RP, added hires-robes and hires-all RP which are selected automatically
  • Broomstick upgrades can be swapped out
  • Changed how arenas and their templates interact to work more like other magic configs/instances
  • Added default_stage properties to arena, to set default stage properties
  • Improved lore wrap behavior, taking colors, hex colors and chat components into account, increase default limit to 48 characters
  • Players will now be instructed how to turn on the RP if their client declines it. They can disable this message with /getrp off and are prompted to do so. If you still don't want the nagging, you can use /mconfig configure message resource_pack.declined ""
  • Rebalance Magic Missile to make earlier progression easier
  • Turn AureliumSkills mana back off by default, it's way too hard to balance. If you'd like to back on, use /mconfig configure config aurelium_skills.use_mana true
  • Changes and improvements to offhand casting, left-swing action always used
  • Modifiers can now be used on magic armor, however this required changing the save data format for modifiers, so any modifiers you have manually applied via /mage modifier add will need to be re-applied.
  • Nerf wizard armor protection a little so it's not as strong as vanilla chainmail
----------, Sep 3, 2021

Please watch this change notes video if you are updating, there are some big changes you should be aware of!



New Features

  • Wand Mechanics re-work, the default survival wand mechanics have changed (1.16+)
    • Right-click now cycles the active spell, drop button (Q) toggles spell inventory
    • There is a new 2nd hotbar display when the spell inventory is closed and the player has the resource pack
    • This uses the action bar, but can be reconfigured to a boss bar if there are compatibility issues
    • Wand instructions improved and streamlined, instructions: false added to wand config to easily turn them off
    • Wand controls changed to use slot system, so controls can be changed after the fact
    • Controls menu has detailed button mapping and GUI options
    • Downstream changes:
      • Add requirement_properties wand feature, allows wands to vary their properties based on the player passing some requirements
      • Add resource_pack: true requirement option
      • Added cycle_spell and cycle_hotbar wand effect options
      • Add swappable: false wand option, which allows you to use the swap key while the wand inventory is closed.
      • Allow cycling hotbars with the wand inventory closed
      • Add wand instructions to wand item lore. Use lore_instructions: false in wand config to turn this off.
      • Wand slotted upgrades can be made hidden, swappable and replaceable (now used for controls selection)
      • Added new true/false requirements: resource_pack, spell_inventory_open
  • Survival Crafting Recipes Changed (again)
    • The Magic Heart is no more, the client-side Knowledge Book just does not handle it well enough
    • New recipes with the same balance for all magic items
    • Players can right-click any magic hearts they currently have to get a refund
    • You can bring the hearts back with /mexample add magicheart
  • Magic Bow re-work
    • Light arrow rebalance
    • Can be enchanted, only the infinity enchantment, which will make it cost-free
    • Added Grapple Arrow to Archer path
  • MythicMobs support:
    • Mythic mobs can be referred to by name in any configs or /mmob command.
    • Any Magic mob with the same name (key) as a Mythic mob will overlay abilities
    • Use mythic_mob: (mob type) in a magic mob config to make it build on a mythic mob
    • Use mythic_mob_level: (level) in a config or spawn parameters to set the MM level
  • Improved in-game help system /mhelp command
    • Ops or mods with magic.notify permission will be prompted to try it
    • Can search through help topics, or navigate with clickable chat links
    • Please try it out before asking for support!
  • Add support for JSON chat component messages, escaped with backticks such as
    &6Swing &7(&b`{"keybind":"key.attack"}`&7) &fyour &a$wand
    • Can be used in wand lore, Message action, action bar, boss bar titles and any in-game messages.yml text
Fixes
  • Fix behavior of wand magic attribute stacking
  • Fix upgrading mana (and probably other properties) in wand slotted upgrades
  • Fix some class configurations not updating for online players when configs are changed
  • Fix mob boss bars duplicating on config reload
  • Fix not being able to upgrade enchantment level of magic sword and armor with books
  • Fix casting cost of Workbench being too high for a Beginner to cast
  • Fix stacked wand upgrades absorbing the full stack when dropping on a wand
  • Fix unintentionally overriding Mythic mob or naturally spawned mob properties when applying Magic mob behaviors to them
  • Fix Drop block break/place rule not being able to drop wands
  • Fix mage attributes not being taken into account on a wand's vanilla item attributes
  • Fix right-click mode controls menu option turning off a wand's ability to cycle hotbars
  • Fix switching spell inventory pages on Bedrock (tapping on the spellbook should now work)
  • Fix spawning colored sheep
  • Fix slime and magma cube magic mobs
  • Fix "invalid NPC" spam on startup from NPCs in spawn chunks
  • Fix CheckInventory not detecting a stack of items
  • Fix magic mobs continuing to track you no matter how far away you run. Use relentless: true on a mob config to restore this behavior
  • Fix consecutive empty lines not working in messages and lore
Additions
  • Add pickup trigger, fired when a player picks up an items
  • Added cooldown, biomes and not_biomes options to block populators
  • The ColorItem action can be used to color a potion, firework charge or a firework (will change all effects in a firework)
  • Add mgive shortcut for firework_charge:#FF00AA to give colored firework charges
  • Add infinity_cost_free wand property, will make the wand cost-free if it has the Infinity enchantment
  • Add mgive support for enchanted_book enchantments
  • Selector name, description and lore now support placeholders
  • Add not_brush parameter to CheckBlock, use-case is only playing effects at a location where a block was modified (not the same as the brush)
  • The ColorItem action is now mostly undoable, though probably only suited for mob use (since players can move items around)
  • Expand wand slots feature, slots can be config sections now with properties like swappable (for slotted upgrades that can be swapped out) or hidden
  • Add magic_blocks list to arenas, arena will turn the magic block on/off when the arena starts/stops
  • Add Selector support for simple shortcuts newrow and none
  • Boss bar configurations can omit the bar__ prefix in parameters (this kept confusing me)
  • The ModifyBlock action can now spawn falling blocks of any type, rather than only spawning them from destroyed blocks
  • Add self_destruct wand property, for a wand that will be destroyed when held
  • Spell parameters can now be used inside of equations within that spell
  • The ModifyAttribute action now supports an x variable holding the current attribute value, just like ModifyProperties
  • The /mage deactivate command can now be used as an alias for /mage lock
  • Add macro system to messaging, useful for making shortcuts for chat components
  • Add item requirement, for checking if a player has an item (similar to CheckInventory action)
  • Allow a messages section on a spell config. to embed messages right in a spell (useful for Selector, Shop or other text-heavy spells)
  • Add unlock_earns parameter to Selector, rewardshop example of single-time requirement-base rewards
  • The spawnmobs example magic mobs will rarely drop special loot that can be sold in the lootshop
  • Add use_brush: helmet option to ArmorStandProjectile so it can put a sampled block on the armor stand
  • Item configurations can now have a discover_recipes list, learned by players when they hold the item
  • Expanded PlaceholderAPI support, exposing all attributes and allowing for custom-defined placeholders
  • Add /mexample command as an alias for /mconfig example
Changes
  • Smite and Meteor changed to use BreakBlock action, will work in protected areas
  • Removed robes from hires RP, added hires-robes and hires-all RP which are selected automatically
  • Broomstick upgrades can be swapped out
  • Changed how arenas and their templates interact to work more like other magic configs/instances
  • Added default_stage properties to arena, to set default stage properties
  • Improved lore wrap behavior, taking colors, hex colors and chat components into account, increase default limit to 48 characters
  • Players will now be instructed how to turn on the RP if their client declines it. They can disable this message with /getrp off and are prompted to do so. If you still don't want the nagging, you can use /mconfig configure message resource_pack.declined ""
  • Rebalance Magic Missile to make earlier progression easier
  • Turn AureliumSkills mana back off by default, it's way too hard to balance. If you'd like to back on, use /mconfig configure config aurelium_skills.use_mana true
  • Changes and improvements to offhand casting, left-swing action always used
  • Modifiers can now be used on magic armor, however this required changing the save data format for modifiers, so any modifiers you have manually applied via /mage modifier add will need to be re-applied.
  • Nerf wizard armor protection a little so it's not as strong as vanilla chainmail
----------, Sep 1, 2021

Just the one hotfix. You may not need this, but it's also a safe update.

If you have been getting "StackOverflowError" when holding certain wand items, this should fix those errors.
----------, Aug 5, 2021

Fixes
  • Fix the resource pack not sending on join
  • Mine will mine deepslate ores (1.16+)
  • The slimefun example RP updated, will continue to update going forward
  • Attempt to resolve issues that occurred due to using /mconfig editor and having the default configs copied into your custom configs. This seems to be the main issue a lot of people were having with the enchantment table.
  • Fix skin used by skull_popcorn
  • Fix magic bow spell icons
  • Fix some issues using equations in SpawnEntity mob parameters
  • Mobs with docile: true will not attack even if harmed
Changes
  • The Cloak spell no longer removes your armor
  • Mine level 4 no longer mines full blocks
  • Night's HTTYD RP now merged with Magic's "all" RP
  • Tweak survival volume again, to 75%
  • Nerf Light Arrow
Additions
  • Add end_commands arena option
  • Aggro and mob arena aggro options improved in 1.17+ via pathfinding goals
  • Add level_spells_to_path wand option, used in example wands to level up spells to an appropriate level
  • Add support for custom ender signals (1.17+) - see diamondsignal elworld example spell
  • Add ModifyCompass action (1.17+), will turn a compass into a lodestone compass with a custom target location - see tracker
  • Add aware mob flag (1.17+), works like ai but they can still move
  • Add cancel_on_world_change spell option, apply to broom to avoid losing broomsticks when changing worlds
----------, Aug 3, 2021

AureliumSkills
  • Mana use turned back on by default, with a 75% mana cost reduction applied to all spells (configurable)
  • Earning SP from a Magic spell cast now also earns SORCERY xp (at a rate of 50%), configurable
  • AureliumSkills, SkillAPI and Heroes now only provide mana to the "caster" class, this is configurable
  • AureliumSkills XP registered as currencies, can be given by /mgive, including physical items, and used in "earns" for spells
Additions
  • Add portal-spell and portal-warp WorldGuard flags, for making custom portals
  • Add maintain_direction option to Teleport,Recall and Warp actions
  • Add archer example magic bow
  • Add disasters external example from Phantom (creator of extramobs)
  • Add target_highest option to Cover actions
  • Add new attributes: temperature, humidity, target_temperature, target_humidity
Improvements
  • Improve the aggro arena stage feature
  • Allow using simple strings (just the mode, like mana or cooldown) for wand xp_display, level_display, boss_bar and action_bar configs
  • Allow using r,g,b or h,s,v format (including with equations) in more color parameters (ModelEngine tint, for instance)
Fixes
  • Fix error when enable_resource_pack: false has been set
  • Fix CheckInventory action blocked_enchantments (fixes mars air supply behavior)
  • Fix always_on: true magic blocks not starting back up on server restart
  • Fix wands dealing melee damage even if not on the melee list (this includes the lightsaber hilt)
  • Fix players not having permission to use arena signs by default
  • Remove inventory title limit in 1.12 and up (was already removed in 1.17)
  • Fix Stream not dealing repeated damage over time
  • Fix AureliumSkills (and Heroes?) mana integration breaking wand crafting (by adding mana lore to all wand items)
  • Fix the Mine spell not working on copper ore
  • Fix right-clicking a mob with a wand causing a spell cast
Changes
  • Sound FX volume cut to 50% by default in survival configs (adjust sound_volume if desired)
----------, Jul 31, 2021

I decided to release the current dev build as a hotfix, it's mostly fixes though there are some new features in there, I didn't think it was worth separating them out.

This release is mainly here because, as it turns out, AureliumSkills mana integration being on by default was just a really bad idea, given that AS caps mana out at 20. If you want to use AS mana it's probably going to take a lot of re-working on one side or the other.

Fixes
  • Fix wizards not being able to advance to engineer if the engineering example is loaded
  • Fix automaton sound effects, errors from automata dealing damage in 1.17
  • Fix lifetime on a mob not working unless interval was also set
  • Fix migrating legacy enchantments on wands
  • Fix potter wand icons pre-1.14 (maybe?)
  • Fix a specific issue with overlapping undo, not sure what the effects are (helps messy automata at least)
  • Fix Equation action orient: true, add use_target_location: false option
  • Fix losing items or duping spells using the swap key
Changes
  • The variables section of a spell can now specify default scope for a variable for the rest of the spell
  • Turn off using AureliumSkills' mana by default
  • Allow setting break_durability of BreakBlock action to less than one, e.g. to crack glass
  • Add break_material to BreakBlock action, to fill with something other than air
  • Default Message action behavior changed to follow normal message rules, can use "t:" for titles, "a:" for action bar
  • The swap key can be used in a spell inventory to quick-cast a spell, replacing the old drop key behavior
  • The undo_on_world_save option is now off by default
Additions
  • Added block_actions and biome_actions maps to CheckBlock action, for easier biome and block type reactions
  • Added camohelmet, camochestplate, camoleggings and camoboots items, a set of biome-adaptive camoflage armor. Like the rainbow armor, these are currently not craftable
  • Light brush added to Conduit path (1.17+)
  • Add FindMagicBlocks action, for targeting magic block locations
  • Add sound_volume global config option, for adjusting all sound effect volume
  • Add dialog_face_player: false mob option
  • Add interact section to magic blocks, for creating individual blocks in a world with right-click spells
  • Add disposal magic block template, for making garbage cans
  • Add icon_unbreakable and icon_hide_flags Selector/Shop options to show full vanilla item lore of items in shops
----------, Jul 28, 2021

You can use the new ModelEngine action to play specific animation states or tint your models. This can be hooked up to mob triggers to make uniquely reactive custom mobs:

[​IMG]


You can now use the /mmap slice command to easily make large multi-map portraits and posters from any image:

magic maps.png

I've completely re-done the demo server at

demo.elmakers.com

Come and take a tour, maybe you'll learn about a feature of Magic you never knew existed!

Fixes
  • Trident projectiles respect pickup status (can't be picked up by default) (1.17+)
  • Broomsticks can't be broken, the armor stands are indestructible by default and if broken won't drop items
  • Fix Mine not working on 1.17 ores
  • Fix using mana_display: none in the main config to turn off the XP bar mana display
  • Fix changes to aurelium_skills configuration not taking effect until server restart
  • Fix CheckBlock biome-checking
  • Fix CheckInventory checking for items in specific slots
  • Fix ModelEngine models duplicating when put on NPCs
  • Allow breaking item frames, paintings and armor stands even if prevent_melee_damage is enabled (see: allow_melee_damage)
  • Fix config load warnings (vibration particles) in 1.16 and earlier
  • Fix saddles on horses not working in 1.16 and earlier
Additions
  • Add /mmap slice command for creating large multi-map displays
  • Add placeable wand property, will avoid cancelling block place events when held. This is mainly intended to be used on hoes, shovels or other tools with right-click actions that modify blocks, which Spigot interprets as a block place.
  • Add block_broken trigger and target type
  • Add allow_all: false Recall option, to make available options a whitelist instead of blacklist
  • Add worlds list to kit configs, for starter kits that only apply when joining a specific world
  • The EMP spell now triggers dispensers (1.13+)
  • Starter kits can have a priority, higher priority kits are given first
  • Sparkle spell added as optional Student spell, applies a random status effect
  • Add ModelEngine action for detailed model control
  • Add commandwand and commandspell to set up command-bound items
  • The transformable mob property now applies to falling_block entities, and will prevent them from turning into blocks
  • Add Respawn action, for respawning mobs that have died
  • Add testdummy mob, a loveable punching bag you can use for spell testing
  • Add support for getting colored tipped arrows, /mgive tipped_arrow{18001}:#00FF00
  • Add leash_range mob property, currently only works for NPCs
  • Add pose parameters to armor stands
Changes
  • Rebranded "automata" to "magic blocks", to avoid confusion with the "block monster" automata
    • The /mauto command is now /mblock, though /mauto should still work as an alias.
    • The CreateAutomaton action was renamed to CreateMagicBlock. The CreateAutomaton action should still work.
    • AutomatonRule changed to MagicBlockRule, AutomatonRule should still work.
    • AutomatonPopulator changed to MagicBlockPopulator, AutomatonPopulator should still work.
  • Mob interact spells will use the player's spell level
  • Rebalance example wands to better match paths, turn off SP earn for them You should not be using these wands for anything other than demoing, but if you need to undo this change you can /mconfig configure wand beginner earn_multiplier 1
  • The close_wand_on_world_change option is now true by default if PerWorldInventory is detected, and also applies to game mode changes.
  • Wands now show instructions in lore while the wand inventory is open. This causes wands to "bounce" when opening them. If you don't like that effect, set wand.inventory_open to "" in messages
  • Clicks on wands in the spell inventory behavior changed slightly to better support creative mode
  • Shop and Selector default messages are now different, base selector messages may need localization
  • Default wand item flags changed to hide dye color. Add an item_flags list to your wand config if you don't want that.
  • Wand charges functionality changed to work more like per-spell mana
  • Improvements to alternate and per-world resource pack functionality
----------, Jul 25, 2021

Arenas
  • The MagicArenas plugin has been integrated into Magic
  • If you are using MagicArenas, you can remove that plugin and then use /marena import
  • Use the /marena command or the editor to create mob and pvp arenas
Fixes
  • Fix compatibility with PowerRanks (please look out for permission issues, even on other perm systems)
  • Fix consumable wands giving vanilla food depending on the icon used
  • Fix armor-slotted items in kits, such as the armor in the starter kit
  • Improve close_wand_on_world_change feature for better PerWorldInventory compatibility
  • The visibility parameter on effects now works on particles as well as EffectLib effects
  • Fix books dropping out of magically-destroyed lecterns
Additions
  • Add wand properties for complete UI configuration:
    • New config sections available, each contains mode:
      • xp_display : What to show in the XP bar, can be anything now, not just mana
      • level_display : What to show as the level number, doesn't have to be SP. Replaces currency_display option,
      • boss_bar : Configured like other boss bar sections, shows at top of screen
    • mode can be one of mana, cooldown, attribute, currency or none
    • Use attribute and currency properties to specify what attribute/currency to show for those modes
    • Added action_bar section, containing message and interval, can show mana or whatever else in action bar
  • Add AureliumSkills integration for mana and attributes:
  • Add ModifyCurrency action
  • Add target_fall_distance attribute
  • Add charges spell property, a spell can be used several times before going on cooldown
  • Add $wand, $spell and $class placeholders for messages, commands and boss bar titles
  • Add work-in-progress (very) brawl Brawl Stars external example
  • Add simple creative example, pairs with a world gen plugin for personal creative-mode islands
  • Add /meditor command as an alias for /mconfig editor
  • Add ignore_particles mage option, allow turning off particles in the tweak menu
  • Reduce particles on flare, fountain and teleporter effects
  • Add ignore_modified_entities AreaOfEffect option, to ignore entities that have already been modified by this spell
  • Add game_mode and leave_game_mode world option, for per-world game modes
  • Add cancel_on_kill_target option to Damage action
Changes
  • Master Sword is no longer bound (you will keep it on death though)
  • Wands will now look up one level (only, for performance) for messages
  • Sneak-clicking the enchant table to bring up the spellshop was removed from survival Use /mconfig configure config enchant_sneak_click spellshop to put it back
  • Sword controls changes to use the same drop/swap behavior as wands
  • Tracking Sense now only tracks players if sneak-casting
  • Change default ConeOfEffect (non-hitbox) targeting to use a wider FOV up close. This also fixes issues selecting NPCs right in front of you
  • Paste and Repair will consume materia, Paste moved to architect rank
----------, Jul 15, 2021

1.17.1 Support
  • As predicted, a new version of magic was needed even though this was a very minor release. Bummer, but I think that's just life going forward.
Additions
  • New external example added, /mconfig fetch httyd - a "How to Train Your Dragon" config pack from Night!
  • Add type: option for recipes, 1.14+ only, can be any of: furnace,campfire,blasting,smoking,stonecutting and smithing (requires 1.16 or post-July 1.17 spigot)
  • Add EntityAnimation action, can make players or mobs swing their arms
  • New EffectLib parameters to support 1.17 particles:
    • to_color: Used for the dust_color_transition particlea
    • arrival_time: Used for the vibration particle
  • New effect player parameters to support 1.17 particles:
    • to_color: An alias for color2 to align with EffectLib parameters
    • particle_arrival_time: For playing individual vibration particles
  • Add equip_on_respawn: false option for mobs, to their equipment won't get reset on respawn/reload
  • Attributes on armor, wands and modifiers will now stack by default (stack: false to turn this off)
  • Add new handlers for combinations: alternate_jumping_up, alternate_jumping_down, alternate_sneak_down, alternate_sneak_up
  • Allow handlers to refer to other handlers, e.g alternate_jumping_up: alternate_jumping
  • Add potion_effects item config option for simple custom potion creation
  • Add enable_custom_sounds config options for easily disabling custom (resource pack) sounds
  • Add Drop class for block break/place rules, see lucky example
  • Add bound_name: name option for wands, to use IGN instead of display name in bound lore
  • Add item_flags list config to wands, for nicer-than-hide_flags item flag support
  • Add sliced_bread, sandwich and toasted_sandwich items (recipes disabled by default)
  • Add movement_speed attribute
Changes
  • Change builtin zombie_leather recipe to a furnace recipe
  • Right-clicking a wand will always close the inventory if it is open, regardless of what is in your offhand or what block you are looking at
  • Alter now works on candles and candle cakes
  • Magic Torch and Light spells use light blocks in 1.17, don't require LightAPI
  • Light spell moved to engineering configs, available at Architect
  • Magic Torch is craftable by default, use /mconfig disable recipe magictorch if you don't want it
Fixes
  • Fix spell casts at y < 0
  • Fix chest mode casting a spell when selecting an icon in the chest menu
  • Fix cloak (and other spells) not respecting cancel_on_cast_other nor cancel_on_damage
  • Fix Secure in 1.17
  • The Cloak spell will deactivate when you take damage or cast a different spell
  • Fix mobs' kill triggers not working when killing via a spell or projectile
  • Fix errors in jutsu configs, though they still aren't really ready for use
  • Fix ModifyProperties and ModifyAttributes not applying to the wand used to cast the spell (for armor and offhand casts)
----------, Jul 6, 2021

Fixes
  • Fix potter spells not levelling up
  • Fix PotterPlus add-on (broken spell inheritance against builtin potter example)
  • Fix otherside and netherside examples force-loading backup worlds
  • Fix automaton block monsters leaving blocks behind
  • Fix falling block spells like Blast and Collapse leaving blocks behind
  • Fix a block dupe exploit I won't mention here
  • Update Heroes Magic Skill Pack
Additions and Changes
  • The Door action now sets the target location to the bottom block of the door
  • Hex colors now supported in 1.16 (as well as 1.17)
  • Maybe support custom enchantment plugins (1.17 only for now)
  • Alter updated:
    • No longer alters ocelots
    • Now alters: cats, shulkers, rabbits, zombie villagers, llamas, parrots, foxes, goats and axolotls
  • More deprecated spell removals:
    • DoorSpell
    • "power" option to ConstructSpell, use PowerBlock action instead
    • SuperEMP (spell config, removed from architect path .. may come back one day)
----------, Jun 23, 2021

Magic-9.jpg
Welcome to 1.17!
This was an extremely challenging update for me, as i think it probably was for many other devs relying on NMS calls. The future looks bright, though, I'm hoping updates will be cleaner and much easier in the future.

However, it is now the case that Magic is guaranteed to need an update on every minor Minecraft release. This is an unfortunate trade-off, as previously Magic usually only needed to be updated on major releases, but would more or less continue to function for the most part.

I'll be continuing to work out how best to push forward, but for now I think we are good to go! Happy axolotl hunting :)


1.17 Support

  • Deprecated spell classes removed:
    • LevitateSpell
    • ProjectileSpell
    • ShapeSpell
    • AlterSpell
  • Non-functional hologram functionality removed
  • Known Issues:
    • NPCs might duplicate, this should fix itself eventually
1.17-Only Changes and Additions
  • NOTE: Changes requiring modern Minecraft API use may now sometimes only work on Minecraft 1.17 and up. This is a trade-off for now, to avoid dropping backwards compatibility alltogether.
  • Hex color support in all messages in-game using an &#AA22FF format
  • Add save spell to engineering configs (unobtainable, only on Wolf staff), for saving schematics) [WIP]
  • Add geode schematic to engineering configs
  • Add screaming mob property for goats
Fixes
  • Fix integration with some economy plugins by delaying registration a bit
  • Fix a wand dupe issue when adding spell items to a wand inside of a container
General Changes and Additions
  • The spawn mob trigger now only fires on initial spawn. Persistent mobs can look for respawn.
  • Add prevent_teleport mob option, and a contained_enderman mob for arena battles
  • Add use_parent_target_location and use_parent_source_location ChangeContext options
  • Add teleport_target Recall option
  • Add burning flag to disguises
  • The /mgive command will drop item on the ground if the player's inventory is full
  • Add wands_break_hanging config option, so you can disable paintings and item frames breaking while holding a wand
  • Add target_permission parameter, requiring a player/entity to have a specific permission in order to target them
  • Enchanting wands with books follows vanilla rules, allows multiple enchantments
  • Nerf mutant mobs a bit
  • Add /mnpc clean command for cleaning up unkillable mobs orphaned from their NPC
  • Add interact_requires_owner mob property, so mobs right-click action only works for their owner
----------, Jun 18, 2021

This release fixes just one bug that's been causing people not using the builtin configs nor their own classes a lot of trouble.

The current dev builds (Magic 9.0-SNAPSHOT) have 1.17 support but are not quite ready for release yet: https://jenkins.elmakers.com/job/MagicPlugin/ use with caution!

Thank you for your patience!
----------, Jun 16, 2021

pride.jpg
  • Added `pride` example for Pride Month
    • Thanks to cornelia!
    • Use `/mconfig example fetch pride` if you'd like to give your players unique ways to express themselves.
  • Add `exact_ingredient` option to items, to prevent them being used in recipes unintentionally (WIP)
  • Add `has_decimals` builtin_currency option to override currency formatting
  • Add `custom_formatting` option to builtin_currency.currency to turn off using Vault formatting (which is now again the default)
  • Fix an issue where hitting a magically-spawned falling block with another spell before it lands could make it stay permanently
  • Fix a similar issue where auto explosion rollback fails if the exploding mob was affected by a spell
  • Add `model` config option to mobs, for ModelEngine support
  • Add `combustible` mob tag, several `fireproof_` mobs to survival configs
  • Increase durability but reduce damage of emerald sword
  • Fix a wand dupe issue involving spell items and containers
  • Added new `banners` example with a custom banner shop (1.14+)
  • Fix processing attributes at config load time, in particular this fixes the daily kit cooldown
  • Fix placeholder support in Message and Command actions
----------, Jun 5, 2021

As the prophecy foretold, there were still quite a few load order integration issues.

Most notably protection plugin integrations such as Towny, PreciousStones and GriefPrevention were all broken. As was Skript integration.

Really it seems like more was broken than not.

Sorry about that!

# 8.6.1

- Fix Skript, GriefPrevention, PreciousStones, RedProtect, Heroes, SkillAPI and possibly other plugin integrations
----------, May 11, 2021

I have been intending to work on the RPG configs, I think they're going to be really fun and bring a lot of new features to Magic.

However I keep getting really wrapped up in bug fixes and optimizations, both of which are great, but definitely not as fun.

In particular, I made a change to Magic a while back that has been a huge headache. Specifically this was to set the plugin to load at server startup. This was to facilitate world generation, but has caused a lot of issues, particularly integrating with other plugins.

I'm hoping I have that all fixed now, plus a few other good fixes, optimizations and new features. Please let me know via github or Discord if you continue to have issues. Thank you!

## Changes
  • The "drop" key is now bound to toggling the inventory by default (rather than cycling hotbars, use the swap key for that)
  • The blaster recipes in the stars configs were changed to use sticks instead of oak wood planks
  • RecallAction won't apply protection until after teleporting, this fixes cancel_on_damage not working for recall
  • Removed protection_duration from gather to avoid griefing
  • Copying/building container contents now restricted to Conduit path
  • Skript cast effect can now work with entities, not just players
  • Custom lore on wands will udpate when given, instead of having to be held first
  • Optimize equation parsing, particularly for servers with a lot of custom attributes
  • Optimize message and command replacement. This may have changed behavior slightly, in particular if you have replacements up against text such as "$target_manaMP" you may need to change it to "$target_mana$MP" (enclose the placeholder)
  • The /mage clear command will now also remove wands from a player's ender chest
## Additions
  • Added disable_anvil and disable_enchanting, turn off anvil and enchantment table completely
  • Add attributes: armor, target_armor, luck, target_luck, attack_damage, knockback_resistance, target_knockback_resistance
  • Enchantable wands (like the wizard armor) can be combined with an enchanted book
  • Add virtual_book parameter to Book action
  • Add support for /mgive egg:<mob>, same result as /mmob egg <mob>
  • Add option to fix invisible players on login if you have gotten some permanently invisible players:
    mconfig configure config allow_player_persistent_invisibility false
  • Add ModifyAttribute action
  • Add full_stack parameter to TakeItem action, set to false to only take 1 item from a stack
  • Add indoors requirement
  • Add dice item
  • Support target_<attribute> in equations for all custom attributes
  • Allow disabling any of the special brushes (clone, replicate, erase, etc)
  • Add target_self_requires_pvp spell parameter, to restore old behavior of PvP/self-targeting interactions
  • Updated bannershop with several custom banners by TheBugWhisperer
  • Add spell_blocks config, a superset of the enchant table functionality. See RPG configs for examples.
  • Add max_spells property to classes and wands, can be used to limit the number of spells a player may learn
  • Add spawner properties: check_radius, vertical_check_radius and check_floor, for controlling
    how spawners check for free space. May be needed if spawning ghasts, spiders or other large mobs.
  • Add block and stop_block triggers, for blocking with a shield
  • Add book_item parameter to Book action, for showing a specific saved book
  • Add clear_target parameter to MoveBlock action, so it can be used to copy blocks
## Fixes
  • War config spawner blocks fixed
  • Fix armor stand projectiles not moving (maybe, sometimes), as in Chop and Mine
  • Fix the /mnpc command command to allow spaces in the command
  • Fix errors loading saved items on older versions of Spigot
  • Fix Mob, Monster (and other) spawns attacking the caster (again)
  • The Damage action no_damage_ticks parameter now defaults to off, war configs turn it back on
  • Fix obtaining damaged legacy items, fixes air glider appearance while gliding
  • Fix bound wand data (for /wand restore) getting lost on logout
  • Fix magical blocks dropping when exploded via vanilla TNT
  • Fix being able to stash unstashable wands in smokers and blast furnaces (now configurable)
----------, May 7, 2021

- Fix shulker boxes being destructible (still)
- Fix another piston dupe exploit
- Fix magic mob spawn eggs
- Fix Growth not working on beetroots
- Fix progression to engineer rank
- Fix losing your helmet on death if you had used the Hat spell
- Another possible death drop erasure fix
----------, Apr 13, 2021

Hotfix for 8.5!

  • Fix spell damage causing players to take other damage much more rapidly than normal
  • Fix invisible item frames being visible after being destroyed and recreated by a spell
  • Fix yet even more ways to get wands into the grindstone
  • Fix another case of chest mode and spellbook hiding spells
8.5 Changelog



## New Resource Pack

  • All-new appearances thanks to our amazing Conduit art team, realflamegirl, Phantom and Night!
  • Lower-res, blockier, more Minecrafty
  • Use `/getrp hires` for the old models, or `/mconfig example add hires` to set it server-wide
  • Painterly, lores and slimefun examples can now be used without survival (see migration notes if this caused you issues)

## Engineering Re-Work
  • Conduits now have Cost Reduction X, don't have to worry about mana
  • Materia system, players can use their Materia balance to create blocks if they don't have the blocks
  • Materia can be purchased in the enchantment table menu
  • Materia can be obtained by converting blocks in your inventory, using the brush selector
  • Materia is refunded on undo

## Path Re-work
  • Hotbar count and mana regeneration/max now follow path configs and can not be upgraded separately
  • Paths can now have an `override_properties` section, with properties that will always override wand or class properties
  • This allows you to tweak mana progression after players have already progressed without them getting stuck on the old values
  • See migration log if you need to change this back (basically `/mconfig configure path default allow_property_overrides false`)

## Currency Improvements
  • All currencies, builtin and custom, can be configured the same way
  • Physical items work for all currencies, not just Spell Points
  • "atm" spell and NPC mob added. A shop where players can withdraw money as physical items they can trade or give away
  • Note that all currency and spell point messaging was reorganized, see the migration log if you have custom messaging or localization.
  • Player shops can now set prices shop-wide using the shop tool

## Changes
  • Magic now loads at server startup, so world gen modifications to default worlds catch spawn chunks
  • Hotbar upgrades will now start out empty and not mess up the inventory pages
  • Turn off Magic.notify permission by default. Sorry if it was annoying :cry:
  • Cloak now turns off when you cast another spell
  • Reworked the Stun spell
  • Console and command block casts now act "Superpowered", can bypass indestructible materials. Is configurable.
  • The Equip action can now be used on mobs
  • Cloak won't replace your helmet
  • Re-enabled Gather. If you have issues with it, I'm just going to tell you to disable it though!
  • Re-enabled and re-made Force, hopefully less OP now but still fun and interesting, now available to Wizard rank
  • The Retarget action was re-written to allow it to change any targeting parameters, such as `target: block`
  • Most spell messages now go to the action bar, cooldown messages now shown for "quiet" wands (the default)
  • The Damage action now bypasses vanilla damage cooldowns. Use `no_damage_ticks: -1` to turn this off.
  • Teleporting by any means will now teleport your vehicle with you. Use `teleport_vehicle: false` in the spell parameters to turn this off.
  • Mage.giveItem method no longer aborbs an item if holding a wand. Use `apply_to_wand: true` or `apply_to_caster: true` in your Shop/Selector config if you want that behavior.

## Additions
  • Added builtin Japanese translation (JP) (Thank you, LazyGon!)
  • Added trailshop example, for players to unlock trail effects
  • Added "pi" and "degrees" attribute constants
  • The SpawnEntity action can use $pn, $pd and other placeholders in the `name` parameter
  • Added `mage reward` command, for giving players rewards, replaced with some SP or money if they already have it
  • Add `kit` support to Selector action, see `kitshop` in elworld examples
  • Wands can now have a `level_spells: true` property to auto-level spells to max
  • Add `targeting` parameter section to mob configs, can be used to set up mob factions, see stars example rebel/imperial
    • required_permissions: A player or mob must have one of these permissions for this mob to attack it
    • denied_permissions: A player or mob with any of these permissions will not be attacked
    • radius: If specified (as well as an interval on the main mob config), this will periodically check for a new target.
    • TODO: line of sight checks
  • Add `permissions` mob parameter, currently only works for permission-based targeting checks via the above parameters
  • Add some mob-specific disguise parameters, such as powered and ignited for creepers
  • Added `clear_items` (true/false) and `remove_items` (list of materials) option to chest populator
## Fixes
  • Fix some bugs that may have been causing players to lose items on death
  • Fix another grindstone exploit
  • Re-arrange plugin load order to (possibly) fix issues in recent builds with custom integrations (such as external attribute registration)
  • Fix LibsDisguise integration on old legacy versions of LD
  • Fix using ThrownTrident, ThrownExpBottle and ShulkerBullet in Projectile action
  • Fix some cases of using but disabling the default configs
  • Fix the "book:all" spell category book (also added "book:categories" since the 100-page limit breaks the all book)
  • Fix the Growth spell not working on carrots and potatoes
  • Fix the spellbook hiding spells once it starts to get full
  • Fix Hat spell disappearing your helmet if trying to wear some kind of invalid block
  • Changes to mob and NPC configs will have an immediate affect on in-game mobs
  • Fix Levitate not consuming mana if left on when relogging
  • Fix Rollback+Chop/Mine exploits
## EffectLib 9.0
  • We've teamed up with ChronoKeeper's EffectLib branch!
  • Fix potential memory leaks with effect tasks
  • Fix support for block_crack, block_dust and falling_dust particles in 1.13
  • Fix rotation of several effects: Circle, Donut, Heart
  • Allow orienting additional effects: Atom
  • Added Square effect
  • Added "colors" list to all effects, supporting randomized colors from a set of choices
  • Added Line effect parameters: zigZagRelativeOffset, subEffectAtEnd
  • Added subEffectClass and subEffect parameters to all Effects, this lets you play an entire effect in place of single particles for a given effect
  • Optimizations
  • Fix issues with concurrent uses of the same EquationEffect (technically effectlib 9.1 not yet released)
----------, Apr 5, 2021



## New Resource Pack

  • All-new appearances thanks to our amazing Conduit art team, realflamegirl, Phantom and Night!
  • Lower-res, blockier, more Minecrafty
  • Use `/getrp hires` for the old models, or `/mconfig example add hires` to set it server-wide
  • Painterly, lores and slimefun examples can now be used without survival (see migration notes if this caused you issues)

## Engineering Re-Work
  • Conduits now have Cost Reduction X, don't have to worry about mana
  • Materia system, players can use their Materia balance to create blocks if they don't have the blocks
  • Materia can be purchased in the enchantment table menu
  • Materia can be obtained by converting blocks in your inventory, using the brush selector
  • Materia is refunded on undo

## Path Re-work
  • Hotbar count and mana regeneration/max now follow path configs and can not be upgraded separately
  • Paths can now have an `override_properties` section, with properties that will always override wand or class properties
  • This allows you to tweak mana progression after players have already progressed without them getting stuck on the old values
  • See migration log if you need to change this back (basically `/mconfig configure path default allow_property_overrides false`)

## Currency Improvements
  • All currencies, builtin and custom, can be configured the same way
  • Physical items work for all currencies, not just Spell Points
  • "atm" spell and NPC mob added. A shop where players can withdraw money as physical items they can trade or give away
  • Note that all currency and spell point messaging was reorganized, see the migration log if you have custom messaging or localization.
  • Player shops can now set prices shop-wide using the shop tool

## Changes
  • Magic now loads at server startup, so world gen modifications to default worlds catch spawn chunks
  • Hotbar upgrades will now start out empty and not mess up the inventory pages
  • Turn off Magic.notify permission by default. Sorry if it was annoying :cry:
  • Cloak now turns off when you cast another spell
  • Reworked the Stun spell
  • Console and command block casts now act "Superpowered", can bypass indestructible materials. Is configurable.
  • The Equip action can now be used on mobs
  • Cloak won't replace your helmet
  • Re-enabled Gather. If you have issues with it, I'm just going to tell you to disable it though!
  • Re-enabled and re-made Force, hopefully less OP now but still fun and interesting, now available to Wizard rank
  • The Retarget action was re-written to allow it to change any targeting parameters, such as `target: block`
  • Most spell messages now go to the action bar, cooldown messages now shown for "quiet" wands (the default)
  • The Damage action now bypasses vanilla damage cooldowns. Use `no_damage_ticks: -1` to turn this off.
  • Teleporting by any means will now teleport your vehicle with you. Use `teleport_vehicle: false` in the spell parameters to turn this off.
  • Mage.giveItem method no longer aborbs an item if holding a wand. Use `apply_to_wand: true` or `apply_to_caster: true` in your Shop/Selector config if you want that behavior.

## Additions
  • Added builtin Japanese translation (JP) (Thank you, LazyGon!)
  • Added trailshop example, for players to unlock trail effects
  • Added "pi" and "degrees" attribute constants
  • The SpawnEntity action can use $pn, $pd and other placeholders in the `name` parameter
  • Added `mage reward` command, for giving players rewards, replaced with some SP or money if they already have it
  • Add `kit` support to Selector action, see `kitshop` in elworld examples
  • Wands can now have a `level_spells: true` property to auto-level spells to max
  • Add `targeting` parameter section to mob configs, can be used to set up mob factions, see stars example rebel/imperial
    • required_permissions: A player or mob must have one of these permissions for this mob to attack it
    • denied_permissions: A player or mob with any of these permissions will not be attacked
    • radius: If specified (as well as an interval on the main mob config), this will periodically check for a new target.
    • TODO: line of sight checks
  • Add `permissions` mob parameter, currently only works for permission-based targeting checks via the above parameters
  • Add some mob-specific disguise parameters, such as powered and ignited for creepers
  • Added `clear_items` (true/false) and `remove_items` (list of materials) option to chest populator
## Fixes
  • Fix some bugs that may have been causing players to lose items on death
  • Fix another grindstone exploit
  • Re-arrange plugin load order to (possibly) fix issues in recent builds with custom integrations (such as external attribute registration)
  • Fix LibsDisguise integration on old legacy versions of LD
  • Fix using ThrownTrident, ThrownExpBottle and ShulkerBullet in Projectile action
  • Fix some cases of using but disabling the default configs
  • Fix the "book:all" spell category book (also added "book:categories" since the 100-page limit breaks the all book)
  • Fix the Growth spell not working on carrots and potatoes
  • Fix the spellbook hiding spells once it starts to get full
  • Fix Hat spell disappearing your helmet if trying to wear some kind of invalid block
  • Changes to mob and NPC configs will have an immediate affect on in-game mobs
  • Fix Levitate not consuming mana if left on when relogging
  • Fix Rollback+Chop/Mine exploits
## EffectLib 9.0
  • We've teamed up with ChronoKeeper's EffectLib branch!
  • Fix potential memory leaks with effect tasks
  • Fix support for block_crack, block_dust and falling_dust particles in 1.13
  • Fix rotation of several effects: Circle, Donut, Heart
  • Allow orienting additional effects: Atom
  • Added Square effect
  • Added "colors" list to all effects, supporting randomized colors from a set of choices
  • Added Line effect parameters: zigZagRelativeOffset, subEffectAtEnd
  • Added subEffectClass and subEffect parameters to all Effects, this lets you play an entire effect in place of single particles for a given effect
  • Optimizations
  • Fix issues with concurrent uses of the same EquationEffect (technically effectlib 9.1 not yet released)
----------, Apr 3, 2021

- Update/Fix Towny integration
- Fix brushes being able to be dropped out of a wand inventory (dupe issue)
- Fix another case of XP exploits using the grindstone
- Fix headshots on drowned, pillagers, piglins and other new mobs
- Turn off Magic.notify permission by default. Sorry if it was annoying ;(
----------, Mar 12, 2021

Sorry about the instant hotfix! We just found a pretty serious issue in 8.4, if you reload configs while players are online those players will have their SP cooldown set to 0 until they relog.

Apologies for any inconvenience!

8.4.1

Fix reloading configs setting SP earn cooldown to zero for all online players

8.4

Kits
  • Item kits can now be configured in the kits configuration
  • Kits can be set as:
    • starter: Given on time on join
    • keep: Given every join if players don't have the items
    • remove: Taken away on join if players are no longer allowed to use the kit
    • partial: If a starter kit has changed, players will be given the difference on join
  • Kits can have requirements, such as permissions or attributes
  • Kits can have cooldowns
  • The /mkit command can be used to give kits
  • Kits can be given in spells via the GiveKit action
Fixes
  • Fix flying mob spawns and nether mob spawns in `spawnmobs` example
  • Fix some forms of configuring an AreaOfEffectCloud
    The potion effect duration now defaults to the same duration as the cloud itself
  • Fix chest populator (`chests` example), which I think was never working
  • Fix mobs overrunning the other side and nether side (hopefully)
  • Fix losing armor on death while cloaked
Changes
  • Resource packs now all come from a different URL. The S3 links may stop working at some point in the future,
    so it is a good idea to update if you're using your own configured URLs!
  • Cast spawn rules no longer force self-targeting, you may need to adjust spells to account for this
  • The default resource pack setting is now "auto" instead of "off".
    Use `/mconfig configure config resource_pack_default_auto false` to switch it back off.
  • "Not enough mana" messages will now show by default (unless your wand is set to silent)
  • Shop management tool now uses a GUI
  • The appraiser shop now sells at 50% like other shops
  • Wands will now only show the active spell in their name when the wand is active
  • Automata can not have overlapping casts, use `allow_overlap: true` inside the `cast` block to change this
  • Automata no longer undo all their spell casts when deactivating, use `undo_all: true` inside the `cast` block to change this
  • The `/magic load` command will now update all fetched external examples before reloading. Use `/mconfig load` if you want to skip this.
  • Brushes can no longer be modified in the middle of a cast.
    RIP cool rainbow-striped domes, but I think this will prevent all kinds of accidental mess-ups when copying large builds
  • Updated builtin Spanish translation (`/mconfig language ES`), thanks ChrisTVH!
  • Added `magic-tags` WorldGuard flags, should be used in place of `spawn-tags` though the latter still works
  • Brooms are no longer bound. Use `/mconfig configure wand broomstick bound true` to turn this back on.
  • The Gather spell is now disabled by default. If you want to re-enable it, go ahead, but I can't support it anymore.
  • Items can now have a `name` and `lore` specified in messages.yml, so they can be localized
  • Mobs can have a `name` specified in messages.yml
  • Spell book spell icons glow
  • Removed the destructible2 and destructible3 lists, most spells break all solid blocks by default
  • Wands will not trigger right-click actions if a shield or torch is in the offhand (/mconfig editor material offhand)
Additions
  • Added LOTS more dragons! Thanks to Flamegirl and Cornelia for donating them, and thanks again to Night for the original idea
    Night's original dragons are still present but will spawn much less frequently (in spawnmobs configs) and renamed to "big__dragon"
  • Add `jutsu` example (Naruto jutsus, thanks to Tof!)
  • Added 3 more survival spells (thanks to Phantom)
  • sunstrike, soulburn and vengeance
  • Add warp option to selectors
  • Add `damage_source: direct` option to Damage action, will bypass vanilla damage cooldowns (bypasses everything)
  • Allow using @attributes in custom wand lore
  • Add `command_source` parameter to Selector action, can be player, console (default) or opped_player
  • Add allowed_enchantments, blocked_enchantments and slot parameters to CheckInventory, for checking on a specific inventory slot
  • Add wand instructions progress menu item
  • Add alternate_spell options on wand up to 7, so you can put 8 spells in total on a wand, one for each trigger (including sneak variants)
  • Add steer_controllable parameter for vehicles, use in cars (WASD now steers, look direction not used)
  • Add While action, loops until some set of requirements is met (use with a variable for for/while loop type behavior)
  • Add destructible_materials and indestructible_materials options to ChangeContext action
  • Add `until` parameter to Skip action, to skip sub-actions until some amount of time has passed
  • Add attributes: target_location_x, target_location_y, target_location_z, target_mana, target_mana_max, play_time
  • Add /mauto enable/disable commands to quickly turn on/off automata
  • Add `give_to_caster` parameter to `Drop` action
  • Add `/mconfig example unfetch` command to completely remove previously-fetched examples
  • Added `region_tags` option to requirements
  • Added WIP `mars` external example
  • Add tail and crown FX to wand effect shop (Thank you, Phantom!)
  • You can now use "minutes", "seconds", "hours", "days", "weeks" in duration parameters for simpler configuration
    e.g. "1 seconds" (yes, plural no matter what)
  • Add `prevent_dismount` option to mobs
  • Add `ModifyNoDamageTicks` action, for rapidly damaging mobs and players by bypassing vanilla damage cooldowns
  • Add `food_level` parameter to Feed action, for directly setting food level
  • Add ColorItem action, and very-rare rainbow dragon
  • Add `auto_absorb_sp` option to turn off automatically absorbing SP items on pickup
  • Add `use_wand_name` option to SpawnEntity action
  • Add `cancel_explosion` and `powered` flags for creeper mobs
  • Add `CheckLore` action
  • Add `consume` trigger, fires when eating an item
  • Add `foxhelmet` item (from Night, thank you!) Not currently craftable, WIP
  • Items with custom model data can be given with a shorthand, e.g. `feather{18001}`
----------, Mar 4, 2021

## Kits

- Item kits can now be configured in the `kits` configuration
- Kits can be set as:
starter: Given on time on join
keep: Given every join if players don't have the items
remove: Taken away on join if players are no longer allowed to use the kit
partial: If a starter kit has changed, players will be given the difference on join
- Kits can have requirements, such as permissions or attributes
- Kits can have cooldowns
- The `/mkit` command can be used to give kits
- Kits can be given in spells via the GiveKit action

## Fixes

- Fix flying mob spawns and nether mob spawns in `spawnmobs` example
- Fix some forms of configuring an AreaOfEffectCloud
The potion effect duration now defaults to the same duration as the cloud itself
- Fix chest populator (`chests` example), which I think was never working
- Fix mobs overrunning the other side and nether side (hopefully)
- Fix losing armor on death while cloaked

## Changes

- Resource packs now all come from a different URL. The S3 links may stop working at some point in the future,
so it is a good idea to update if you're using your own configured URLs!
- Cast spawn rules no longer force self-targeting, you may need to adjust spells to account for this
- The default resource pack setting is now "auto" instead of "off".
Use `/mconfig configure config resource_pack_default_auto false` to switch it back off.
- "Not enough mana" messages will now show by default (unless your wand is set to silent)
- Shop management tool now uses a GUI
- The appraiser shop now sells at 50% like other shops
- Wands will now only show the active spell in their name when the wand is active
- Automata can not have overlapping casts, use `allow_overlap: true` inside the `cast` block to change this
- Automata no longer undo all their spell casts when deactivating, use `undo_all: true` inside the `cast` block to change this
- The `/magic load` command will now update all fetched external examples before reloading. Use `/mconfig load` if you want to skip this.
- Brushes can no longer be modified in the middle of a cast.
RIP cool rainbow-striped domes, but I think this will prevent all kinds of accidental mess-ups when copying large builds
- Updated builtin Spanish translation (`/mconfig language ES`), thanks ChrisTVH!
- Added `magic-tags` WorldGuard flags, should be used in place of `spawn-tags` though the latter still works
- Brooms are no longer bound. Use `/mconfig configure wand broomstick bound true` to turn this back on.
- The Gather spell is now disabled by default. If you want to re-enable it, go ahead, but I can't support it anymore.
- Items can now have a `name` and `lore` specified in messages.yml, so they can be localized
- Mobs can have a `name` specified in messages.yml
- Spell book spell icons glow
- Removed the destructible2 and destructible3 lists, most spells break all solid blocks by default
- Wands will not trigger right-click actions if a shield or torch is in the offhand (/mconfig editor material offhand)

## Additions

- Added LOTS more dragons! Thanks to Flamegirl and Cornelia for donating them, and thanks again to Night for the original idea
Night's original dragons are still present but will spawn much less frequently (in spawnmobs configs) and renamed to "big__dragon"
- Add `jutsu` example (Naruto jutsus, thanks to Tof!)
- Added 3 more survival spells (thanks to Phantom) - sunstrike, soulburn and vengeance
- Add warp option to selectors
- Add `damage_source: direct` option to Damage action, will bypass vanilla damage cooldowns (bypasses everything)
- Allow using @attributes in custom wand lore
- Add `command_source` parameter to Selector action, can be player, console (default) or opped_player
- Add allowed_enchantments, blocked_enchantments and slot parameters to CheckInventory, for checking on a specific inventory slot
- Add wand instructions progress menu item
- Add alternate_spell options on wand up to 7, so you can put 8 spells in total on a wand, one for each trigger (including sneak variants)
- Add steer_controllable parameter for vehicles, use in cars (WASD now steers, look direction not used)
- Add While action, loops until some set of requirements is met (use with a variable for for/while loop type behavior)
- Add destructible_materials and indestructible_materials options to ChangeContext action
- Add `until` parameter to Skip action, to skip sub-actions until some amount of time has passed
- Add attributes: target_location_x, target_location_y, target_location_z, target_mana, target_mana_max, play_time
- Add /mauto enable/disable commands to quickly turn on/off automata
- Add `give_to_caster` parameter to `Drop` action
- Add `/mconfig example unfetch` command to completely remove previously-fetched examples
- Added `region_tags` option to requirements
- Added WIP `mars` external example
- Add tail and crown FX to wand effect shop (Thank you, Phantom!)
- You can now use "minutes", "seconds", "hours", "days", "weeks" in duration parameters for simpler configuration
e.g. "1 seconds" (yes, plural no matter what)
- Add `prevent_dismount` option to mobs
- Add `ModifyNoDamageTicks` action, for rapidly damaging mobs and players by bypassing vanilla damage cooldowns
- Add `food_level` parameter to Feed action, for directly setting food level
- Add ColorItem action, and very-rare rainbow dragon
- Add `auto_absorb_sp` option to turn off automatically absorbing SP items on pickup
- Add `use_wand_name` option to SpawnEntity action
- Add `cancel_explosion` and `powered` flags for creeper mobs
- Add `CheckLore` action
- Add `consume` trigger, fires when eating an item
- Add `foxhelmet` item (from Night, thank you!) Not currently craftable, WIP
- Items with custom model data can be given with a shorthand, e.g. `feather{18001}`
----------, Mar 4, 2021

  • Fix PVP preventing players from targeting themselves
  • Fix some wand dupe issues
  • Fix toggle spells instantly cancelling themselves the very first time you cast it
  • Fix potter example progression
----------, Feb 16, 2021

This release fixes a single bug in 8.3 and 8.3.1 where spell levels would get lost or act strangely on wands when spells level up.

This bug only affects wands that store spell levels themselves (so not any of the builtin configs, which use classes).

Cast counts were not affected, so my hope is that if this bug hit you, your players only need to cast their spells a few times to get them to all re-upgrade back where they were. I apologize for any inconvenience!
----------, Feb 6, 2021

  • Fix infinite recursion error when using `/cast day` from the console
  • Fix Red Dragon not spawning in spawnmobs example (it should spawn randomly in the nether)
  • Fix potterplus external example URL
  • Fix consumable (`uses`) wands crashing creative, by not having them get consumed
  • Lower volume of base wand FX
----------, Feb 5, 2021

Dragons!

New boss mobs, will spawn randomly if you're using the "spawnmobs" example with survival. Much thanks to Night for donating these to the plugin!

NOTE: The dragons require both the resource pack and the (Free and excellent!) LibsDisguises plugin (which itself requires ProtocolLib)

[​IMG]


Note that they are works in progress and will be tweaked and improved over time.

## Important Migration Notes
  • The builtin economy was rebalanced, prices of items may have changed. There is no "revert" example to undo this one, but contact me if you need the old prices.
  • Colored leather armor *must* use a # in the color code to differentiate between damage, e.g.
    `/mgive leather_chestplate:#002233`
  • Wands now must have an explicit "craftable: true" parameter to be allowed as a crafting ingredient
  • Magic explosions (boom, grenade, etc) will now check block destructibility per-block
## Player Shops
  • Magic now includes a basic system for player-run shops
  • Use `/mgive shoptoken` to recipe a shop token
  • Use the shop token to create a shopkeeper NPC and recipe a shop tool to manage your shop
  • Use the shop tool on a chest to set the chest for the shopkeeper to use
  • Profit!
  • Note: the economy was rebalanced, prices were added to most, but not all, items. If an item does not have a price assigned it will not appear in a player shop.
  • There is not currently a way for players to set their own prices
## Boss Bar Support
## Fixes
  • Fix some strange problems that can come up when customizing the builtin examples (affected PotterPlus)
  • Fix Petrify upgrades (it should go up to level 3 now)
  • Fix Fireball upgrades (fireball projectiles weren't correctly registering entity hits in modern MC versions)
  • Fix issues with Teleport action when target context has been changed
  • Fix "preuse" wands not casting on their final use
  • Fix wand open/close/etc sound FX broadcasting to nearby players
  • Fix issues saving bound wands, particularly after using /clear
  • Fix hex color codes being parsed as integers
  • Fix Critical passive to work around Minecraft damage immunity timeout
  • Turned off action bar message when spells like Boon and Cloak ran out of mana
  • Fix some issues processing true/false or numeric wand overrides
  • Fix Rocket spell
  • Fix issues with broomstick handle getting stuck in your inventory, they are droppable now
  • Fix NPCs duplicating, don't persist them, clean up leftover NPC enties (1.16 only)
  • Fix brooms and armor stand projectiles not working in the other side or netherside
  • Fix Grenade and Boom bypassing the indestructible block list
  • Fix wand cast overrides not working for boolean or numeric values
  • Fix some specific issues with overlapping casts
## Changes
  • Rename Wear action to Equip (Wear still works).
    Supports any inventory slot, main_hand or "free" to find a free slot.
  • Use Vanish for Cloak and Decoy spells
  • Re-work appraiser NPC shop, re-balance emerald/diamond/gold/iron prices
  • Some potter wand upgrades changed keys to include `_upgrade`
    and not conflict with survival wands (e.g staff_upgrade)
  • The inactive_icon feature will now work on non-inventory-mode wands
  • Recipe discovery will now check for crafting permission
  • Jedi and Sith can use any color lightsaber
  • The Force spell has been disabled until it can be re-worked
  • Economy rebalance, builtin item prices have changed
  • Vault currency prices will now show 2 decimal places (formatting is configurable in messages, number.integer/decimal)
  • Wands now must have an explicit "craftable: true" parameter to be allowed as a crafting ingredient
  • Villager NPCs can't be traded with (by default, set cancel_interact to false to change)
  • Turn off "undo on world save" feature in world_other to avoid automata self-destructing on save
## Additions
  • Added "bosses" builtin example (`/mconfig example fetch bosses`) thanks to Phantom, lots of unique naturally-spawning custom mobs that don't require a RP
  • Added dragon mobs, thanks to Night! Really cool custom boss mobs (Requires the resource pack)
  • Will spawn naturally with spawnmobs example)
  • Add "snowy" automaton for making a 32x32 snowy area
  • Added block_place and block_break world handlers
  • Currently support "Cast" and "Replace" rule classes
  • Added "lucky" example (WIP)
  • Added staff-only `admintool` wand, a set of useful tools for admins
  • Add "break" effect, for when a wand's uses are used up
  • Added Holy Light spell to Wizard path
  • Add "equation" parameter to Command action, works just like Message action
  • Add "enable_vanilla_sounds" configuration option for those of you who *really* hate the new sound configs
  • Add `critical_probability` and `critical_damage_multiplier` parameters to Damage action
  • Added new builtin attributes: target_health, target_health_max, epoch, air, air_max, target_air, target_air_max, hunger, target_hunger
    If using these inside of a projectile, AOE or other compound action you will also need to use UpdateParameters since
    the target won't be set until after the actions have processed their parameters.
  • Add support for using saved disguises in LibsDisguises
  • Add ability to remove Gather friends
  • Add super-expensive butterfly effects to effects shop
  • Added unswappable wand option
  • Added triggers: respawn, drop, swap
  • Added always_active option for automaton that run even when their chunk is not loaded
  • Added fire_type parameter to Burn action, so you can use soul_fire
  • Add `protected` and `hidden` flags to mob configs
  • Add `biomes` and `not_biomes` parameters to CheckBlock action
----------, Feb 2, 2021

  • Fix badly compiled 8.2.1 build which was breaking anything with Vault interaction, including all shops and progressmenu
  • Fix a bug when using a broomstick in an offhand and landing while your wand inventory is open
  • Fix temporary blocks becoming permanent after using Peek on them
----------, Jan 7, 2021

  • Revert default behavior of CheckBlock action targeting, 8.2 may have broken some spells that use it. Sorry about that!
  • Fix potter, stars and bending examples also containing all survival spells
  • Add off-by-default target_pet parameter to spells, will ignore pets from SimplePets
  • Fix crafting the magic sword in legacy MC versions
  • Fix temporary items being able to be picked up on older MC versions (persistent metadata API was broken)
----------, Jan 4, 2021

Happy Holidays!

Build a skating rink out of ice and then use /mnpc add skater for some festive fun!

Optimizations

This build contains many, many optimizations: memory leaks plugged, synchronous chunk loads eliminated (on Paper), hard entity references removed.

MagicWorlds Merged
  • Magic can now customize world generation and mob spawning without needing MagicWorlds
  • Configs go into the worlds folder, and follow the same format as MagicWorlds (though newer easier formats are available!)
    • Spawn rules can now use weighted probability maps
    • Spawn rules can have a priority, don't need to rely on key order
    • Spawn rules can target multiple entity types
  • There is editor support, just like the rest of Magic configs
  • Fix issues with NPCs and Automata getting lost if in unloaded worlds
  • Added new example configs: spawnmobs, chests, netherside and otherside
  • Replace rules can specify special directives:
    • Use stop to stop further processing,
    • Use remove to just remove a mob without replacing
  • Fix several issues with mob spawning in MagicWorlds
The Nether Side

This version includes a new example, netherside. This is like a fine-tuned version of the "other side" configs specifically for 1.16 servers. It takes advantage of the new nether biomes, mobs and block types to make a "netherized" version of the overworld:

[​IMG]
[​IMG]


Crafting improvements
  • Allow using vanilla: true to easily override a vanilla recipe (just set the output to a vanilla item type)
    • Does not remove the default recipe from players' knowledge book (not sure if that's possible)
    • Does not work with vanilla recipes that have multiple possible ingredients (e.g. different wood variants)
  • Add locked option for recipes, to prevent crafting by default
  • Add craftable list to classes, specifying locked recipes that class may craft
  • The disable_default option for recipes now works again, letting you replace vanilla crafting recipes
Fixes
  • Fix support for wildcard brushes (use with SuperReplace to replace stairs, fences, etc in-place)
  • Fix spell inventory issues when using the ajParkour plugin
  • Fix strange behavior when using a broom while already on a broom
  • Fix /getrp url to return the correct URL when a custom RP has been selected
  • Fix ChangeContext not being able to set the source entity to nothing (affects Mob, Monster, etc spells)
  • Fix auto_close on shops not working
  • Fix NPCs sometimes not respawning
  • The Decoy spell doesn't use vanish anymore
Additions and Improvements
  • Add alt-cast (sneak) to levelled up fling to get the original speed
  • Add Alter level 2, with alt-cast (sneak) to absorb a wildcard brush
  • Add replacement options to ChangeBiome, Brush actions and ConstructSpell
  • Add mconfig language command to easily ues a builtin localization file
  • Add FR (French) translation files (thank you, Brushette!)
  • Add in-game notifications to ops about magic errors and warnings (can be controlled via configs or permissions)
  • Cloak now hides you from mobs
  • Allow specifying item_attributes as sections, so you can set a slot per-attribute
  • Use /mgive book:fling to give a descriptive book about one spell
  • Add /mgive learnbook:spell to give a book that describes a spell and can be used to learn it
  • Add active_spells_exclusive and active_spells_restricted spell properties, to make spells only castable if some other spell(s) is or is not already active
  • Added WildStacker integration to avoid stacking Magic Mobs (or any custom-spawned mob).
  • Broomsticks will now put a temporary "broomstick handle" item in the player's inventory so the slot doesn't get taken up by new items and the broomstick has nowhere to go when finished
  • Improved Recall-to-bed behavior
  • Improved support for persistent mobs (in 1.14 and up)
  • Add land trigger and fall_distance attribute, can be used for landing actions, scaled by fall distance (ground pound!)
  • Allow ChangeContext source_location and target_location parameters to specify feet, head, etc entity locations
  • Phantoms can be shrunk and grown (wither skeletons can also be shrunk again, optionally)
  • Wand commands when used from the console can now bypass locked wands
    • (same as a player with Magic.wand.override_locked permission)
    • Use console_bypass_locked_wands: false to disable this
  • Triggers can now be a simple list or a one-liner
  • Jedi and Sith will auto-learn recipes, nether stars removed (still needed for hilt)
  • Add simpler slot parameter to Wear action: boots, helmet, chestplate or leggings
  • Add direction_count and source_location parameters to CheckBlock action, more control over where it looks
  • Add rain option to Weather action
----------, Dec 21, 2020

- Fix compatibility with older versions of LibsDisguises
- Fix some issues absorbing spell items, now requires you to be holding your wand
- Fix cure not working on the caster
- Fix releasing player data locks on shutdown, causing warnings on next login
- Fix lightsaber appearances in legacy MC versions
- Allow crafting a magic sword with a damaged netherite sword
- Fix /mnpc player command
- Fix OP damage of Magic Bow regular arrows
----------, Dec 7, 2020

A big new batch of features!

Migration Notes

  • There was an off-by-one error in the Skip action. I'm hoping this won't have a big impact, but if this has messed up the timing of your spells I apologize! You will need to increase the skip parameter by one, the action was skipping once more than it should have been.
  • PlayEffects and PlaySound no longer give cast credit. Use effects_count_as_cast: true to change this back
  • Added active_wand target to ModifyProperties, won't switch wands by default
  • The following wand properties were removed, and had been broken for a while- use potion_effects instead: health_regeneration, hunger_regeneration, haste
Major Changes
  • Reworked broomstick:
    • Crafting now requires a phantom membrane instead of an elytra
    • Brooms start out slightly faster
    • The broom skill now only increases duration and handling
    • Add crafting recipes for two different upgrades, players must choose which one:
      • Broom Booster, increases speed to previously levelled amounts
      • Broom Glider, allows for infinite flight time
  • Reworked magic armor:
    • Retired apprentice gear
    • Apprentice gear crafting recipes no longer enabled by robes example
    • Items and recipes will stay in case you want them or players have them already
    • Wizard gear recipes changed to apprentice gear recipes
    • Wizard gear no longer indestructible
    • Wizard gear can be enchanted, does not come with enchantments
    • Wizard boots cost 2x magic hearts, grant speed boost
  • Reworking wand buffs
    • Wand buffshop removed for now.
    • Will be replaced by something else in the future
    • Players that have purchased wand protection will get to keep it for now, but my plan is to remove it in the future and reimburse them in some way.
    • If you want, you can set up an NPC using the wanddebuffs spell if you'd like players to be able to refund the protection they bought. I am concerned about the possibility of abuse if players have been able to duplicate wands, though.
    • The magic sword is now enchantable
  • Builtin Magic Mobs Nerfed (mostly just reduced health)
Other Changes of Note
  • Re-worked Gather, added to beginner path as an optional spell
  • Fling is no longer allowed while gliding (OP)
  • Add enchantable wand property, allowing it to be vanilla enchanted
  • Add instructions to builtin examples, will show how to use them when added
  • Add alternate resource packs, available with the /getrp command
  • Add buysellshop template for a combo buy/sell shop
  • Allow potion_effects lists on classes and modifiers
  • Added /mnpc command command to easily setup command NPCs
  • Added Flare Level 3
  • Modifiers can now be put on wand (see vader_lightsaber from stars example)
  • Triggers can be put directly on classes and modifiers, work like mob configs
  • Rankups will now be broadcast to the server by default.
    Use /mconfig configure path default upgrade_broadcast "" to disable this.
Miscellaneous Changes
  • Add jump trigger (for players only)
  • Add ignored_by_mobs wand/class/modifier property
  • Add use_target_mage parameter to ChangeContext action
    Useful for actions such as Selector and CheckRequirement that only use the mage context and not the target
  • Improved spellbook inventory behavior
  • Add Magic.allowed_spell_categories permission list, of spell categories a player may cast
  • The Blind spell now makes mobs confused and lose track of their targets. Added upgrade levels to Blind.
  • Poison now damages a little bit even if you're immune to poison
  • PlayEffects and PlaySound no longer give cast credit. Use effects_count_as_cast: true to change this back
  • Add allowed_entity_classes and denied_entity_classes parameters to CheckEntity action
  • Add delay and warmup parameters and "wait", "teleporting" and "menu" effects to Recall
  • Added active_wand target to ModifyProperties, won't switch wands by default
  • Add rainbow/technicolor armor set (not craftable)
  • Add not_permission requirement
  • Add earns_cooldown_scale parameter, use in missile to make reducing or changing the overall sp cooldown easier
  • Add /mage forget command, to make a player forget crafting recipes
  • When selecting an effect color on the spellbook, it will apply to skill items when cast (it goes to the mage class)
  • The /mwarp import command will now import name, description and icon from your Recall configuration
    After using this command, you can remove the warps section from recall because they will be added automatically.
  • Added the /mwarp map command, to add all of your Recall warps to Dynmap
  • Fix using SkillAPI and Heroes attributes
  • Add DeadSouls integration in Recall, also avoids items getting lost when picking up a soul with the wand inventory open
    https://www.spigotmc.org/resources/dead-souls.69409/
  • Editor improvements, including in-game warnings and errors
----------, Nov 27, 2020

Nothing too major here, you can probably skip this update unless you've been having specific problems with any of the following:
  • Fix NPE in legacy minecraft versions using ModifyBlock
  • Another tweak to death handling to work better with keep-inv plugins (Dead Souls this time)
  • Fix torches next to ore getting eaten by Mine spell
  • Fix crafting issues on Bedrock
8.1 Hopefully coming soon!
----------, Nov 23, 2020

If you have not yet updated to 8.0 please keep reading!

8.0.2 Fixes
  • Fix wands in offhand slot being lost on death
  • Fix icons for magic bow arrow spells and longbow appearance
  • Fix magic sword "valk" appearance
  • Fix XP exploit putting magic armor in a grindstone
  • Fix armor wands not activating when right-clicked to wear
  • Fix `/getrp off` command
  • Fix `/wand list` command
8.0.1 Fixes
  • Fix Secure spell
    • Previously secured containers should be unlockable if you summon a new key
    • Aim up and cast Secure
  • Fix "language" config option
  • Fix loading inherited examples direcrtly (e.g. `/mconfig example set 7`)
  • Fix Cloak instantly turning off at beginner rank
  • Fix arrows from Arrow spell being able to be picked up
8.0 was such a major update that I'm going to continue pasting the update info here, at least until 8.1

Welcome to Magic 8.0!



Note: some of these changes may only apply to modern (1.16+) versions of Spigot. Versions back to 1.9 are still supported though!

If you are using the builtin survival configuration, it is very important that you read these notes!

At the very least, please read the following migration notes:

Migration Notes Copied Here PLEASE READ!
  • If you would like to upgrade, but keep things mostly the same as in previous versions of Magic, add
    example: 7
    to your plugins/Magic/config.yml file before updating.
  • Default survival crafting recipes changed dramatically!
  • Resource pack sending is now off by default. Set this in config.yml to re-enable:
    resource_pack_default_auto: true
  • All players' resource pack preferences will be reset and stick to the defaults until they use the /getrp command
  • There is a new resource pack structure that uses custom model data instead of damage values.
  • If you need to use a resource pack with damage values but are using the builtin configs, you can
    add legacy_icons_enabled: true to your config.yml
    This will be automatically added if you're not on 1.16
  • If you have been using Magic's RP combined with your own, you can use the merge tool to combine them at https://merge.elmakers.com
  • The Magic Sword recipe name has changed from battle to magicsword
    This is important if you've disabled the recipe, please update your crafting.yml!
  • The allow_passthrough parameter of the Teleport action is now false by default. You may need to tweak any custom spell configs using that action accordingly.
  • Wands with interval casts are no longer cost-free, set cast_interval_cost_free: true to put this back.
  • Removed add_uses path parameter. You can use uses to add uses to a wand via a path.
  • Disabled spell inventory quick-casting (using the drop button) by default.
    You can turn this back on with allow_inventory_casting: true but it is not recommended on modern MC versions, since you'll also get a cast of the main spell.
  • Configuration files will now be read out of plugins/Magic/examples, please take care if you have files in that folder for some reason.
Now, with that out of the way!

I'm very excited to bring you the biggest update to Magic in years!

Major changes, the tl;dr version:
  • Survival crafting recipes all changed, made more accessible for early-game players
  • Resource pack changed, all spell icons now use vanilla items so players who don't use the resource pack can still easily use wands
  • There is a web-based editor available for making spells, wands, and other configs via mconfig editor
The Full Changelog - SO MUCH READING!

Important Notes
  • Minecraft 1.16 will now use a new resource pack:
    • If you want or need to turn this off, you can still update. Just put example: 7 in your config.yml
    • All icons and models now use CustomModelData instead of damage predicates
    • Spells and magical items are represented by recognizable vanilla items
    • Wands should now be much easier to use without a resource pack
    • Combining Magic's RP with other RPs may now be somewhat more complicated, so we have created a tool to do the work for you at https://merge.elmakers.com/
    • Spells and wands now use a mix of vanilla and custom sounds
  • Most magic crafting recipes have changed
    • Now requires an intermediate item, the "Heart of Magic"
    • crafted with 4 emeralds and a diamond
    • Players will automatically discover the recipes
  • General Rebalancing
    • Wizard gear buffed a bit
    • Mana Talisman given some protection buffs
    • Mana progression changed, slowed down and lowered cap
    • Cooldowns tweaked on some spells
  • Light spell added to architect path
  • Magic Torch crafting recipe enabled by default
  • Magic Torch can be thrown to provide a light source
Improvements
  • Web editor (beta)
    • Use /mconfig editor spell blink to open an editor session for a specific spell
    • Use /mconfig editor spell mynewspell to create a new spell
  • Added /mconfig example command to easily add/remove example configs
  • Can use /mconfig fetch to load remote configs such as BetterPotter
  • Added /mconfig reset command to reset customized configs to the defaults (deletes your custom file, keeps a backup)
  • The /mconfig clean command has been disabled (hopefully temporarily)
  • Brush improvements (engineering configs)
    • The Absorb spell now copies block data
    • Brush inventory reorganized, will show block data variants
    • Better tab-completion for /wand(or mage) remove brush <some long brush key>
  • Add NPC template system via mob configs
    • Potter configs now have ollivander and year1 through year7 templates
    • Can be spawned simply with /mnpc add ollivander and it's ready to go
    • Added spellshop and healer NPC templates to survival configs
  • Crafting recipes can be set to auto_discover: true
    • They can also contain a list of other recipes that the player will discover once they craft a certain recipe
    • Survival recipes are now automatically discovered as appropriate
  • Classes and modifiers can now use overrides to modify spell behavior
Fixes
  • Fix using the replicate and clone brushes with the Place spell
  • Fix pasting schematics with torches or other wall attachables
  • Fix hotloading recipe changes, and optimize recipe loading
  • Fix warps getting corrupted if the target world is not loaded at server start
  • Fix secure/lockpick spells when non-opped
  • Fix having multiple crafting recipes with similar ingredients
  • Fix using thickness parameter with Volume action
  • Fix blinking on top of the top half of slabs
  • Fix wands not auto-opening on login if they were open on logout
Other Changes
  • SP items are stackable, as are custom skulls
  • SuperConvert will now ignore block data (replace all leaves, water, etc without hassle) shift+cast to match data.
  • Broomsticks are bound again, mainly so they can show instructions on first hold
  • Add reactivate spell property, for spells that should reactivate on login.
    Used for Levitate and broomsticks so you don't fall and die on relog
  • Wand instructions updated to be more flexible, this may require some localization updates if you're customized
  • Add spawn actions on SpawnEntity action, to run some actions after spawning the entity (actions runs on entity death)
  • Decoy improved, added to apprentice path
  • Add ignore_damage option for crafting recipes
  • Add auto_block_state for ModifyBlock, used by Place spell, attempts to place a block as if a player placed it
  • Add /mwarp describe command
  • The /mwarp go and /mwarp send commands will try to load the target world if it is not loaded
  • Add a third alt-cast spell to wands, for a total of 4 possible fixed spells
  • Add SuperWalls spells to default configs
  • Allow numbers (0 - 1) in reset_mana_on_activate wand property, to reset to a fixed number (percentage of max)
  • Improvements to LightAPI integration (magictorch)
  • Add cast_interval_cost_free parameter to wands, interval ("aura") casts are no longer cost-free by default
  • Add vault.enabled config property to turn off Vault integration
  • Add appearance swapping for magic sword
  • Add show_name parameter for mobs
  • Improved combining various location transforms within a single ChangeContext action
  • Add cast_console_feedback config option, /cast and /castp from console now will not print feedback by default. This is to reduce log spam when using automated console casting from other plugins.
  • Add support for phantom size
  • Add support for using JSON to spawn mobs, e.g. /mmob spawn slime{size:5}
  • Add /mage promote command for easily moving a player up a path
  • Add mega_phantom mob to survival
  • Add "random" option for villager_profession
  • Add slimefun example, which will add RP items from this RP:
    https://www.planetminecraft.com/texture-pack/slimefun-texture-by-raulh22/
  • Add safe example, which modifies the survival configs to avoid all world changes
  • Add search effects to BlockSearch action, played for each step of the search
  • The Absorb spell can now absorb most block types (changed from whitelist to blacklist)
  • Added page_free_space wand property, if you want your wands to keep more space free when adding new pages
  • Added CheckModifiers action
  • Added toggleair modifier to architect path, toggles air replacement on/off for several architect spells
  • Cars fall down go boom
Wow did you really read all that??

Well, then, go forth and enjoy!
----------, Nov 19, 2020

This Hotfix for 8.0 fixes the following issues:
  • Fix Secure spell
    • Previously secured containers should be unlockable if you summon a new key
    • Aim up and cast Secure
  • Fix "language" config option
  • Fix loading inherited examples direcrtly (e.g. `/mconfig example set 7`)
  • Fix Cloak instantly turning off at beginner rank
  • Fix arrows from Arrow spell being able to be picked up
8.0 was such a major update that I'm going to continue pasting the update info here, at least until 8.1


Welcome to Magic 8.0!



Note: some of these changes may only apply to modern (1.16+) versions of Spigot. Versions back to 1.9 are still supported though!

If you are using the builtin survival configuration, it is very important that you read these notes!

At the very least, please read the following migration notes:

Migration Notes Copied Here PLEASE READ!
  • If you would like to upgrade, but keep things mostly the same as in previous versions of Magic, add
    example: 7
    to your plugins/Magic/config.yml file before updating.
  • Default survival crafting recipes changed dramatically!
  • Resource pack sending is now off by default. Set this in config.yml to re-enable:
    resource_pack_default_auto: true
  • All players' resource pack preferences will be reset and stick to the defaults until they use the /getrp command
  • There is a new resource pack structure that uses custom model data instead of damage values.
  • If you need to use a resource pack with damage values but are using the builtin configs, you can
    add legacy_icons_enabled: true to your config.yml
    This will be automatically added if you're not on 1.16
  • If you have been using Magic's RP combined with your own, you can use the merge tool to combine them at https://merge.elmakers.com
  • The Magic Sword recipe name has changed from battle to magicsword
    This is important if you've disabled the recipe, please update your crafting.yml!
  • The allow_passthrough parameter of the Teleport action is now false by default. You may need to tweak any custom spell configs using that action accordingly.
  • Wands with interval casts are no longer cost-free, set cast_interval_cost_free: true to put this back.
  • Removed add_uses path parameter. You can use uses to add uses to a wand via a path.
  • Disabled spell inventory quick-casting (using the drop button) by default.
    You can turn this back on with allow_inventory_casting: true but it is not recommended on modern MC versions, since you'll also get a cast of the main spell.
  • Configuration files will now be read out of plugins/Magic/examples, please take care if you have files in that folder for some reason.
Now, with that out of the way!

I'm very excited to bring you the biggest update to Magic in years!

Major changes, the tl;dr version:
  • Survival crafting recipes all changed, made more accessible for early-game players
  • Resource pack changed, all spell icons now use vanilla items so players who don't use the resource pack can still easily use wands
  • There is a web-based editor available for making spells, wands, and other configs via mconfig editor
The Full Changelog - SO MUCH READING!

Important Notes
  • Minecraft 1.16 will now use a new resource pack:
    • If you want or need to turn this off, you can still update. Just put example: 7 in your config.yml
    • All icons and models now use CustomModelData instead of damage predicates
    • Spells and magical items are represented by recognizable vanilla items
    • Wands should now be much easier to use without a resource pack
    • Combining Magic's RP with other RPs may now be somewhat more complicated, so we have created a tool to do the work for you at https://merge.elmakers.com/
    • Spells and wands now use a mix of vanilla and custom sounds
  • Most magic crafting recipes have changed
    • Now requires an intermediate item, the "Heart of Magic"
    • crafted with 4 emeralds and a diamond
    • Players will automatically discover the recipes
  • General Rebalancing
    • Wizard gear buffed a bit
    • Mana Talisman given some protection buffs
    • Mana progression changed, slowed down and lowered cap
    • Cooldowns tweaked on some spells
  • Light spell added to architect path
  • Magic Torch crafting recipe enabled by default
  • Magic Torch can be thrown to provide a light source
Improvements
  • Web editor (beta)
    • Use /mconfig editor spell blink to open an editor session for a specific spell
    • Use /mconfig editor spell mynewspell to create a new spell
  • Added /mconfig example command to easily add/remove example configs
  • Can use /mconfig fetch to load remote configs such as BetterPotter
  • Added /mconfig reset command to reset customized configs to the defaults (deletes your custom file, keeps a backup)
  • The /mconfig clean command has been disabled (hopefully temporarily)
  • Brush improvements (engineering configs)
    • The Absorb spell now copies block data
    • Brush inventory reorganized, will show block data variants
    • Better tab-completion for /wand(or mage) remove brush <some long brush key>
  • Add NPC template system via mob configs
    • Potter configs now have ollivander and year1 through year7 templates
    • Can be spawned simply with /mnpc add ollivander and it's ready to go
    • Added spellshop and healer NPC templates to survival configs
  • Crafting recipes can be set to auto_discover: true
    • They can also contain a list of other recipes that the player will discover once they craft a certain recipe
    • Survival recipes are now automatically discovered as appropriate
  • Classes and modifiers can now use overrides to modify spell behavior
Fixes
  • Fix using the replicate and clone brushes with the Place spell
  • Fix pasting schematics with torches or other wall attachables
  • Fix hotloading recipe changes, and optimize recipe loading
  • Fix warps getting corrupted if the target world is not loaded at server start
  • Fix secure/lockpick spells when non-opped
  • Fix having multiple crafting recipes with similar ingredients
  • Fix using thickness parameter with Volume action
  • Fix blinking on top of the top half of slabs
  • Fix wands not auto-opening on login if they were open on logout
Other Changes
  • SP items are stackable, as are custom skulls
  • SuperConvert will now ignore block data (replace all leaves, water, etc without hassle) shift+cast to match data.
  • Broomsticks are bound again, mainly so they can show instructions on first hold
  • Add reactivate spell property, for spells that should reactivate on login.
    Used for Levitate and broomsticks so you don't fall and die on relog
  • Wand instructions updated to be more flexible, this may require some localization updates if you're customized
  • Add spawn actions on SpawnEntity action, to run some actions after spawning the entity (actions runs on entity death)
  • Decoy improved, added to apprentice path
  • Add ignore_damage option for crafting recipes
  • Add auto_block_state for ModifyBlock, used by Place spell, attempts to place a block as if a player placed it
  • Add /mwarp describe command
  • The /mwarp go and /mwarp send commands will try to load the target world if it is not loaded
  • Add a third alt-cast spell to wands, for a total of 4 possible fixed spells
  • Add SuperWalls spells to default configs
  • Allow numbers (0 - 1) in reset_mana_on_activate wand property, to reset to a fixed number (percentage of max)
  • Improvements to LightAPI integration (magictorch)
  • Add cast_interval_cost_free parameter to wands, interval ("aura") casts are no longer cost-free by default
  • Add vault.enabled config property to turn off Vault integration
  • Add appearance swapping for magic sword
  • Add show_name parameter for mobs
  • Improved combining various location transforms within a single ChangeContext action
  • Add cast_console_feedback config option, /cast and /castp from console now will not print feedback by default. This is to reduce log spam when using automated console casting from other plugins.
  • Add support for phantom size
  • Add support for using JSON to spawn mobs, e.g. /mmob spawn slime{size:5}
  • Add /mage promote command for easily moving a player up a path
  • Add mega_phantom mob to survival
  • Add "random" option for villager_profession
  • Add slimefun example, which will add RP items from this RP:
    https://www.planetminecraft.com/texture-pack/slimefun-texture-by-raulh22/
  • Add safe example, which modifies the survival configs to avoid all world changes
  • Add search effects to BlockSearch action, played for each step of the search
  • The Absorb spell can now absorb most block types (changed from whitelist to blacklist)
  • Added page_free_space wand property, if you want your wands to keep more space free when adding new pages
  • Added CheckModifiers action
  • Added toggleair modifier to architect path, toggles air replacement on/off for several architect spells
  • Cars fall down go boom
Wow did you really read all that??

Well, then, go forth and enjoy!
----------, Nov 15, 2020

Welcome to Magic 8.0!



Note: some of these changes may only apply to modern (1.16+) versions of Spigot. Versions back to 1.9 are still supported though!

Also Note: Known issues: the "language" configuration option is not working, and the Secure spell is broken (the latter is not a new problem). Please use a dev build if you need fixes for these issues right away!

If you are using the builtin survival configuration, it is very important that you read these notes!

At the very least, please read the following migration notes:

Migration Notes Copied Here PLEASE READ!
  • If you would like to upgrade, but keep things mostly the same as in previous versions of Magic, add
    example: 7
    to your plugins/Magic/config.yml file before updating.
  • Default survival crafting recipes changed dramatically!
  • Resource pack sending is now off by default. Set this in config.yml to re-enable:
    resource_pack_default_auto: true
  • All players' resource pack preferences will be reset and stick to the defaults until they use the /getrp command
  • There is a new resource pack structure that uses custom model data instead of damage values.
  • If you need to use a resource pack with damage values but are using the builtin configs, you can
    add legacy_icons_enabled: true to your config.yml
    This will be automatically added if you're not on 1.16
  • If you have been using Magic's RP combined with your own, you can use the merge tool to combine them at https://merge.elmakers.com
  • The Magic Sword recipe name has changed from battle to magicsword
    This is important if you've disabled the recipe, please update your crafting.yml!
  • The allow_passthrough parameter of the Teleport action is now false by default. You may need to tweak any custom spell configs using that action accordingly.
  • Wands with interval casts are no longer cost-free, set cast_interval_cost_free: true to put this back.
  • Removed add_uses path parameter. You can use uses to add uses to a wand via a path.
  • Disabled spell inventory quick-casting (using the drop button) by default.
    You can turn this back on with allow_inventory_casting: true but it is not recommended on modern MC versions, since you'll also get a cast of the main spell.
  • Configuration files will now be read out of plugins/Magic/examples, please take care if you have files in that folder for some reason.
Now, with that out of the way!

I'm very excited to bring you the biggest update to Magic in years!

Major changes, the tl;dr version:
  • Survival crafting recipes all changed, made more accessible for early-game players
  • Resource pack changed, all spell icons now use vanilla items so players who don't use the resource pack can still easily use wands
  • There is a web-based editor available for making spells, wands, and other configs via mconfig editor
The Full Changelog - SO MUCH READING!

Important Notes
  • Minecraft 1.16 will now use a new resource pack:
    • If you want or need to turn this off, you can still update. Just put example: 7 in your config.yml
    • All icons and models now use CustomModelData instead of damage predicates
    • Spells and magical items are represented by recognizable vanilla items
    • Wands should now be much easier to use without a resource pack
    • Combining Magic's RP with other RPs may now be somewhat more complicated, so we have created a tool to do the work for you at https://merge.elmakers.com/
    • Spells and wands now use a mix of vanilla and custom sounds
  • Most magic crafting recipes have changed
    • Now requires an intermediate item, the "Heart of Magic"
    • crafted with 4 emeralds and a diamond
    • Players will automatically discover the recipes
  • General Rebalancing
    • Wizard gear buffed a bit
    • Mana Talisman given some protection buffs
    • Mana progression changed, slowed down and lowered cap
    • Cooldowns tweaked on some spells
  • Light spell added to architect path
  • Magic Torch crafting recipe enabled by default
  • Magic Torch can be thrown to provide a light source
Improvements
  • Web editor (beta)
    • Use /mconfig editor spell blink to open an editor session for a specific spell
    • Use /mconfig editor spell mynewspell to create a new spell
  • Added /mconfig example command to easily add/remove example configs
  • Can use /mconfig fetch to load remote configs such as BetterPotter
  • Added /mconfig reset command to reset customized configs to the defaults (deletes your custom file, keeps a backup)
  • The /mconfig clean command has been disabled (hopefully temporarily)
  • Brush improvements (engineering configs)
    • The Absorb spell now copies block data
    • Brush inventory reorganized, will show block data variants
    • Better tab-completion for /wand(or mage) remove brush <some long brush key>
  • Add NPC template system via mob configs
    • Potter configs now have ollivander and year1 through year7 templates
    • Can be spawned simply with /mnpc add ollivander and it's ready to go
    • Added spellshop and healer NPC templates to survival configs
  • Crafting recipes can be set to auto_discover: true
    • They can also contain a list of other recipes that the player will discover once they craft a certain recipe
    • Survival recipes are now automatically discovered as appropriate
  • Classes and modifiers can now use overrides to modify spell behavior
Fixes
  • Fix using the replicate and clone brushes with the Place spell
  • Fix pasting schematics with torches or other wall attachables
  • Fix hotloading recipe changes, and optimize recipe loading
  • Fix warps getting corrupted if the target world is not loaded at server start
  • Fix secure/lockpick spells when non-opped
  • Fix having multiple crafting recipes with similar ingredients
  • Fix using thickness parameter with Volume action
  • Fix blinking on top of the top half of slabs
  • Fix wands not auto-opening on login if they were open on logout
Other Changes
  • SP items are stackable, as are custom skulls
  • SuperConvert will now ignore block data (replace all leaves, water, etc without hassle) shift+cast to match data.
  • Broomsticks are bound again, mainly so they can show instructions on first hold
  • Add reactivate spell property, for spells that should reactivate on login.
    Used for Levitate and broomsticks so you don't fall and die on relog
  • Wand instructions updated to be more flexible, this may require some localization updates if you're customized
  • Add spawn actions on SpawnEntity action, to run some actions after spawning the entity (actions runs on entity death)
  • Decoy improved, added to apprentice path
  • Add ignore_damage option for crafting recipes
  • Add auto_block_state for ModifyBlock, used by Place spell, attempts to place a block as if a player placed it
  • Add /mwarp describe command
  • The /mwarp go and /mwarp send commands will try to load the target world if it is not loaded
  • Add a third alt-cast spell to wands, for a total of 4 possible fixed spells
  • Add SuperWalls spells to default configs
  • Allow numbers (0 - 1) in reset_mana_on_activate wand property, to reset to a fixed number (percentage of max)
  • Improvements to LightAPI integration (magictorch)
  • Add cast_interval_cost_free parameter to wands, interval ("aura") casts are no longer cost-free by default
  • Add vault.enabled config property to turn off Vault integration
  • Add appearance swapping for magic sword
  • Add show_name parameter for mobs
  • Improved combining various location transforms within a single ChangeContext action
  • Add cast_console_feedback config option, /cast and /castp from console now will not print feedback by default. This is to reduce log spam when using automated console casting from other plugins.
  • Add support for phantom size
  • Add support for using JSON to spawn mobs, e.g. /mmob spawn slime{size:5}
  • Add /mage promote command for easily moving a player up a path
  • Add mega_phantom mob to survival
  • Add "random" option for villager_profession
  • Add slimefun example, which will add RP items from this RP:
    https://www.planetminecraft.com/texture-pack/slimefun-texture-by-raulh22/
  • Add safe example, which modifies the survival configs to avoid all world changes
  • Add search effects to BlockSearch action, played for each step of the search
  • The Absorb spell can now absorb most block types (changed from whitelist to blacklist)
  • Added page_free_space wand property, if you want your wands to keep more space free when adding new pages
  • Added CheckModifiers action
  • Added toggleair modifier to architect path, toggles air replacement on/off for several architect spells
  • Cars fall down go boom
Wow did you really read all that??

Well, then, go forth and enjoy!
----------, Nov 13, 2020

Magic 8.0 is Coming!

The next release of Magic (barring any important hotfixes between now and then) will be a pretty big change.

If you want to get ahead of the ball, check out the migration notes or the changelog. There will be some rebalancing of the survival configs, as well as a major change to how the resource pack works. If you have a custom RP that includes Magic items you may want to take a look!

Magic 8.0 will still support all Spigot versions back to 1.9.3

Changelog for 7.11

  • Fix resource_pack_default_auto config option (won't change anything except for new players though)
  • Fix potter wands not activating right away after opening the box
  • Give the divinghelmet item night vision
  • Fix broomstick dismount behavior when the duration expires
  • Fix sharpness buff being allowed on a wand
  • Fix ModifyEntity changing mob types to zombies unintentionally
  • Fix getting recipe books with a single recipe, add tab-completion
  • A "deactivate" action handler can be added to perform actions when a spell is toggled off
  • Add Levitate level 6, conduit-only, works like Superfly
  • Add glow option to appearance menu
  • Prevent NPCs from burning
----------, Oct 21, 2020

  • Wands are once again stashable by default. I'll quit waffling on this now!
  • Fix the ModifyEntity, ShrinkEntity and GrowEntity actions destroying magic mob data (giant Warlocks!)
  • Fix an issue with duplicate entity attributes on classes and modifiers
  • Fix Thestral bone in potter configs
  • Fix NPC interaction when using villagers that have an assigned profession
  • Fix shop behavior when clicking an empty slot, auto_close shops will close, otherwise it will not
  • Fix right-clicking stacked SP items not giving all of the SP
  • Some improvements to NPCs invulnerability
  • Drop action will spawn a falling block in the center of a block
  • Selector and Shops now set put_in_hand to true by default to avoid weird stacking behavior
  • Add apply_name_to_icon parameter to Selector, set to false to use vanilla item names
  • Add Magic.cast_via_command permission. This is a list, just like Magic.cast, but only applies to using the /cast
    command. Players will still need Magic.cast permission for the spell as well as Magic.commands.cast permission for
    the command.
  • Add cast_spell requirement, can be used for making spell combos (see combo example spell)
  • Update painterly example to use modern RP. To use the old one:
    resource_pack: "https://s3-us-west-2.amazonaws.com/elmakers/Magic/Magic-painterly-RP-8-1.zip"
----------, Oct 15, 2020

  • Fix loading on old versions of Spigot
  • Fix errors using `/mgive someitem someamount` without a player target
  • Some improvements to Wolf House
  • Fix issues with SQLLite on older Spigot versions
  • Fix "Entity is already tracked!" errors
  • Improved undo of broken paintings
----------, Oct 6, 2020

  • Wands are once again unstashable by default. Set `unstashable: false` on base_bound to turn this back off
  • Fix EntityProjectile mob parameters getting ignored
  • Fix issues with attributes on armor and wands not applying when worn/held
  • Fix error in Commit spell
  • Add support for .schem schematics
  • Fix cage, wolfhouse spells (updated all builtin schematics)
  • Fix pasting schematics on older Spigot versions
  • Fix Wolf House spell/item
  • Fix off-by-one error selecting NPCs by index
  • Add ModifyEntity action (see snowify example in elworld configs)
  • Change "passive" wand/armor property to "worn" ("passive" will still work though)
  • The wands in the "ranks" example are now static wands, they are not on a path nor are they bound.
  • Allow using a mob type/key in a "mount" config in another mob
  • Extend the getrp command to let players turn automatic resource packs on and off
  • Fix error in /spells
  • Add netherrite armor and tools to wearable and melee material lists
  • Armor can now be made to be worn in a slot other than the vanilla slot it's supposed to go in (see: hardhat)
  • Undroppable wands can not be used as crafting ingredients
  • Command variables changed such that @tx, etc prints integer and $tx prints with decimals
  • Add "orient" parameter to Atom effect
  • Support color codes in NPC names and dialog
  • Support selectors in wandp, mgive and castp commands
  • Add hide_messages, optional list on a spell to hide specific messages
  • Add builtin Russian (RU) localization, thanks to Phantom
----------, Oct 1, 2020

  • Fix exploit/dupe bugs with keep-inventory plugins and wands
  • Fix how using `example: engineering` or `example: automata` removes survival configs
  • Fix copper_chunk item log-spam on older Spigot versions
  • Fix paste spell and building with schematics stalling the server
  • Allow mana_max_boost and mana_regeneration boost on classes and modifiers
  • The deprecated xp_max_boost and xp_regeneration_boost properties no longer work
  • Add "angry" option for wolf mobs, default interval to 1 second if not specified and using interval triggers
  • Add Equation action .. not sure what you'd use this for, but there is a spiral example in elworld/spells
  • Added Sound and Particle effectlib effects, and "probability" parameter
  • The Tame action/spell can now be used to make foxes trust you
  • Add "fox_type" mob parameter
  • Add EquationVolume action, see surface example
  • The Commit spell will now clear all of a player's undo queues, preventing cross-server undo from staying forever
----------, Sep 21, 2020

  • Support for 1.16.3
  • Fix tag spell
  • Add FakeBlock action, use for peek spell
  • Add simpler format for triggered spells on mobs
  • Paginate `/spells` and `/wand list` output
  • Anvils will no longer bind wands by default, set `enable_anvil_binding: true` to turn this back on
  • Add prevent_melee and prevent_projectiles options to mobs
  • Add new WG custom flags: always-allowed(-spells,-spell-categories,-wands)
  • to override blocked flags
----------, Sep 11, 2020

  • Fix RedProtect failed integration log-spam
  • Fix Recall failing and log-spam
  • Fix randomtp spell and other spells using random vectors
  • Fix setting NPCs to configured magic mob types
  • Fix a certain spell dupe exploit that shall go unnamed
  • Fix SpawnEntity action not using parameters
  • Fix NPCs not respawning when an error happens, and make them silent by default
  • Fix items getting lost when wearing wearable wands
  • Improved support for JSON tags in configs, including skulls from sites like minecraft-heads.com
  • Some improvements to automata spawners, including range-based leashing
  • General improvements to admin commands for NPC and Automata management
  • Player disguises will be applied twice as a hacky work-around to them not working sometimes
  • Add several Bukkit events to mage debug information
----------, Sep 7, 2020

  • Fix saving lots of player data backup files
  • Add RedProtect integration, for build/break/pvp/mob targeting permissions, and Recall warps
  • Add support for Residence regions in Recall
  • Add auto_wands config option, for automatically converting items of a specific type into wands
  • Improved parsing and error messages for vectors in effect configs
  • Add "deactivate_self" parameter to Deactivate action, off by default.
    This reverses a change made in 7.9.1 where Deactivate would cancel its own spell.
  • Add "transformable" mob parameter, can be used to prevent vanilla transformations (e.g. zombie->drowned)
  • Add "robes" example, add this in to get the crafting recipes and textures back for apprentice/wizard armor
  • Upgrade items, spells and brushes are now added to a wand by dropping them onto a wand
  • Add "wearable" property for wands, so they can be worn like a normal armor piece
----------, Sep 3, 2020

  • Fix compatibility with older versions of Spigot (whoops, sorry!)
  • Add "/mage bypass" command, a simple replacement for using "/op" to get magic bypass permissions
  • Fix Cleric chestplate preventing Recall
  • Fixes and improvements to "mmob clear" and "mmob list" commands
  • Allow protected and powered properties on classes
  • Add max_item_count and stack_size parameters to GiveItem action,
    for filling a player's item up to a certain amount, and allowing illegal stack sizes
  • Expose some Wand methods to manipulate wand spell/brush inventories
----------, Aug 26, 2020

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
----------, Aug 20, 2020

  • 1.16.2 Compatibility fixes
  • Automata hearts ("automata" example) may no longer be used to respawn automata
  • Add EarnEvent to API and Skript, for tracking SP earn
  • Improve MySQL connection robustness
  • Add support for material lists as costs
  • Try to prevent players glitching through blocks via brooms
  • Add show_no_permission parameter to SpellShop action, for allowing purchasing of spells even if a
    player does not have permission to cast that spell.
  • Removed wizard clothes texture from RP
  • Fix Cloaked players losing their armor if they die while cloaked.
----------, Aug 13, 2020

  • Some changes and improvements to unbinding wands
  • Add "color" parameter for thrown potions in Projectile action
  • Add custom_name to disguise parameters
  • Villagers and wandering traders can't be Disarm'd
  • Fix damage-type-specific protection/weakness/strength
  • Consumable items won't be consumed if their spell cast fails
  • Fix attributes not updating max health, etc until reload
  • Fix bending water whip spell
  • Fix Blink ascend (level 3)
  • Update PAPI integration to new API
  • Add weather requirement (storm/thunder/clear)
  • Add drop_skull parameter to ShrinkEntity action, so it can be used to shrink but not drop skulls
  • Add SpellInventoryEvent (BetonQuest compatibility)
  • Add DropSkull action, works like ShrinkEntity + ShrinkBlock, but without killing the entity or breaking the block.
  • Fix spell dupe exploit if players get ahold of a spell item
----------, Aug 2, 2020

Hotfix for players not getting items from shops. That is all. Sorry bout that!
----------, Jul 10, 2020

  • Add dismount flag for Mount action
  • Support infinite, infinity and forever as Repeat parameters
  • Put in some fixes for wall-clipping Rocket spell exploits
  • Fix error when using a graduation NPC in potter configs without holding a wand
  • Add StopSound action
  • Add "phase" parameter for ender dragon mobs
  • All "spells: *" in ApplyCooldown action to clear all cooldowns
  • Add "current" parameter to Cancel action, to try to avoid canceling the current cast
  • Fix error loading emerald sword on startup in 1.15 and earlier
  • Add "allow_dropped_items" Selector parameter, will cancel a purchase if your inventory is full
  • Fix for mob triggers not properly re-triggering
  • Fix incorrect data type for HideFlags, which could cause issues with protocol plugins (e.g. Protocolize)
  • Add "mount" property to mobs, which can be another mob to use as a mount
  • Add SetSpawn action
  • Allow wands to be used as crafting ingredients
  • Fix issues when dynmap is not fully working
----------, Jul 9, 2020

NOTE: There is currently a bug in Spigot where items saved prior to 1.16 that have vanilla attributes (attack strength, attack speed, etc) will not load in 1.16.

There's nothing I can do about this until it is fixed on the Spigot side, so if you have a lot of saved items you may want to wait on updating.

I have re-created the emerald sword for 1.16 which is the only way to fix the problem.

- 1.16.1 support
- The emerald sword is no longer unbreakable (in 1.16 and up only)
- All builtin mobs using zombie pigmen changed to husks (RIP)
- Add support for class-locked armor
- Add "interact" mob trigger for more advanced right-click functionality
- Prevent putting wands into a grindstone
- Fix wands disappearing under certain circumstances when dropped.
However, they will drop now under those same circumstances. It's the best I could do!
- Add "undoable" material list, for tweaking the undo system (e.g. excluding fire from undo)
- Put "collapse" spell back in survival configs (whoops, sorry!)
- Add support for dyed leather horse armor
----------, Jun 30, 2020

Important: Like automata before it, e ngineering is no longer included in the survival configs. You can add it back in with "examples: engineering" if you still want it.

With the example added, players can now automatically progress up to Architect. Conduit is still locked behind the conduitshop though.
  • Moved engineering magic into a separate example
  • Add left_click_sneak, right_click_sneak, drop_sneak and swap_sneak wand actions
  • The "examples" list in config.yml can now be put on a single line
  • Fix log spam when swinging a wand that has no active spell
  • Fix mana not saving properly on droppable wands
  • Fix Colloportus in 1.14+
  • Add require_mana_percentage parameter to CheckMana action
  • Add item_count parameter to GiveItem action so it can be used with variables
  • Fix dupe bug/exploit with the swap key
  • Fix simple potion_effect maps
----------, Jun 23, 2020

IMPORTANT: if you're using the "block monster" automata in the survival configs you will now need to include them separately in config.yml, like

Code (Text):
examples:
- survival
- automata
  • EffectLib effects can now take "forever" as a duration and "random" as a color
  • The Cast action supports "console: true" to cast as the console (take care with this)
  • Add "persist" and "invulnerable" flags to mob configs, for proto-npcs
  • Add "tags" parameter to ApplyCooldown action, for applying cooldowns to all spells with a one or more specific tags
  • Fix glitches with broomsticks leveling up
  • Include offhand and armor slots when checking/removing items from a player's inventory
  • Moved automata into a separate example.
----------, Jun 15, 2020

- Fix gamemode targeting that was broken in 7.9.4
- Action parameters no longer inherit from parent actions to child actions. See MIGRATION.md for more info.
----------, Jun 1, 2020

- Fix some items showing as "not trained" by mistake
- Added ClearInventory action
- Add "mwarp send" command, for using the builtin warp system from the console, NPCs or command blocks
- Spells will only target survival and adventure mode players. This can be controlled with the target_game_modes parameter.
----------, May 31, 2020

  • PLEASE see important notes in MIGRATION.md *before* upgrading! Mostly if you have custom wands with "attributes" set.
  • Modifier system added- for custom status effects
    • Effects act very similar to temporary mage classes
    • Can apply vanilla/magic attributes, mana modifiers, cost/cooldown adjustments and more
    • Can have a duration or be manually removed
    • Use the Modifier action to add/remove, similar syntax to PotionEffect
    • Modifiers must be pre-defined in modifiers.yml
    • There is a new "mage modifier" command for adding and removing modifiers
    • Can have spells with added/removed triggers
  • Added triggers: sneak, stop_sneak, sprint, stop_sprint, glide, stop_glide, left_click, right_click
  • Add lock/unlock triggers for classes.
  • Add "magic arrows", a way to attach spells to arrows that can be fired from a normal bow
  • Add "bowpower" attribute, for arrow spells to react to enchanted bows
  • Add FX to Aqualung and Critical passives
  • Add upgrade levels to Critical, fix FX showing every time
  • Spell shop and advancement can now work without a wand. Changed messaging a little.
  • Spell upgrades now work without a wand
  • Better potion effect undo
  • Add Interval action, like a combo of Repeat + Delay
  • Fix overlapping casts overwriting each others' variables
  • Fix blocked-spells and allowed-spells flags (broken in 7.9.2)
  • The SpawnEntity action now forces spawned mobs to ignore their owner by default. Set "owned: false" to prevent this.
  • Variables can now be pre-defined in a spell, in case you want to use them in base spell parameters
  • Add Warp action, for simple warping (Recall can be complicated for this purpose)
----------, May 27, 2020

This release has a new passive/triggered spell system that I think opens the door to a lot of really cool possibilities. I am particularly interested in using it in the upcoming "RPG" (D&D-style) configs.

For now, there are just two new passives added to the survival configs:
  • Aqualung: Available at the Beginner level, this gives you an extra breath of air right as you start to drown
  • Critical: Available at the Apprentice level, this gives you a random chance to deal bonus damage whenever you use a damaging spell
Passive spells can be obtained in the enchantment table spell shop just like any other spell.

They will appear in your spell inventory, but instead of being castable they can be toggled on and off. When on they will engage automatically when needed.

You do not need to be holding a wand for passive effects to be active.

For some more examples of what can be done with passives, see here:

https://github.com/elBukkit/MagicPlugin/wiki/Passive-and-Triggered-Spells

Expect to see a lot more of these in the future!

Full Changelog For This Release:
  • Passive spell system!
  • Add RemoveSpell action
  • Add CastPermissionManager hook to API
  • Fix crafting permissions in the 2x2 inventory crafting slots
  • Add Essentials integration for vanish detection
  • Andesite, diorite and granite are now in the same destructible lists as stone
  • Added "damage" and "damage_dealt" attributes
  • Add "scope" to ModifyVariable, can be cast (the default), spell or mage
  • Attributes can now be used in Message and Command actions
  • Add "direction", "use_target" and "set_target" parameters to CheckBlock action, for easily checking the block under your feet
  • Fix some consistency issues with the "target_self" parameter
  • Add "target_mount" parameter (false by default) so spells won't kill your horse
  • Fix Dragonball not earning SP on hit
  • Add more detailed support for potion effect lists in PotionEffect action
  • Add "invert" flag to all CheckXXX actions
  • Add magma wand appearance (thanks, Toffy!)
  • Allow using "examples" instead of "add_examples" in config.yml
  • Add "air: max" option to AirSupply action
  • Additional customization options for time and range displays in spell lore
  • Added ResetMage action, "reset" spell for player reset GUI
----------, May 23, 2020

Firstly, please, one important note:

Non-action spells have been mostly deprecated for long long time, with a few exceptions for engineering spells like Fill and SuperXXXX that are currently difficult to reproduce with actions.

I am going to start to remove these deprecated spell classes. If you have been using them in your custom configs you should've been seeing warnings in your server logs for a while now.

To see if you are in trouble, just search your startup logs for the line " is using a deprecated spell class"

In all cases it should be simple to replace them with actions, using the survival configs for reference. It's often a one-to-one replacement, though with some spells (like FrostSpell) you may have to combine a few actions to get the same effect (ModifyBlock + AOE/Damage/PotionEffect).

I apologize for any inconvenience this causes, I generally try to never remove anything from this plugin but I think in this case the time has come.

Now.. on to all of the huge number of exciting changes in this build!
  • RecallSpell was removed, use RecallAction instead.
    • Take note of all the deprecated spells you're using (basically any "class: something" in your main spell properties)
    • These are all old, before the action system, and have been deprecated for years
    • They will show in logs in startup
    • They WILL be removed in future versions!
    • The exception being engineering magic. Look for "is using a deprecated spell class" in your startup logs.
  • Add support for %placeholders% in spell, wand and class parameters
  • Add ModifyVariable action, adding concept of user-defined variables that can be used in spell parameters
    • Use $variable in a spell parameter, command, or message
    • You can also use @variable in commands for an integer version (rounding down)
  • Add "variables" requirement
  • Fix potter wand boxes not properly turning into a wand (icon wasn't working)
  • Potter wand boxes now open on right-click
  • Fix missing IMPORTANT headers in defaults files
  • Add TakeCosts action
  • Add "use_mode" wand property, which can be one of: success, precast, always. This replaces "preuse".
  • Fix spells being unable to cancel themselves (e.g. cancel_on_death)
  • Fix swapping a wand or gun into the offhand restoring its ammo or mana
  • Add upgrade levels to Smite
  • Add "height" requirement
  • Add several builtin attributes: health, health_max, time, moon, location_x, location_y, location_z, level, xp, mana, mana_max
  • Add source_use_movement_direction and target_use_movement_direction options to ChangeContext action
  • Add use_wand and wand_slot parameters to ArmorStandProjectile action
  • Improvements to TakeItem action, can now look for a specific item and also return it on undo
  • Improvements to Damage action scaling by distance
----------, May 14, 2020

This release brings a long-asked-for feature, the ability to store player data in SQL databases. Currently SQLite, MySQL and Postgres are supported. I've only tested SQLite so far, though.

SQL Player Data Storage

If you choose to switch how your player data is stored (Yaml files are still the default), please make sure to backup any existing player data first!

Read the documentation carefully, player data can be auto-migrated seamlessly.

If you have a multi-server setup this may work very well for you, there is a locking mechanism that ensures players moving from one server to the other have their data saved and loaded in the correct order to prevent data loss.

In-Game Customization

Configuration files can now be adjusted in-game! In particular this will allow you to easily disable spells, wands or anything else with one quick command.

Please read the documentation linked below if you're interested in this feature, or just type /mconfig in-game (or in the server console) and try it out!

Changelog:
  • Add in-game customization commands (/mconfig enable|disable|configure)
  • Add support for storing player data in MySQL, Postgres or SQLite
  • Fix broken undo for some blocks with extended data
  • Fix broom offset problem in MC version 1.12 and below
  • Fix sword-based wands having broken icons in 1.12 and below
  • Add BattleArena integration, friendly fire flags will respect teams
  • Add magic_sp, magic_spell_count, magic_mana and magic_mana_max Placeholders
  • More graceful handling of invalid wand icons
  • Add "/mage skin" command, which dumps a block of text you can put in a "skin" property of a player disguise
  • Add "ironman" mob to survival configs (as an example of using a stored skin)
----------, Apr 24, 2020

  • Use SkillAPI allies for friendly fire checks
  • Fix "requires" items in Citizens traits getting removed on restart
  • Add "language" config option, to easily change the language of in-game text.
    Thanks to the generous help of translators, the following built-in languages are available:
    CN, ES, ES2, ES3, KO, ZH
  • Fix an issue where the vanilla /give command could duplicate items when a wand inventory is open
  • Add /mmob egg command, for getting a spawn egg of a mob or magic mob
----------, Apr 16, 2020

  • Fix some issues using CustomModelData icons in wands and spells
  • All containers are now indestructible to magic (an effort to prevent dupe exploits and bad interactions with other plugins)
  • Fix Mine spell by adding a "tool" parameter to the Drop action, which defaults to diamond pickaxe
  • Add Mine level 5 and 6, will drop bonus ores, upgrades now available without engineer rank
----------, Mar 23, 2020

  • Fix Recall, will now place you on top of your bed instead of failing.
  • Fix Recall not teleporting to half-blocks
  • Fix using the drop button on a wand also casting a spell in 1.15
  • Fix skill items being useable if the player switches classes to one that does not have that spell
----------, Jan 22, 2020

  • Fix Lockpick spell
  • Update Towny integration to latest Towny. You may need to update Towny if you use it.
  • Add invert_distance parameter to Damage action, to allow spells to do less damage up close.
  • Add refund_on_no_target spell property, to refund costs on miss
  • Fix broomsticks in 1.15
  • Fix broomsticks insta-crashing if you're not looking up when mounting
  • Disallow using broomsticks in creative mode (PLEASE STOP REPORTING THIS, THE PLUGIN DOES NOT SUPPORT CREATIVE MODE!)
  • Fix custom model data not carrying over from an item to a wand icon
----------, Jan 3, 2020

  • Update for 1.15 support
  • Add worth_type and earns_type spell options, to make it easier to switch the economy
  • Fix parsing wand overrides with spaces in them
  • Allow commands in Command actions to be overridden by wand or /cast parameters
  • Add support for using custom model data for RP icons, rather than damage
    • Icons can be specified like wooden_hoe{CustomModelData:1}
    • A future version of Magic (v8, probably) will switch to this method rather than using damage
  • Potential fix for a mage data loading issue with a complex class hierarchy
----------, Dec 15, 2019

  • Fix undoing block data changes, fixes Admission not closing the door.
  • Add CheckPotionEffects action, for seeing if a target has some specific effects
  • Add light and time requirements, can be used in CheckRequirements or Selector for time of day or light level checks
  • Make it easier to change the items used for spell and wand icons (see items/wands.yml)
  • Fix cycle_reverse wand action causing errors
  • Cycle mode wands show spell lore by default (use show_cycle_lore: false in wand properties to turn this off)
  • Wand overrides now apply to consume_spell casts
  • Fix PowerBlock action (EMP/Aparecium) in 1.13+
  • EMP now works on buttons, but not on redstone blocks
  • Fix FlowerAction/Pollinate not properly creating double-high plants
  • Fix Capture not working on newer mobs
  • Fix spells not damaging the ender dragon in 1.13+
----------, Nov 8, 2019

  • Fix wands limited to path spells not being able to learn extra spells from their path
  • Fix Portal spell in 1.13+
  • Put a max size on the spellshop to prevent it from failing in 1.14.4+
  • Add set_source option to SpawnEntity, see piggyback example spell
  • Fix unstashable wands being stashable in barrels
  • Fix some issues with custom crafting
  • Fix the Music spell (PlayRecord action fix)
  • Add one new wand and two new bow appearances (Thank you, Mutim_Endymion!)
  • The Cloak spell now toggles on and off, and hides armor while active (Thanks, NeoFalcon!)
  • Reduce particle use on a number of spells since Mojang apparently has no desire to fix their horrible performance issues :(
  • The Cylinder effect can now be rotated, used in Superlaser
----------, Sep 24, 2019

# 7.7.4

- Hotfix for error in 7.7.3 loading examples that don't inherit (think this only effects sandbox?)

# 7.7.3

- Fix the Wear action in 1.14 (Hat spell, etc)
- Fix the Air Scooter spell in 1.14
- Fix poison arrows not dealing any poison damage
- Fix schematic loading in 1.14 (signs still don't work, not sure that's going to be fixable)
- Fix cat spell in 1.14 (changed to use SpawnEntity action, may work slightly differently)
- Fix progression when using legacy configs (example: 6)
- Fix colored wool, carpet etc in 1.14 using legacy keys (e.g. "carpet:2")
----------, Jun 11, 2019

  • Fix the Wear action in 1.14 (Hat spell, etc)
  • Fix the Air Scooter spell in 1.14
  • Fix poison arrows not dealing any poison damage
  • Fix schematic loading in 1.14 (signs still don't work, not sure that's going to be fixable)
  • Fix cat spell in 1.14 (changed to use SpawnEntity action, may work slightly differently)
  • Fix progression when using legacy configs (example: 6)
  • Fix colored wool, carpet etc in 1.14 using legacy keys (e.g. "carpet:2")
----------, Jun 10, 2019

I'm hoping things are mostly stable now, including in 1.14, but please let me know if you're having issues (preferably via github)

- Fix the Fireball spell
- Fix the Admission spell
- Fix setting arrows to allow pickup in 1.14.1
- Fix the Horse spell going on cooldown even if there wasn't enough room for the horse to spawn
- Add "reset_mana_on_activate" wand property, can be used to make items you must hold to charge up
----------, May 24, 2019

  • Fix errors in 1.14 when trying to copy villagers (trade API is gone)
  • Fix /wand destroy not clearing keep, undroppable and other flags
  • Fix projectile spells in 1.13 and below
  • Fix using block-material-based particle effects in 1.14
----------, May 8, 2019

I think most things should be working in 1.14, please report bugs as you find them, if you're brave enough to update your server. For what it's worth, 1.14 currently seems a little unstable to me.

Changelog:
- Fix NMS bindings for 1.14
- Add CheckVelocity action
- Removed Vault-based "fancy" item name feature, since the feature it relied on has been removed from Vault
- The broom item was changed in the resource pack to not have an offset
----------, Apr 25, 2019

NOTE: You will need to update to the latest EssentialsX dev build if you want Magic's item integration to work. Otherwise, wait to update Magic!

Changelog:
  • Update Essentials ItemDb to latest EssentialsX
    • You will need dev build #721 or higher from: https://ci.ender.zone/job/EssentialsX/
    • You MUST update Essentials if you want Magic item integration to continue to work
    • There was no easy way to keep compatibility with both versions. Sorry!
  • Fix icons on selector options using cast_spell with skull-based icons
  • Boon changed to only work on caster, avoid strange behavior when turned off
  • Fix boon not levelling up
  • The Horse spell requires empty space, to avoid exploits
  • Add Horse spell to Apprentice path
  • Fix the anvil spell
  • Errors in warnings in logs will be colored to stand out. This can be turned off with `colored_logs: false" in config.yml
  • Fix support for map items in 1.13.2
----------, Apr 17, 2019

  • Fix for some internal CraftBukkit changes somewhere in 1.13.2
  • Block and mob photo improvements (Thanks to Yanis48!)
  • Reduce log spam by default (use log_verbosity in config.yml to get all those logs back, if you want)
----------, Jan 6, 2019

  • Add NCP exemptions for creative flight as well as survival flight
  • Fix a block dupe exploit when using spells that destroy blocks
  • Fix appearanceshop not being usable with other wands having the transformable tag
  • Add tweakable wand tag for use in controlsmenu
  • Add option to delay logout, for compatibility with plugins that kill players on logout
  • Fix Blink ability to pass through ceilings unintentionally in certain cases
  • Add "/mage deactivate" command, to force-close a player's wand inventory and cancel any active spells
----------, Dec 7, 2018

The last build had a nasty bug in it that would interfere with the timing of many spells.

This also fixes compatibility with the current (du jour) builds of WorldGuard.
  • Some fixes to work with latest WorldGuard/WorldEdit
  • Fix bug from 7.1.16 that makes construction spells take longer to build
  • Tone down particles on shell and blob because apparently Mojang doesn't like fixing things they broke. But hey, pandas, amirite?
  • Fix some issues with strength (damage multipliers)
----------, Nov 14, 2018

Dev builds from here on are going to be 8.0 snapshots, which will be for 1.13 and up only.

I plan on keeping both versions maintained for as long as I can, but there are starting to be a few bugs creeping in that are too difficult to fix for 1.13 in a backwards-compatible way so I think it's finally time to branch.

Changelog
  • Fix some hangs that could happen when using an infinite Repeat action
  • Fix using `repeat: infinite`
  • Add `offhand` parameter for mobs holding offhand items
  • Allow RP links to include redirects. This may fix some issues using Dropbox to host RPs.
  • Glide will register a flight exemption with NCP
----------, Nov 13, 2018

  • Currency items are now unbreakable so custom item icons can be used
  • Add support for 1.13.2
  • Reduce laggy Blast undo effects
----------, Oct 23, 2018

  • Fix some spells, like Torch, not working in natural caves in 1.13
  • Fix the appearance shop and other wand customizations
  • Add some new config options to help synchronize Bungee servers that are using a linked filesystem to share Magic player data
  • Add "numeric" option to ModifyLore action
----------, Oct 9, 2018

  • Add "permission" parameter to Recall options, to allow locking warps/commands with permissions
  • Add "rotation" and "orient" parameters to image effects
  • Fix Chop spell in 1.13
  • Fix engineering spells (maybe only broken in 1.13 ... ?)
  • Add Grapple Arrow (WIP, not available yet- thanks to NeoFalcon)
  • Allow negative values for strength/weakness/protection (if stack is set to true)
----------, Sep 21, 2018

  • Add ignore_region_overrides spell parameter, for making spells ignore worldguard flags that would allow them
    to break/build when they otherwise wouldn't be able to (yes, a super specific request)
  • Engineering magic will now ignore allowed-spells: *, so no permanent changes can be made in regions that allow
    spells to change blocks. (This is changeable via "override" in spells.yml if you want)
  • Fix the Drop action not being undoable
  • Partial block damage (cracks) now undo in a more consistent way
  • Some fixes to mob counts shown in /mmob list
  • Improved magic bow behavior, now supports arrow spells with delays
  • Bring back hack that switches to chest mode when in creative mode, optional and off by default: wand_creative_chest_switch
  • Fix certain issues switching a wand from chest to inventory mode
  • Add ModifyLore action, for making changes to vanilla item lore
----------, Sep 14, 2018

I hate when I find a really bad bug just moments after releasing!

Sadly this one has been here a while, but I didn't notice it until now.

The issue is that WorldGuard, Factions and other build/break/pvp plugin integrations will stop working after using the "/magic load" command. Pretty terrible, sorry!
----------, Sep 7, 2018

[​IMG]

You can now give players Knowledge Books (in 1.13) containing any custom Magic crafting recipes. When a player uses these books, the recipes are added to their recipe book.

Changelog:
  • Add "as_percentages" parameter to CheckHealth action, to use percentages instead of raw health values.
  • Add "/mgive recipe:wand" (or "recipe:*") item style, for giving recipe knowledge books (1.13 only)
----------, Sep 7, 2018

- Some more fixes to spellshop progression
- Action parameters embedded in the "actions" tree no longer inherit down to child actions
This is possibly a breaking change, though only if you've set up your actions in kind of a strange way.
- Fix projectiles not passing through tall grass in 1.13
- Fix brushmod when using the Brush action (fixes the Projector spell)
- Fixes to ignore plugins that fail to start up (should fix issues with LibsDisguises in 1.13)
----------, Aug 31, 2018

Oops! Found a nasty EffectLib bug right after releasing 7.6.7.

7.6.8

  • Fix effect bugs introduced in 7.6.7
  • Add "track" parameter for automata spawners, to avoid despawning spawned mobs

7.6.7
  • Fix spell descriptions not showing in the spellshop
  • EMP will only affect levers and redstone blocks
  • Fix spellshop not always auto-levelling after buying the last spell
  • Add wand tagging system for use with requirements, make progressmenu easier to customize
  • Some specific internal FX fixes (please let me know if any effects look weird now)
  • Fix mana/regen boosts applied to classes
  • /mtrait invisible works on armor stand NPCs
  • Add CheckInventory action
  • Add /mage+/wand add brush *, for adding all brushes to a wand (won't add variants pre 1.13)
  • Make pistons indestructible to magic, to avoid issues restoring them (for now?)
  • Fix player's health not restoring on relog if max health is buffed by a class
  • Add "reduce" option to ApplyCooldown action to reduce cooldowns instead of clearing or increasing them
  • Magic mobs configs now support adding drops or other behaviors to vanilla mobs or even players.
  • Add mob option to avoid dropping loot if not killed by a player
----------, Aug 17, 2018

  • Fix spell descriptions not showing in the spellshop
  • EMP will only affect levers and redstone blocks
  • Fix spellshop not always auto-levelling after buying the last spell
  • Add wand tagging system for use with requirements, make progressmenu easier to customize
  • Some specific internal FX fixes (please let me know if any effects look weird now)
  • Fix mana/regen boosts applied to classes
  • /mtrait invisible works on armor stand NPCs
  • Add CheckInventory action
  • Add /mage+/wand add brush *, for adding all brushes to a wand (won't add variants pre 1.13)
  • Make pistons indestructible to magic, to avoid issues restoring them (for now?)
  • Fix player's health not restoring on relog if max health is buffed by a class
  • Add "reduce" option to ApplyCooldown action to reduce cooldowns instead of clearing or increasing them
  • Magic mobs configs now support adding drops or other behaviors to vanilla mobs or even players.
  • Add mob option to avoid dropping loot if not killed by a player
----------, Aug 17, 2018

- Add spawn tag API, to support MagicWorlds 1.6
- Alter now works on flower pots (1.13 only)
- Add some safety checks for class entity attributes getting stuck on server crash
- Add jump_cast option for brooms and vehicles, to cast a spell with spacebar while riding
- Add additional automata options, including nearby player, time of day and phase of moon requirements
- Add werewolf mob and spawner (example of only spawning at night during a full moon)
- Add CheckRequirements action, can be used for branching spell logic based on attributes or other things
----------, Aug 10, 2018

  • Fix sniper scope in 1.13
  • Add fall protection to Levitate and Superfly
  • Fix Arrow spell throwing exceptions in 1.13
  • Fix Magic/Master swords not doing melee damage
  • Some fixes to schematic loading in 1.13, still not perfect though.
  • Some attempts to fix Wolf House, still not 100% there yet (+ spigot seems to have command block bugs)
  • Mega-engineering throttled down for performance
  • Added Force Choke to stars configs
  • Add LogBlock integration for engineering magic
  • Fix costs of more than 1 item
  • Fix EMP + Admission undo on 1.12 and below
  • Some fixes to SpawnEntity action getting stuck
----------, Aug 3, 2018

  • Fix torch spell not always working in 1.12
  • Fix undo system not always restoring complex block states in 1.13 (sign/torch/door direction, for instance)
  • Fix headshots
  • Fix a few specific cases of the undo system failing
  • Allow resource packs to work on hosts that don't provide a Last-Modified header (dropboxusercontent)
  • Add missing 1.13 materials to the destructible lists
  • Add configurable support for arbitrary protection plugins, preloaded for Residence
  • Fix lore on shop items, and Philbert egg being free
  • Fix Ocarina in 1.12 and below
  • Fix spawnershop mob spawners in 1.13
  • Fix mobshop mob eggs in 1.13
  • Add support for WorldGuard 7
  • Fix PreciousStones fields not showing up in Recall menu
  • Add /mwarp command, a very simple warp system
    This is basically just here to make Recall work stand-alone. EssentialsX hasn't updated to 1.13 yet and I'm impatient.
----------, Jul 27, 2018

Support/Fixes for 1.13 (Mostly functional but maybe still risky!)

Known issues:
  • Block undo doesn't properly restore certain block states (sign/torch/door direction, for instance)
  • Bed in Tent schematic is broken
----------, Jul 24, 2018

  • The magic bow held by the archer mob is now inert (not useable)
  • Add Factions support for friendly fire flags in spells
  • Add support for villager professions in a disguised mob
  • Fix cast messages not going to action bar
  • Infer types in "/mitem configure", this allows vanilla items to be tagged as undroppable, or keep on death
  • Fix dupe glitch involving [redacted for safety] chests
----------, Jul 13, 2018

  • Fix Growth crops not being harvestable
  • Fix internal errors when placing a Wolf House
  • Fix Lockette integration
  • Fix Mirror Shield
  • Fix double-casting when targeting an entity within arm's reach
  • Fix shops with inline item name/lore definitions
  • Some fixes to the ModifyProperties action
  • Add CheckHealth action
  • Allow actions on SpawnEntity which will run when the entity dies (See: kamikaze spell)
  • Allow multiple commands in a command NPC via the ; delimiter
  • Add SpawnEntity disguise_target parameter (See: decoy spell)
  • Add support for colored potion icons (potion:AA00FF)
  • Add mana potions to the RPG configs
----------, Jul 2, 2018

  • Fix Heroes integration
  • Use 1.13 resource packs by default, unless running on 1.12 and using default configs.
  • Fix some specific issues Multiply actions interfering with one another
  • Add extraspellshop, for selling spells not included in the normal paths.
  • Add Forest and Mob to Conduit and Wizard paths, respectively
  • Fix scale parameter on sell shops
  • Support attribute equations in wand properties and configs
  • Fix incompatibilities with certain GUI plugins such as Jobs Reloaded
  • Support custom items as spell/wand icons (doesn't really do much except let you define them in items.yml)
  • Fix Capture when used on pigmen
  • Nerfed Poison Arrow a bit
  • Add "visibility" effect parameter, can be all (the default),origin or target.
  • Fix random lag issues when spells are running on world save
----------, Jun 18, 2018

Inching our way towards a robust RPG system!
  • Add entity_attributes support to mage classes (e.g. classes can grant additional health, attack speed, etc)
  • Add health_scale property to mage classes for scaled health display
  • Support attribute equations in mage class properties
  • Add drop_original_block option, on by default, blocks now drop when breaking magically modified blocks
  • Fix wand cost/cooldown reduction not respecting the max settings in config.yml
  • Add support for LockettePro
  • Don't allow spamming Blink up into the air
  • Fix strange behavior of Flash Bang when hitting multiple targets
  • Fix exploits with certain spells (Stash, Workbench) quick-cast
  • Add randomize_yaw and randomize_pitch spawner parameters
  • Fix some issues restoring wands
----------, Jun 1, 2018

- Add /mtrait mob <mob> command to attach a magic mob profile to an NPC (Sentinel spellcasting)
- Really allow spells to target Sentinel NPCs
- Cure level 5 can cure zombie villagers
- Tightened up alternate_up/down thresholds so it's harder to accidentally alt-cast
- Fix error on server shutdown if there are players riding brooms
- Fix server lag when creating player skull items or blocks (update MagicArenas if you're using it!)

Latest MagicArenas: https://github.com/elBukkit/MagicArenas/releases/tag/3.3
----------, May 25, 2018

[​IMG]
  • Fix Magic bow
  • Fix renaming wands on an anvil
  • Fix cost free not applying to magic bows
  • Fix random missed spots inside of large Flood Fill casts
  • Fix wands that are given spell levels via config losing those levels when adding a new spell
----------, May 22, 2018

Knocked a few issues off the github request list that were a few years old :D
  • Improve Flatten spell using a new reverse_spiral build type
  • Multi-line message support to all of messages.yml using \n
  • Colorized all path names, mainly for Placeholder API support
  • Fix some odd effects when deactiving Boon
  • Fix magic mobs using Arrow and other projectile spells
  • Improved support for using attributes in base spell parameters (cooldown, range, etc will show correctly in lore)
  • Fixed graduate spell list in potter configs
  • Cars in war configs can now go up 1 block slopes, and don't go invisible when shot
  • Add Growth spell (applies bonemeal in a radius)
----------, May 18, 2018

Please check MIGRATION.md for this release if updating!

There were a few potentially breaking changes. Note that there may be issues downgrading to a previous version, if you need to rollback please make sure to go to 7.4.4.

Custom Currency Support
Screen Shot 2018-05-10 at 8.47.07 PM.png

New Engineering Spells (Raise + Flatten)
[​IMG]

Lots of Changes Under the Hood!

  • Maybe 1.13 support (not tested yet)
  • The survival configs are now contained in an example
    • Defaults are mostly empty but load the survival example by default
    • The files put on your server in the defaults folder are the merged configs, and so will include survival as before
    • This shouldn't affect most of you, but if you notice something weird about your custom configs please let me know!
  • The map brush can now work with concrete, glazed terracotta and several other block types
  • Add support for parrot variants in mob configs
  • Fix mobs spawned with a disguise looking glitchy for 1 tick
  • Add "cast.spells" property to automata
  • Add "launch" trigger to magic mobs, support using magic bow spells (See: archer mob)
  • Add "display_name" property to wands, for making a custom name (no spell info, etc)
  • Allow for custom mob triggers, add Trigger action to trigger via spells
  • Add support for custom currencies
    • Currencies defined in config.yml, named in messages.yml
    • Can be used in casting costs, Selector/Shop costs/earns, spell earning (in place of SP) and worth
    • Can be given with /mgive, in virtual or item form (right-click item to deposit)
    • Available via the API for plugins to add custom currencies
    • Ledger action is now a dynamic book that supports all known currencies
  • Add use_wand_color option to Firework action
  • Colors can now use simple color names (red, blue, etc) or hex codes
  • Add Raise and Flatten engineering spells
  • Fix setting boolean values via /mage setdata, See: https://github.com/elBukkit/MagicPlugin/wiki/Vanity-Items
  • Add class_items option for classes, for items given when unlocking a class and taken away when locking.
  • Fix specifying a custom item-based currency in config.yml
  • Added Book and Cast actions (Thanks, MineStein!)
----------, May 11, 2018

Short changelist this time, I'm hoping this is the last 7.4.x release, and that 7.5 will be next.

- Fix the switch_class option in a Selector menu keeping the menu open
- Fix Chop and Mine spells, broken in 7.4.3
----------, May 6, 2018

- Add item pickup sound for items picked up with a wand inventory open
- Fix some issues with vanilla item attributes not stacking
- Added /mitem spawn command, for spawning magic items in the world (mythic mob drops, command blocks, etc)
- Fix a few ways players could wear skull-based spells
- Fix some strange behavior with riding a broom and chair plugins
- Limited-use wands will consume uses when their spell misses
- Fix Vanish action not working if a player relogs
- Mob configs support inheritance
- Fix some issues with certain actions getting cancelled and not cleaning up properly
----------, May 3, 2018

- Fix breaking some plugins' auto-updaters
- Fix filled wands re-organizing their spell inventory
- Fix lore display of health and hunger costs
- Fix boon and levitate filling mana when the spell ends
----------, Apr 24, 2018

NOTE: If you are already on a 7.5 snapshot dev build, I do not recommend you upgrade to this release.

I did things a little differently this time, using a proper hotfix branch to keep this release clear of all of the 1.13 support that is going in 7.5.

- Fix spawned mobs having no AI by default
- Fix Heroes attribute integration
- Add support for generic_knockback_resistance attribute on items
- Fix annoying warning from PaperSpigot about crafting recipes
- Better handling for wearing pumpkins
- Add a couple of new parameters to Orient and ChangeContext actions
----------, Apr 23, 2018

[​IMG]
  • Add /mauto command for creating "automatic blocks", or automata
    • yes, I know, I already have a thing called automata...
    • Create mobs spawners:
      /mauto add spawner
      /mauto add spawner creeper
    • Create persistent effects:
      /mauto add fountain
    • More info available on the wiki
  • Add support for randomized drop tables to magic mobs
  • Add "spawn" trigger to magic mobs
  • Fix auto-targeting on Gatling Gun and Laser
  • Fix sand blocks breaking in doubles
----------, Apr 17, 2018

# 7.3.9

- Wands will now cancel their passive particle effects when deactivated, allowing for long-running effects while held
- Fix wand effect bubbles having lost their color
- Improve support for complex combined material lists
- Levitate now has a height limit, increases with level up
- LevitateSpell is deprecated, please use the new Fly action instead
- Fix issues toggling off spells that have levelled up
- Fix magic mob spawners
----------, Apr 16, 2018

- Fix an unintentional behavioral change in undo animations that was introduced in 7.2
- Add support for falling block projectiles
- Fix issues using /reload command (still don't use it, though...)
- Add /mage clear command for clearing player inventories of magic items
- Add default_mage_class config option
- Improve and optimize Citizens integration, target Sentinel NPCs by default
- Add ModifyMaxHealth action
- Add ModifyMage action
- Add Chat and ClearChat actions (thanks, MineStein!)
- Add bypass_cooldown parameter
- Fix some issues with toggleable spells restoring health when toggled off
- Fix unstashable wands being stashable until held
----------, Apr 12, 2018

  • Update MobArena integration to work with latest version, magic items now available as rewards
    • Will need further support from MobArena for giving Things to classes for items to work in classes.
    • For now, my fork will still work for that.
  • Added reference guide! http://magic.elmakers.com/reference/
  • Fix Factions integration for the *other* version of Factions. Yeesh.
  • Night spell changed to "A Dark And Stormy Night", makes it rain
  • Added Citadel integration, spells will not break reinforced blocks
  • Fixed /mitem configure command when removing tags
  • Add EntitySelector action
  • Mine and Chop can't be cast in no-break regions
  • Add "cost_heading" message option for shops
  • Add "fx" spell for quickly testing particle types
  • Add more options for disguised entities
  • Fix spellshop messaging with non-class wands
----------, Apr 3, 2018

- Added warnings for use of deprecated spell classes.
Please check your startup logs!
Better to fix these spells now, the classes will be removed in 8.0
- Fix Shock Arrows spewing an error to logs
- Fix Factions integration, add support for Factions safezone (treated as a no-pvp region)
- EffectLib effect parameters can now follow the Magic underscore_format
- Fix wand_undroppable config option not working (though you may want to switch to wand_unstashable)
----------, Mar 29, 2018

  • Add Light, Fire, Ice and Shock arrows to Magic Bow progression
  • Fix automata spawning via MagicWorlds
  • Fix magic armor not always updating due to inventory drag event
  • Fix stars configs, bending configs and Magic Sword not starting off with a bunch of spells
  • Better handling for color codes in wand names
  • Players can no longer take bound wands out of chests if the wand doesn't belong to them
  • Add some config.yml options to disable casting and selection of spells directly from an inventory
  • Fix a few undo issues revolving around blocks breaking during the undo process
----------, Mar 27, 2018

Sorry for the rapid-fire releases, I rushed to get that last bug fixes (can't believe default progression was completely broken without Vault for so long now!).

Anyway, I made a list-minute change to fix an error someone reported and screwed it up, breaking Selector icons which would've made the progress menu kind of hard to use.

Hopefully things are ok now!

  • - Fix broken selector icons.
    - Fix donatorshop.
    - Expanded support for message formatting in wand property lore (stacking, non-stacking, positive/negative)
----------, Mar 25, 2018

  • Fix progressmenu (and other things, possibly) being broken without Vault
  • Allow using \n when configuring a wand description via configure command
  • Changes to classes will take effect properly when using /magic load
  • Camera now requires 1 paper to use
  • Skill properties moved to a "skills" section on classes and spellbook, added "keep" option to keep skills on death
  • Wands can have a "classes" list instead of a single class if they can work with more than one class
----------, Mar 24, 2018

  • Fixed Magic Bow progression, *bow progress may get reset* - Sorry!
  • The Magic Sword no longer starts with additional spells. This may or may not be temporary, some technical issues came up.
  • Fix non-battle spells and brushes showing in the Magic Sword inventory (they weren't supposed to)
  • Fix active costs for Air Scooter, also Levitate/Air Scooter and Boon will prevent mana regen while active.
  • Fix wand organizing and alphabetizing
  • Fix wand inventory going weird on rankup (when earning additional hotbars)
  • Fix Blink Arrows not working if you hit a wall
  • Fix Recall last death location tracking
  • Fix/improve teleportation ledge detection
  • Fix wand current hotbar not saving
  • Add builtin attribute system (WIP)
    • Attributes can be defined in attributes.yml, none exist in the default configuration. See RPG configs
    • Add /mage attribute command for listing and setting attributes
    • Attributes can be added to wands, and stack player attributes (or increase them to a limit)
    • The wand property "attributes" has been renamed to "item_attributes"
    • The mob property "attributes" has been renamed to "entity_attributes"
  • Add "Magic.commands.mage.others" to allow someone to use /mage commands on other players
  • Add /mage switch command to switch classes for a player (combo of lock, unlock and activate)
  • The Magic.wand.override_drop permission changed to Magic.wand.override_stash
  • Added "unstashable" and "unmoveable" wand properties
  • Capture added to Conduit path (was supposed to be on there, forgot to give it an SP cost)
  • Hostile mobs can't be targeted by Heal, Cure or other boon spells (see: friendly_entity_types in config.yml)
  • Some improvements to Blink Arrows that were way more complicated then they were worth, but the arrows work great now.
  • Add "ai: false" option to magic mobs
----------, Mar 23, 2018

  • Beginner, Apprentice, Student, and Master wands are now for demo purposes only and not tied to player progression.
  • Fix sniper rifle damage not undoing
  • The /mskills menu will now work with a player's class skills
  • Add quick_cast and skill_limit properties for classes to control /mskills behavior
  • Add auto undo to the Lightning spell
  • Fix flashbang, singularity and earthquake detonating when hitting the caster
  • Fix the Disposal spell
  • Add /mage lock command, for locking a class without removing its progress
  • Add /wand levelspells command, for levelling up player or wand spells
  • Default sword controls changed to right-click instead of Q
  • Fix normal arrows disappearing from magic bow temporarily
----------, Mar 19, 2018

This is probably the biggest visual overhaul of the plugin in years!

I have updated the visual effects for every single spell in the default survival configs from the Master rank and lower.

Some spells got a much-needed overhaul, but for the most part everything should be functionally identical.

In addition, the default resource pack has been updated with high-res spell icons! Anyone on 7.0 or above using the default RP will see this change immediately.

Much appreciation to the donators that made the purchase of these icons possible!

Another new feature: Magic Bows!

[​IMG]

These are available to craft in the default configs. There are not many spells available yet, but I will be adding more over time.

Any spell can be added to a bow wand, though I am making the official Magic Bow a mana-free wand with mostly unique arrow effects and a separate progression path.

Here is an example prototype of a bow that shoots Railgun:

[​IMG]

Scroll down below the changelog to see a sampling of the new spell FX- warning, lots of gifs!

CHANGELOG
  • All new high-res spell icons! Thanks to my generous donators!
  • Update visual FX for nearly all default spells
  • Added 3 new wand appearances, courtesy of lix3nn
  • Add MP5 to war configs (Thanks again to Sidewalk and NavalClash.net)
  • Master Sword changed to Magic Sword, new appearance added courtesy of lix3nn.
  • New Master Sword item that works more like the Zelda equivalent.
  • Fix issues using /wand save to override an existing wand with a modified version of that wand.
  • Fix for FX that should go on a targets' eyes but use the old "use_hit_location: false" method. (See: Blind)
  • Headshot FX now default to normal hit effects if not specified
  • EffectLib updates:
    • Added "transparency" option to ColoredImageEffect and ImageEffect
    • Image effects can now load files from a URL
    • Add ModifiedEffect, which allows you to parameterized any existing effect.
  • Add "resource_pack_prompt" option to config.yml, and /getrp command for players to use to get the RP when they want it.
  • Fixed sandblast
  • Renaming a wand on an anvil no longer organizes its inventory (changed default option to false)
  • Add active spell expression to Skript
  • Add basic support for magic bows
  • Fix wand_undroppable behavior with shulker boxes
  • Fix sexist camera (wasn't working with alex skins)
Secure
[​IMG]

Kill
[​IMG]

Blind
[​IMG]

Arrow Rain
[​IMG]

Sponge
[​IMG]

Flash Bang
[​IMG]

Night / Sunny Day
[​IMG]

Laser
[​IMG]

ICBM
[​IMG]

Nuke
[​IMG]
----------, Mar 17, 2018

  • Magic mobs can now have a list of triggers, can cast spells or run commands on death/interval/damage.
  • Magic mobs will now focus on the player that has damaged them the most
  • Non-trivial magic mobs will despawn on chunk unload and shutdown
  • Add support for clearing magic mobs from a specific location
  • Add option to the wand buff shop to sharpen the the Master Sword
  • Add physical protection option to buff shop
  • Add Aggro action, to force a mob to target the caster (or the target, via some ChangeContext trickery.. see mob and monster)
  • Add target_tamed property to allow spells to ignore tamed mobs
  • The Cleric Chestplate now heals more the closer players are to the wearer
  • Add hide_flags wand attribute for specific flag visibility per wand
  • Enable headshots on husks, vindicators, evokers and illusioners
    Examples:
    /mmob clear warlock 20 Clear all warlocks within 20 blocks of your location
    /mmob clear all 20 0 64 0 world Clear all magic mobs within 20 blocks of a specific location
----------, Mar 9, 2018

  • Added "damage_type" parameter to Damage action, for using custom damage types.
  • Changed bending configs to define earth/air/fire/water damage types, each bending class has protection against its own elements.
  • Implemented "weakness" and "strength" properties, which can be applied to classes or mobs for type-specific or overall damage weaknesses or bonuses.
  • Added optional count parameter to /mmob spawn command
  • Added Skript integration: https://github.com/elBukkit/MagicPlugin/wiki/Skript
  • Some changes/fixes to how cost/cooldown reductions work
    • They are mostly back to only applying to spells cast with the wand that has the reduction
    • Passive wands (armor, generally) can have reductions that stack and apply to the mage, but I don't have anything like that in configs.
    • This was done to prevent possible exploits with certain cost-free wands by holding them in the offhand.
  • Add "boostable" wand property for making wands that aren't affected by mana boosts
----------, Mar 7, 2018

  • Added "damage_type" parameter to Damage action, for using custom damage types.
  • Changed bending configs to define earth/air/fire/water damage types, each bending class has protection against its own elements.
  • Implemented "weakness" and "strength" properties, which can be applied to classes or mobs for type-specific or overall damage weaknesses or bonuses.
  • Added optional count parameter to /mmob spawn command
  • Added Skript integration: https://github.com/elBukkit/MagicPlugin/wiki/Skript
  • Some changes/fixes to how cost/cooldown reductions work
    • They are mostly back to only applying to spells cast with the wand that has the reduction
    • Passive wands (armor, generally) can have reductions that stack and apply to the mage, but I don't have anything
      like that in configs.
    • This was done to prevent possible exploits with certain cost-free wands by holding them in the offhand.
  • Add "boostable" wand property for making wands that aren't affected by mana boosts
----------, Mar 6, 2018

I clearly should've done more testing on 7.2 ;`(

## 7.2.3

- Fix painterly resource pack
- Fix cooldowns on NPCs, console and command block casting
- Fix blast protection migration

## 7.2.2

- Another hotfix for weird behavior with offhand wands
- Broomstick progress gets stored on a new class instead of the broom item

## 7.2.1

- Hotfix for infinite recursion error when migrating legacy protection
- Make sure spellbooks don't put the spell name in their title
- Some improvements to /describe commands

## 7.2

- Add Magic Torch (magictorch) item, not craftable, requires LightAPI
- Added support for spells requiring SkillAPI classes or skills.
Thanks @robotnikthingy and my other helpful contributors!
- Add commands and generic requirements support to Selector action
- Sniper scope is now toggleable
- Added 4 new guns to war configs, and rebalanced existing guns a bit.
Thanks to Sidewalk and NavalClash.net!
- Add "infinite" option for repeat and delay parameters
- The Boon spell has been changed, it now toggles on and off and gains additional effects as it levels
- Add wand buff shop to progressmenu, the new way to get protection on your wand
- Add "damage_type" parameter to Damage action which can be used to fake any vanilla damage type.
Note that the damage source is lost, so other plugins (like quest plugins, etc) won't see the caster as the
source of damage and give credit for kills. This is a vanilla limitation.
- Wand protection format changed to a map (e.g. protection.fall) for greater flexibility. See MIGRATION.md
- Add "size" parameter for slimes to magic mobs
- Add requirement, cost scaling, and many other features to Selector action
----------, Mar 5, 2018

## 7.2.2

- Another hotfix for weird behavior with offhand wands
- Broomstick progress gets stored on a new class instead of the broom item

## 7.2.1

- Hotfix for infinite recursion error when migrating legacy protection
- Make sure spellbooks don't put the spell name in their title
- Some improvements to /describe commands

## 7.2

- Add Magic Torch (magictorch) item, not craftable, requires LightAPI
- Added support for spells requiring SkillAPI classes or skills.
Thanks @robotnikthingy and my other helpful contributors!
- Add commands and generic requirements support to Selector action
- Sniper scope is now toggleable
- Added 4 new guns to war configs, and rebalanced existing guns a bit.
Thanks to Sidewalk and NavalClash.net!
- Add "infinite" option for repeat and delay parameters
- The Boon spell has been changed, it now toggles on and off and gains additional effects as it levels
- Add wand buff shop to progressmenu, the new way to get protection on your wand
- Add "damage_type" parameter to Damage action which can be used to fake any vanilla damage type.
Note that the damage source is lost, so other plugins (like quest plugins, etc) won't see the caster as the
source of damage and give credit for kills. This is a vanilla limitation.
- Wand protection format changed to a map (e.g. protection.fall) for greater flexibility. See MIGRATION.md
- Add "size" parameter for slimes to magic mobs
- Add requirement, cost scaling, and many other features to Selector action
----------, Mar 4, 2018

## 7.2.1

- Hotfix for infinite recursion error when migrating legacy protection
- Make sure spellbooks don't put the spell name in their title
- Some improvements to /describe commands

## 7.2

- Add Magic Torch (magictorch) item, not craftable, requires LightAPI
- Added support for spells requiring SkillAPI classes or skills.
Thanks @robotnikthingy and my other helpful contributors!
- Add commands and generic requirements support to Selector action
- Sniper scope is now toggleable
- Added 4 new guns to war configs, and rebalanced existing guns a bit.
Thanks to Sidewalk and NavalClash.net!
- Add "infinite" option for repeat and delay parameters
- The Boon spell has been changed, it now toggles on and off and gains additional effects as it levels
- Add wand buff shop to progressmenu, the new way to get protection on your wand
- Add "damage_type" parameter to Damage action which can be used to fake any vanilla damage type.
Note that the damage source is lost, so other plugins (like quest plugins, etc) won't see the caster as the
source of damage and give credit for kills. This is a vanilla limitation.
- Wand protection format changed to a map (e.g. protection.fall) for greater flexibility. See MIGRATION.md
- Add "size" parameter for slimes to magic mobs
- Add requirement, cost scaling, and many other features to Selector action
----------, Mar 4, 2018

Check the migration log for this one, please!
  • Add Magic Torch (magictorch) item, not craftable, requires LightAPI
  • Added support for spells requiring SkillAPI classes or skills.
    • Thanks robotnikthingy and my other helpful contributors!
  • Add commands and generic requirements support to Selector action
  • Sniper scope is now toggleable
  • Added 4 new guns to war configs, and rebalanced existing guns a bit.
    • Thanks to Sidewalk and NavalClash.net!
  • Add "infinite" option for repeat and delay parameters
  • The Boon spell has been changed, it now toggles on and off and gains additional effects as it levels
  • Add wand buff shop to progressmenu, the new way to get protection on your wand
  • Add "damage_type" parameter to Damage action which can be used to fake any vanilla damage type.
    • Note that the damage source is lost, so other plugins (like quest plugins, etc) won't see the caster as the source of damage and give credit for kills. This is a vanilla limitation.
  • Wand protection format changed to a map (e.g. protection.fall) for greater flexibility. See MIGRATION.md
  • Add "size" parameter for slimes to magic mobs
  • Add requirement, cost scaling, and many other features to Selector action
----------, Mar 3, 2018

## 7.1.5

- Unbreak wands broken in 7.1.4 (your data should be fine)
- Add CheckEntity action and Holy Light example spell (currently unobtainable)
- Add ModifyProperties action, WIP- can be used to modify wand or class properties

## 7.1.4

- Really fix Camera, use online player game profiles and fallback to Mojang API. No more mcskinsearch hackiness.
- Fix Automata not respecting region permissions
----------, Feb 24, 2018

Using mcskinsearch was a bad idea! I wanted to get that hotfixed into oblivion before too many camera pics were taken with it.
  • Really fix Camera, use online player game profiles and fallback to Mojang API. No more mcskinsearch hackiness.
  • Fix Automata not respecting region permissions
----------, Feb 23, 2018

This was all targeted for 7.2 but the changelog was getting long, so here you go!
  • Default RP changed to Magic-7
  • Added Snoop spell for peeking inside chests, staff-only
  • Make it easier to create one-off simple configs
    • Add load_default_configs option
    • Allow adding wands, spells, etc directly in config.yml sections
  • Re-work appearanceshop, colorshop and effectshop to allow for unlocking wand appearances and changing wands at will
    • Added progressmenu, which is now the default enchantment table spell
    • Provides access to the spellshop and spell upgrades progress menu
    • Allows access to appearanceshop, colorshop and effectshop
  • Add support for completely custom wand lore (WIP, supports a limited set of wand data)
  • Add option for non-quick-cast skill items
  • Add PlaceholderAPI integration. Supported placeholders: magic.path, class, wand, spell
  • Added Magic.commands.mgive.others permission
  • Add wildcard permissions to plugin.yml to support perm plugins that don't handle wildcards (looking at you, zperms :p)
  • Add Light spell, not obtainable, requires LightAPI
  • Sort-of fix the Camera, courtesy (sort of) of mcskinsearch.com
  • Added "equation" spell for easily testing the equation system and attributes
  • The configure commands now support equations, e.g. "/wand configure cooldown_reduction x*2+1"
  • Add MobArena integration to optionally respect arena protection, globally based on protected status or per-arena
----------, Feb 21, 2018

- Fix stars and bending class progression
- Fix /wand save so that the saved template inherits from the one you're editing
----------, Feb 18, 2018

Hotfix for a startup crash that would occur if using SkillAPI with attributes disabled.
----------, Feb 17, 2018

  • Protection progression removed from wands.
    Old wands will still have protection on them if they earned it.
  • Mana progression changed to only happen on rank up
  • Fix ranking up (was only happening after getting all spells then using an enchant table again)
  • SkillAPI attribute parameters no longer use an underscore prefix.
    See: https://github.com/elBukkit/MagicPlugin/wiki/SkillAPI
  • Heroes attributes can now also be used in spell parameters
  • Crafting recipes can now be added on the fly with /magic load
    • They can not be modified or removed on the fly, however, due to Spigot/Mojang limitations.
  • Implement class chooser, used in bending configs. Bending classes are now locked by default!
  • Stars classes are now locked by default. Starshop unlocks classes and gives ingredients for crafting a saber
  • Fix lightsaber crafting
----------, Feb 16, 2018

  • Potter wands converted to be class-based
  • Lightsabers converted to be class-based
  • Blaster skill upgrades with use
  • Bending powers converted to be class-based and work like the spell book
  • Added support for SkillAPI attributes in spell configs
  • Added support for spells using SkillAPI mana (this is off by default, see config.yml defaults)
  • Fix setting properties on base classes (e.g. /mage configure mana_max 30)
  • Fix mana buffs on armor (wizard armor)
  • Fix quick cast wands
----------, Feb 13, 2018

IMPORTANT NOTE

7.0 Represents a major change for Magic "under the hood", and is hopefully the beginning of a more flexible framework for the future.

However, this means that the initial release of 7.0 could potentially have issues and should be considered semi-experimental.
I've tried my best to test it as much as I could, but with a plugin as configurable as Magic there is always the possibility
that I've missed some use-case or that it won't work quite right with your configs.

So please, if at all possible, when upgrading to 7.0 do some testing with your configs in a controlled environment, or at least
make sure to backup MC player data and Magic player data first. Note that without backups it will be very difficult to
downgrade from 7.0
, as wand data will migrate to player data, and older versions won't know what to do with it.

If you are using completely customized configs there shouldn't be much change, I'm hoping everything will work the same as before.

If you are using the default configs or inheriting from them, everything should appear the same as before. However, things
are going to work a little differently behind the scenes.

Magic is evolving past a custom items and spells plugin, and hopefully will become more like the RPG framework that, I think,
many users have always wanted it to be.

For now what this mainly means is that you can configure how data is stored, instead of it always being stored on the wand items.

The default wands are now set up to store mana, spells and a few other attributes to the owning player. This means that
player progression is now tied to the player, not the wand.

If a player were to craft a new wand, they will see it has their mana and spells on it.

Mana and spells are shared between the Wand, Master Sword and Spell Book, so players are free to mix and match and choose
their own play style without having to re-earn the same spells over and over.

The war configs also make use of this new setup, allowing players to increase their "skill" with certain weapons.

Potter and stars configs have not yet been converted, but they will be, probably in the next release. Mana and spells will be stored in separate classes, so that configs can still be mixed together and make sense.

In the future I hope to expand on all of this with a class system in the new "rpg" configs. This isn't ready yet, however,
but I have been working on these changes for so long, now that they seem functional and stable I wanted to get them out there.

I hope you enjoy! Please let me know if you run into any issues.

General Changes
  • War configs: some weapon skills now upgrade with use
  • Add protection option for magic mobs, warlocks no longer take fall damage
  • The ModifyMana action now acts on the target rather than caster
  • Check for lore as well when comparing crafting ingredients
  • Color and word wrap support for recall icon descriptions
  • Fix right-click behaviors with skull wands
Player Data and Classes
  • Add /mage configure, upgrade and describe commands for dealing with Mage data
  • Add /mage add and remove commands for dealing with Mage spells and brushes
  • Add /mage reset (class) option, for resetting a class progress on a player
  • Add /mage activate and unlock commands, for manipulating mage classes
  • Add classes config file, defaults have a basic setup in each example config. Generally:
    • Spells and mana are held by a base class that may be shared (like by the Master Sword, Wand and Spellbook)
    • Progression path is stored on sub-classes
    • All other properties are still tied to the wand items
----------, Feb 9, 2018

  • Add support for magic items as crafting recipe ingredients. Only display names are checked!
  • Add support for "\n" to make multiple lines in wand and spell "description" fields.
  • Catch the BlockFadeEvent for undo purposes, fixes path blocks not restoring properly when covered by magic blocks
  • Fix gravity's affect on a projectile's speed. In particular fixes odd behavior with projectiles shot straight up.
  • Fix an issue where blocks undoing after a piston has extended into their space would break the piston
  • Fix a potential for a stashed wand (e.g. air glider) to disappear when using with a wand inventory open
  • Some fixes to the Tag spell
  • Cooldown and "not enough mana" sounds are only heard by the caster.
  • Fix strange undo behavior when players' undo queues are full.
  • Entities are now modified prior to being spawned. This fixes some issues, such as not being able to take weapons away from pig zombies or vexes.
----------, Jan 29, 2018

  • Fix some undo issues involving overlapping casts that remove sand blocks
  • Optimize large numbers of Magic NPCs
  • Fix an error in the /magic list entities command
  • Fix a potential error when a player logs out while a spell is being cast on them
----------, Nov 28, 2017

- Fix some potential spell exploit issues revolving around Disarm
- Add "bind_on_give" config property, if you want wands to bind when given with /mgive or /wand
- Fix ability to sneak a wand into a check with "wand_undroppable: true" via hotbar buttons
- Fix issues with item frames and block-creating spells
- Fix an issue with the wand sometimes not saving to item when unequipping
----------, Oct 24, 2017

Changelog:
  • Fix wands breaking blocks like tools even if cancel_interact_on_cast was true
  • Fix double-cast bugs: return click_cooldown to previous default value
  • Allow &4-style color codes in wand descriptions
  • Warlocks no longer cast spells after being disarmed
  • Fix minor block exploit when breaking a block that has been modified by spells more than once before undo
----------, Sep 19, 2017

  • Wands now use right-click instead of drop by default!
  • Some technical changes for performance and anti-glitching:
    • Remove several calls to Player.updateInventory
    • Remove unnecessary wand data saving, reducing item bobbing
    • Change casting to use animate event rather than interact event
  • Wand inventory, hotbar and brush instructions will now change to reflect wand controls
Bug report: A bug was just reported where left-clicking with a wand on a block will now break that block as if it were a normal item (still respecting build permissions of course). I'll try and get a fix for this when I can, if this sounds like a major problem for you then you may want to skip this version.

The problem is that wands now use the animate event for casting, so they no longer cancel the left-click interact event.
----------, Aug 30, 2017

- Fix tile entity support ("log spam") in 1.12.1

That's it. No need to update unless you're on 1.12.1, and even then it was a minor NMS compatibility issue that no one would probably have noticed had there not been log "spam" on startup.
----------, Aug 7, 2017

Some of you have noticed that my web/dev/demo/build server is down. Its hard drive died, sadly. I don't know when I'll be able to replace it.

So in the meantime, here's the latest dev build- it should be pretty stable, though there aren't a ton of changes.

- Add new Snake automata
- Defenders are a 50% reflective
- Add max_velocity config option, defaults to 10 but if you're running Paper you may need to change it to 4.
- Fix more glitches with undoing changes to doors (grrrr doors)
- Fix spells in inventory (as items) disappearing when opening/closing wand
----------, Jul 28, 2017

I'll be out of town for the next week or so, but I will try to respond to issues as I can. In the meantime, here's a good stable build, with a completely new approach to automata.
  • Automata:
    • No longer have hearts, will lose blocks as they are destroyed and eventually die
    • Can't be spawned from command blocks, will erase any old command blocks from previous automata
    • Added some more name suffixes and prefixes
    • Increase spell attack range
  • Add support for setting permission nodes on shop items
  • Blast and Sticky Bomb use block cracking effects
  • Fix hollow Cylinder and Disc casts at larger radii
  • Add Ring action (hollow Disc)
  • Fix Blink looking broken when casting into the air or out of range
----------, Jul 14, 2017

I've been inspired to work on Automata recently, they've been long-neglected but are still one of my favorite things in this plugin.

I've seen a couple of servers actually using them now, which I love, and it's motivated me to improve them. I think with this release they are substantially more useable, safer, fun and challenging.

There are also a few bug fixes and new features in here, so if automata aren't really you're thing it's still worth an update. Most notably:
  • Consumable items (potions, food) can be made into "wands" by giving them a spell that will be cast on consumption. Used in defaults for an SP potion, really just an example.
  • There is a new command- "/mconfig clean". If you have customized Magic by copy+pasting the defaults and then editing, you may want to run this command. It will reduce your configs to just the changes from current defaults, which you can then inspect. It may be that you are missing out on config-based bug fixes or changes because you have copied older configs that are overriding them!
Changelog
  • More Automata changes:
    • Automata no longer use command blocks
    • Automata are reflective, except for the redstone
    • Re-balance automata drops and resurrection costs to avoid abuse
    • Removed automata.yml, automata now just despawn on chunk onload and server restart
    • Defenders use a different heart (lapis block)
  • Blast and Collapse are now projectiles
  • SP Earn Bonus (Mana Talisman) will work on SP item pickups
  • Mana Talisman set to keep on death
  • Fix Recall warmup FX
  • Add "/mconfig clean" command, for cleaning up configs that have had the defaults copy+pasted into them
  • Add Vault integration support for MagicArenas
  • Implement faster block changes, currently in limited use (MagicWorlds, maybe Automata)
  • Add SP potion (potion_sp100 wand)
----------, Jul 10, 2017

Changelog:
  • Add enable_map_animations config option for turning off GIF maps for whatever reason
  • Add different colored blasters to star configs
  • Fix Projector spell, giphy doesn't like my direct-linking anymore.
  • Don't allow placing wands in furnaces
  • Removed TNT and creeper auto-rollback from war configs
  • Fix SuperAlter
  • Fix issue with Blast + Push leaving behind permanent blocks
  • Fix Magic Missile glitching out and duping doors
  • Add ModifyGameMode action
  • Automata changes:
    • Drop SP and gold as well as hearts, drop less XP
    • Fix targeting, worms no longer run away
    • Will clean up after themselves (WIP)
    • Improved aim, rebalanced to use more powerful spells, but may be easier to kill
    • Naturally spawned automata can use restricted materials
----------, Jul 3, 2017

Resource Information
Author:
----------
Total Downloads: 283,103
First Release: Sep 4, 2014
Last Update: Oct 18, 2024
Category: ---------------
All-Time Rating:
347 ratings
Find more info at github.com...
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings