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:

example: 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 gumgumpuntnl gumgumpuntnl Jan 30, 2015 at 11:38 UTC - 0 likes

    Got a issue with the latest dev builds (#626):
    Using latest Spigot version and faction plugin.

    Last edited Jan 30, 2015 by gumgumpuntnl



  • Avatar of NathanWolf NathanWolf Jan 28, 2015 at 15:42 UTC - 0 likes

    @delsolsi213: Go

    No, all version should work with 1.7, 1.7/1.8 protocol hack or full 1.8.

    The latest dev builds do have some 1.8-specific blocks in the config files, but if you run on 1.7 though should just print some warnings to the logs on load and get ignored otherwise.

    Magic 4.0 will probably still support 1.7 when I release it, unless I find a compelling reason not to.


  • Avatar of delsolsi213 delsolsi213 Jan 28, 2015 at 09:49 UTC - 0 likes

    latest versions are for 1.8 only right? im still on spigot protocol hack.

  • Avatar of Unviewed Unviewed Jan 26, 2015 at 20:49 UTC - 1 like

    @NathanWolf: Go

    Ah, all fixed now. Originally I thought you were simply telling me what I copied the "template" from, I appreciate it. No more free items for my players!

  • Avatar of NathanWolf NathanWolf Jan 26, 2015 at 20:15 UTC - 1 like

    @Unviewed: Go

    You can set undo on that one, yes - just use "superiterate" as they key.

    This is the "super" version of the Iterate spell (probably want to change that one, too!)

    At some point I changed the display name to "Column" because it made more sense, but that doesn't make a difference to the configs.

    As for the dev build- I understand and you can wait for 4.0 until it's released, there's not much new there you need. Bukkit does not allow for direct links to unapproved builds, sorry!

  • Avatar of Unviewed Unviewed Jan 26, 2015 at 19:43 UTC - 0 likes

    Sounds good, can't wait.

    So I cannot remove/add a undo timer to column?

    I didn't download the beta version of magic simply because beta versions scare me, being a developer of many different platforms caused me to be cautious of the nearly untested updates. I did, however, go to the build server, (As you instructed to, to download magic 4.0) it didn't really take me to a download link, though. Is there a direct link to the download?

  • Avatar of NathanWolf NathanWolf Jan 26, 2015 at 18:17 UTC - 0 likes

    @Unviewed: Go

    Doh! That is "superiterate"

    All of those spells are going to be gone from the enchanting paths in 4.0.

    Engineering magic will still exist, but not be obtainable without an admin setting up a shop or something specific for it.

    In the meantime, there are quite a few engineering spells in the enchanting path that you probably don't want people to have. I am changing it all, but it's not ready yet.

  • Avatar of Unviewed Unviewed Jan 26, 2015 at 18:02 UTC - 0 likes

    Hey, back with a new and huge problem.

    Recently one of my players has found the Column spell, and decided to spread the word of it's existence like a wildfire.

    Players are now making giant columns of furnaces, pistons and just about any item you can imagine. I couldn't find it in the spells.yml or the spells.default.yml ( Or whatever it is called ) Since I couldn't find it, I couldn't add the 'undo: 10000' tag to it, which is a major problem. Could you give me the "template" for that spell? Or a location along the spells.yml file would work too, but i'm highly doubting it's existence in that file. ( I copied all the spells from the default spells file )

    i am aware you can make your own spell template, but when I tried, it didn't seem to work. I just copied a spell template and pasted it, then changed certain things about it. Here is the "template" ( I wasn't sure what to call it )

        icon: lapis_lazuli
        category: earthbending
        class: ConstructSpell
        worth: 50
            -  class: EffectSingle
               sound: level_up
            -  class: EffectTrail
               effect: step_sound
            allow_max_range: false
            range: 16
            thickness: 1
            radius: 3
            undo: 4000
            type: sphere
            transparent: transparent_to_construction
            mana: 2500

    ( I put it in a code tag to keep the whitespaces. )

  • Avatar of NathanWolf NathanWolf Jan 24, 2015 at 04:06 UTC - 0 likes

    @Oniromancie: Go

    That was something I did at one point to try and prevent players from "smuggling" wands in between worlds... I forgot it was in there :)

    The way that would happen is if you have a wand, but do not have permission to use it, AND you have the "Magic.wand.destruct" permission.

    This will result in your wand auto-destructing if you try to use it. I once had the default group in a survival world set with these perms, in case of MV Inventory failure (there were ways to glitch around it..) the player's smuggled wands would explode :D

    I expect you found it from some weird combination of superperms and the explicit deny on "use".

  • Avatar of Oniromancie Oniromancie Jan 24, 2015 at 04:00 UTC - 0 likes

    Everything is okay now, one of my admins fucked-up with the inheritance. Everything is going Well!

    Ps: When my friend and I were testing the wands would vansih and say that they didn't survive the dimensional shift. Do you know why?


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