Magic is a plugin that adds powerful magic wands and items to your server. With over 100 spells (plus 100 more HP spells!), a variety of wand templates, and complete customization, you can use Magic to craft a unique experience for your server.

Spells in Magic revolve around unique wand items. Players do not "know" spells, they find, buy, or craft wands that do. Wands may be bound to a specific player (meaning no other player may use them), and a wand may be set to stay with the player if they die. In this way, the spells are somewhat bound to a player, but in Magic it is really all about the wands.

For Players

A wand is an item that can know one or more spells. While holding a wand, left-click to cast the active spell. Wands that have more than one spell will have a "wand inventory" that you can use to quick-change spells and manage any number of spells in a single wand. A wand is meant to be an item you keep for the rest of your experience, constantly adding to it and upgrading it.

You are welcome to come and play and try out the various aspects of wands and spells on any of the example Servers.

For more details, including how to use the various wand inventory modes, please see the Magic Web Site

There is also a list of all wands and spells on the website, with descriptions of each. Admins, see below for how to set up your own version of this website if you'd like.

For Developers

API MagicLibEffectLib

Magic has a simple but deep API if you'd like to integrate. You can cast spells, create wands, or even implement your own spells and effects to add into Magic. You can also build against or shade in MagicLib if you'd like to use any of Magic's core functionality in your plugin without requiring Magic as a dependency.

Magic also uses EffectLib (embedded, no download required) for particle effects- and you can, too! Check it out, it's pretty great.

For Admins

Plugin Demo Resource PackIntegrationCustomize

Development builds of this project can be acquired at the provided continuous integration server. These builds have not been approved by the BukkitDev staff. Use them at your own risk.

Build ServerJIRAScripting

Bugs, Features, Issues

Please use our issue tracker for all bug reports, issues, feature requests, spell ideas, etc. It is searchable, so you can see if your problem is already known, or maybe your idea already had :) Comments here are always appreciated, but might get lost. And please don't try to report bugs in-game.

Customization and the Defaults

Magic is completely customizable. Plugin behavior, available spells and wands, and all in-game text can be customized. Magic also comes with built-in "example" defaults which can be used - currently the "potter" config is the only one that's really fleshed out, but I plan on adding more over time. To see the HP config in action, simply add the following to config.yml:

default: potter

The default Magic experience entails:

  • Players have access to no Magic commands
  • Players may craft wands of various strengths (blaze rod and nether star being the "real" recipe)
  • Players may find wands in naturally-spawned chests (if using MagicWorlds)
  • Wands start out low-level, but can be upgraded with XP on an enchanting table
  • Wands can be combined on an anvil, bought in Essentials shops, included in Essentials kits, and sold by dtlTraders traders.
  • Wands can be used in other plugins such as ShopKeepers and StarterKit, if using a patched CB (or when 1.8 arrives)
  • Naming a wand on an anvil binds it to the player, and no other player may wield it.
  • Admins can set up quests or other rewards to upgrade or create wands.
  • Wands are indestructible. They will show up on dynmap (if installed) so players can find lost wands.
  • Each wand has an inventory of spells and materials that the player can use and manipulate.
  • Wands use a "mana" system for slowly-regenerating magic power.
  • All players have access to all spells, if they can find or create a wand that has them.

Any of the above may be disabled or modified. Some different options:

  • There are 3 different wand inventory modes to choose from: A chest inventory (the default), click-to-cycle, and a powerful hotbar-enabled inventory mode.
  • Permission-based wands, spells and commands (ranking, VIPs, etc)
  • Different wand types, crafting recipes, and enchanting paths
  • Players keep wands on death (all players, or per-wand)
  • Wands come pre-filled with all spells the player has permission to use
  • Reagents instead of mana
  • Other item types for wands (enchanted swords, etc - maybe Bows + enchanted arrows one day)

For all other information on customization or admin commands, please see the Admin Instructions page.

A Note on Permissions and Commands

Magic is primarily meant to be a vanilla add-on, and as such it tries to follow the overall themes of Minecraft: Discovery, crafting, and freedom. All spells and abilities in Magic revolve around wand items, and players are not limited or classified in any way.

Players in Vanilla Minecraft don't level up, other than for the purpose of leveling up (enchanting) their items, and such as it is with wands. A player that loses their wand is just a normal Steve again.

Magic has no commands that are meant for players to use. There is an in-game /spells list, but I don't recommend giving it out. Let players discover new spells naturally, and if they choose to, visit the Magic web site to view the complete list of available spells. Such as it is with Minecraft!

Of course, Magic aims to please by being as flexible as possible. You can also use alternative configurations, such as permissions-based casting, auto-filling wands, or other tweaks and tricks. This is especially useful for VIP wands, where you wouldn't want another player to be able to cast the VIP spells, even if they somehow got a VIP wand and could use it. Or if you'd really like to lock down the admin-oriented spells like Gather and Regenerate.

However, players may not cast spells without a wand. Wands are integral to Magic. You could try to work around this (e.g. bind PowerTools to /cast commands) but I urge you not to. The /cast command is meant for admin experimentation use, like if you're wanting to try out a variant of a spell in-game before adding it to your config. It can also be great in command blocks for creating special effects and scripted events.

However, the /cast command is not meant for players to use, and is potentially a destructive and powerful tool, even if limited to a subset of spells. Don't let players use it! Maybe mods or admins. Maybe!

If you don't like the wands in Magic, please let me know how I could make them better! Using this plugin without the wands is going to be a very limiting experience.

Additional Information

Metrics Collection

Magic Metrics

This plugin uses Hidendra's plugin metrics system. The information sent to is completely anonymous, publicly viewable, and includes the following metrics:

  • A unique identifier
  • The server's version of Java
  • Whether the server is in offline or online mode
  • The plugin's version
  • The server's version
  • The OS version/name and architecture
  • The core count for the CPU
  • The number of players online
  • The Metrics version

Opting out of this service can be done by editing plugins/Plugin Metrics/config.yml and changing opt-out to true, or by editing this plugin's config.yml and changing "metrics_level" to 0.


Full changelog can be viewed on github

You must login to post a comment. Don't have an account? Register to get one!

  • Avatar of mobilephone2003 mobilephone2003 Sep 01, 2014 at 09:08 UTC - 0 likes

    @NathanWolf: Go

    Appreciate that!

    Working on that config from scratch now, will report back.

    I run DuncsWeb - Minecrafting since Feb 2011

  • Avatar of NathanWolf NathanWolf Sep 01, 2014 at 01:15 UTC - 0 likes

    @CaptainJordan23: Go

    You can sort of do that- there's and example of how in the "potter" configs - it's basically a wand that changes it's appearance and description the first time it is held.

    I'm thinking of adding a more complete system for item "packages" in the future.


  • Avatar of NathanWolf NathanWolf Sep 01, 2014 at 01:13 UTC - 0 likes

    @Angelazo1991: Go

    I'm afraid I don't know why that would be. Do you have a separate server (or just a local computer) you could test with? I would assume it's one of the remaining plugins you have- possibly try Magic on it's own?

    If you want to list your active plugins here I could take a look for anything I know to conflict.

  • Avatar of Angelazo1991 Angelazo1991 Sep 01, 2014 at 00:23 UTC - 0 likes

    @NathanWolf: Go

    I use creative, but i dont use the wands, but the users in my server does, and they do not use creative at all...

  • Avatar of CaptainJordan23 CaptainJordan23 Sep 01, 2014 at 00:16 UTC - 0 likes

    Thank you, lol. But now I have another question, How do you make a wand box that gives you a random wand, is there a way to do this?

  • Avatar of ozanalp200 ozanalp200 Aug 31, 2014 at 21:05 UTC - 1 like


  • Avatar of NathanWolf NathanWolf Aug 31, 2014 at 19:24 UTC - 0 likes

    @mobilephone2003: Go

    If you avoid loading the default configs, you don't need to disable anything- just add what you want to wands.yml and spells.yml.

    If you get the latest build with the fixed "enable_crafting" flag, I think this will get you what you want.

    # This is a complete wand/spell overhaul
    load_default_spells: false
    load_default_wands: false
    load_default_enchanting: false
    load_default_crafting: false

    Basically, putting that in your config.yml will completely disable everything- then you can add back in what you want to your spells.yml and wands.yml. Copy+pasting from the default or potter configs could be a good place to start there.

  • Avatar of mobilephone2003 mobilephone2003 Aug 31, 2014 at 19:07 UTC - 0 likes

    @NathanWolf: Go

    Even with custom configs, how can I enable the spells with the items?

    I've got all wands at enabled:false at the moment

  • Avatar of NathanWolf NathanWolf Aug 31, 2014 at 18:35 UTC - 0 likes

    @mobilephone2003: Go

    Oh, and I definitely would recommend you look into making completely custom configs- I do see what you're trying to do, and I think that'd solve a lot of your issues.

    You can also disable any spells you don't want by adding them to spells.yml with "enable: false" - but if you want to disable most spells, it's easier to turn off loading the defaults and just copy over (and modify) the ones you want to keep, like grenade.

  • Avatar of NathanWolf NathanWolf Aug 31, 2014 at 18:27 UTC - 0 likes

    @mobilephone2003: Go

    With -magic.wands.use, my item (wand) wont work even though i have the cast permission.

    That's right- that disables using wand entirely, regardless of cast permissions. Ops can still use /cast though.

    For the WG regions- do you have "other" explosions and TNT explosions denied?

    The grenade spell itself should be disallowed in any region the player doesn't have build perms for- but this means ops and other admins can use it to destroy your spawn.

    It's also possible that someone could lob a grenade into a region from outside of it, with some careful targeting choices. Having your regions explicitly deny TNT and "other" explosions should prevent this (as well as Boom and its variants).

    And finally, if you were to enable auto-undo for Grenade it would restore the paintings (and any other block damage). I know that's not ideal though.

    For what it's worth, I plan on completely re-doing the base configs to be "safer" in general, much more like the Harry Potter configs.


Date created
Sep 18, 2011
Last update
Aug 18, 2014
Development stage
  • enUS
  • zhTW
GNU General Public License version 3 (GPLv3)
Curse link
Recent files