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 ronfarkash ronfarkash Aug 23, 2014 at 13:30 UTC - 1 like

    An amazing plugin, I love it.

  • Avatar of JoelSterne JoelSterne Aug 19, 2014 at 23:42 UTC - 1 like

    @NathanWolf: Go

    Alright. For now we'll stick with what we have, but I'll keep checking back for if/when you do get a Cauldron version working! Thanks so much for your help!

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

    @JoelSterne: Go

    EDIT: Well, yeah after some investigation Magic is extremely incompatible with Cauldron!

    I'll see what I can do- but basically every NMS class has differently-named methods, so it will take some research and re-work.

    Last edited Aug 19, 2014 by NathanWolf


  • Avatar of JoelSterne JoelSterne Aug 19, 2014 at 21:19 UTC - 0 likes

    @NathanWolf: Go

    To my inexperienced eye, it looks like it's simply not compatible with the version of Cauldron I need. I included the section of the log between where the plugin attempts to enable and where it disables. if there's any more information you need, just let me know. thanks for such a quick response!

  • Avatar of NathanWolf NathanWolf Aug 19, 2014 at 20:57 UTC - 0 likes

    @JoelSterne: Go

    Magic is 1.7.10 compatible, I've tested on Bukkit and Spigot but I can't really ensure compatibility with every flavor of server.

    Can you provide some server logs, or something more specific about what's failing? I can try to help.

  • Avatar of JoelSterne JoelSterne Aug 19, 2014 at 20:48 UTC - 0 likes

    Is there a version of this that works with Cauldron 1.7.10? There's a few things I want to add to my server's experience that require forge mods, and just about every plugin and mod that we currently use is upgraded/ ready to upgrade from 1.7.9 to 1.7.10 except for this one, the one the server will be based around :P If not, I'll also ask are you considering it in the future, or is it not part of the plan you have in mind?

    Thanks for reading!

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

    @TehMinecraftPoke: Go

    You should be editing /plugins/Magic/spells.yml (and wands.yml)

    If you've got the right files, but it's not working, you could pastebin your config here and I can take a look.

  • Avatar of TehMinecraftPoke TehMinecraftPoke Aug 19, 2014 at 19:12 UTC - 0 likes

    I tried adding my own spell, along with a wand (very simple spell), and they do not work. There are no errors in the console, but when I try to spawn the wand/add the spell to an existing wand, neither exist. Not sure if I am using the right format.

  • Avatar of NathanWolf NathanWolf Aug 18, 2014 at 17:52 UTC - 0 likes

    @MasterVoltarr: Go

    That'll do it!

    This is also fixed in 3.6, which I submitted this morning (mainly for this specific bug fix).

    The default config will ramp up from 1 to 5 spells depending on how many levels you put in- but you can reconfigure (as you've done) to make it more structured.

  • Avatar of MasterVoltarr MasterVoltarr Aug 18, 2014 at 17:49 UTC - 0 likes

    <<reply 2314613>>

    Alright, so somehow, I got the enchanting working. I just needed to set the enchanting to have a min_enchant_level: 29 and max_enchant_level: 30. After I did that, I set the spell-count for the wand to

        1: 90, 100
        2: 0,   0
        3: 0,   0
        5: 0,   0
    After that, I tried enchanting a level one wand and it added 1 spell for every 30 levels.


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