Get an Epic Experience with Premium


Fun Login to Add Favorites
  • Minecraft
  • 2,682 Monthly Downloads
  • Supports: CB 1.7.9-R0.1
  • 318,357 Total Downloads
  • Updated 05/27/2014
  • Created 08/25/2011
  • 28 Favorites
  • Project Site
  • Comments
  • Release Type: Release
  • License: GNU General Public License version 3 (GPLv3)
  • Newest File: v3.3
Support development! **

About MagicSpells

MagicSpells is a Minecraft Bukkit plugin that creates magic spells your players can use. Its main purpose is to give your players access to certain abilities that you might not want to give them unlimited access to. However, instead of just giving them access to boring commands, they instead get more interesting spells. Each spell can be configured in many ways:

  • Reagent costs (the cost of using the spell, including items, mana, health, hunger, experience, and item durability)
  • Cooldowns (the amount of time a player must wait between uses)
  • Durations (how long certain effects last)
  • Ranges (how far away spells can be used from their target)
  • Many more options, depending on the spell

Spells can be cast by using the /cast command, swinging a configurable wand item, or both. It's also possible to have them triggered from other actions the player may take. It's all customizable.


Before a player can cast a spell, they must already know it. There are several ways a player can learn a spell:

  • Taught with the teach spell
  • Learned from a spellbook
  • Learned from a tome
  • Gained from a grant permission
  • Purchased from a shop
  • Being a server op (they know all spells) For example, a server op can teach Bob the blink spell by typing: ''/cast teach bob blink''.

Once a spell is learned, it can be cast either by using the ''/cast'' command or by using a wand item. Now that Bob knows the blink spell, he can either cast it by command, by typing ''/cast blink'', or he can cast it with a wand item. To select the spell, he holds the wand in his hand and right clicks. Right clicking will cycle through any spells assigned to the item he is holding. When he has the one he wants, he left clicks to cast.

If Bob does not have the required reagents for the spell, or if he has cast it recently and it is still on cooldown, he will not be able to cast the spell and will instead receive an error message.

If mana is enabled, a player can use the ''/mana'' command to see how much mana they currently have. Mana can also be configured so it is displayed on the experience bar.

Frequently Asked Questions

Help me! Why isn't it working?

If - after reading through the information available on this website - you can't figure out why something isn't working, please take the time to submit a proper help request. You can post your request in the MagicSpells forum. You should provide the following information:

  • The CraftBukkit version you're using.
  • The MagicSpells version you're using.
  • Which permissions plugin (if any) you are using.
  • The error in the console, if there is one.
  • Your config file(s). Please don't put them directly into the post, use a service like and just post the link here.

But I need help urgently!

You can try joining the IRC channel #magicspells on EsperNet.

It says I need reagents whenever I cast a spell! Where do I get reagents?

One of the main ideas behind this plugin is to give players cool abilities, but with a cost. The reagents are the spell's cost. This can be configured in the config.yml file individually for every spell. The config option name is "cost". You can also give yourself the magicspells.noreagents permission node.

Why can't my players cast spells? Why does it say "You cannot cast that spell right now" when I try to cast any spell?

Please make sure your permissions are all set up correctly. Look at the permission page for more information. This is usually caused when you are missing magicspells.cast permissions.

Why can't I target players with spells?

There are two main reasons this occurs. Most targetable spells have a target-players option that usually defaults to false. You will need to change this to true to be able to target players with spells. Also make sure your players don't have the magicspells.notarget permission node.

Why don't temporary permissions work with WorldEdit/WorldGuard/CommandBook?

Open the wepif.yml file in your server's root folder. In the section under resolvers, remove all of the entries except DinnerPermsResolver. Then restart your server and see if it works now.

I have a great spell idea! Will you add it?

Please tell me about it by posting in the spell request forum! I can't guarantee that I'll make it, but if it's a feasible idea, I'll definitely consider it. I'm always looking for new spell ideas. Note that I may not respond directly to your idea, but I always read the suggestions.

I know some Java, can I write my own spells?

Yes, you can! Please look at this custom spell creation guide to learn how.

I've found a bug! What do I do?

Please submit a ticket! Please include your CraftBukkit build number, any error in the console, the situation that caused the error (if known), and if you think it's applicable, the list of plugins you use.


Upcoming Changes

Coming in version 3.0:

Recent Changes

View the complete change log.

Questions and Comments

You are welcome to post comments here, but if you would like to ask a question or have any kind of discussion, I would prefer if you post on the MagicSpells forums. It is easier to keep track of posts and discussions there.

  • Added a Variables system
  • Added new general option: check-scoreboard-teams
  • Added new spells:
    • Capture Spell - Turn a target mob into an egg
    • Clarity Spell - Reduces the reagent cost of spells
    • Grip Spell - Teleport a target to your position
    • Menu Spell - Opens a GUI menu using the inventory interface
    • Paste Spell - Pastes a WorldEdit schematic
    • Replace Spell - Replaces blocks with other blocks
    • Resist Spell - Gives spell damage resistance, works with Pain Spell
    • Switch Health Spell - Switch health percentage with your target
    • Teleport Spell - Teleport to a target
    • Wither Skull Spell - Fires a wither skull projectile
  • Added the helper-spell option to all spells (used to indicate that a spell is just a “helper” spell used in other spells, and does not stand on its own)
  • Added the spell-power-affects-range option for all spells
  • Added the beneficial option to all spells (generally defaults to false, but defaults to true for certain spells like the Heal Spell)
  • Added the target-damage-cause and target-damage-amount options to all spells
  • Added check-individual-modifiers option to Multi Spell and Targeted Multi Spell
  • Added stop-on-fail option to Targeted Multi Spell
  • Added hit-air-after-duration, projectile-vert-offset, and projectile-horiz-offset options to Particle Projectile Spell
  • Added the spell-damage-type option to Pain Spell, Drainlife Spell, and Freeze Spell
  • Added the spells option to Empower Spell
  • Added the y-offset option to Forcebomb Spell
  • Added the fire option to Volley Spell
  • The Summon Spell now works with meta spells (spells that call other spells)
  • Added new conditions for Modifiers
    • uptime
    • alivelessthan
    • alivemorethan
    • lastlifeshorterthan
    • lastlifelongerthan
    • onteam
    • onsameteam
    • elevationabove
    • elevationbelow
  • Added the cast and castinstead Modifiers
  • Target Modifiers can now modify spell power
  • Mana system changes:
    • Added default-starting-mana option and starting-mana option for ranks
    • Added updatemanarank special command
  • Updated to save files by UUID


First Previous Page 1 of 2 Next Last
  • #29

    looking for people that are familir with creating custom spells

  • #27

    will some one help me code some spells or teach me how my skype is [email protected] pleas help me i am a nub


  • #26
    Internal Ninjas

    Get this exceptional plugin. It does anything. Is event listener. Is response giver.
    Buffs up other plugins lovely and simulates countless other plugins. Adds amazing
    options to static world and game play. Makes your server survival PVE & PVP come alive.
    Change passive world effects based on rank or knowledge. Run massively complex
    chained commands with single spells. The default spells are only paints. I often look
    for plugins or effects I might have missed for my 2 public servers. Time and time
    again I see plugins that just do exactly what some of our spells do. Your spells can be
    like single command plugins that have permission access. Not cast by /c but
    by whispering self a secret word. Like a command alias. Make tours simply using
    a chained external command spell with a list of /warp and DELAY 1200.
    I managed to get Dynmap to reveal ALL the hidden areas (radiusrender fail)
    running a temp mutispell going through all the 60 or so warps from essentials, afk.

    You a mod? Get your admin to make a bunch of external command spells
    for your fav mod plugins then hand you the secret wand they are on.
    Go through core protect lookups, warp checks, log lookups easy.
    Why not just make a multispell to do your whole routine with 2 min stop and wait
    between stages? Why not? Y U No

    Another consideration. As this plugin really does countless things and variables you
    dont need to spam plugins on your server for all the particulars. In surprising
    ways you can get MagicSpells to do what thousands of plugins do, and do it better.
    One example is the phase ability. It has no safe tp check and for that it wins. Many
    times you will essentials /thru and there is no danger but it will act like there is.

    ^ please note this safety skip effect is the reason for my post but not about Teleport.


    My main server uses Precious Stones protection type. It apparently uses the
    same flags in many cases as WorldGuard.
    MagicSpells Throwblock type spell is skipping past this protection effect.
    Miners unlocked several throw ore spells with Job levels. Some of those miners
    showered others homes with gifts of ore! It was easy to world edit select replace
    that away but it was also not logged by CoreProtect for rollbacks.

    /co rollback u:magicspells.internalninja t:5h
    Does MagicSpells have an internal user name?

    How do I tell Core Protect and Precious Stones plugins to listen for the
    MagicSpells block edit events? /who dunnit

    Last edited by Jabberwockie666 on 1/27/2015 3:31:53 PM
  • #25

    I have used magic spells a lot and am very good at making spells

    i recently updated my server from 1.7.2 to 1.7.9 and have as such had to update my magic spells to 3.3

    i have tested this now twice, once with the same plugins and once with no plugins for EACH version on EACH server version

    out of these 8 trials 4 worked and 4 didn't

    2 didn't because the server version was not correct with the magic spells version

    and 2 more caused the disguise spell to not work

    so I have come to the conclusion that the new disguise spell in 3.3 does not work, I have checked this out with 2 other servers who my friends own with magic spells and they said that they have noticed this a while ago and avoided using disguise spells

    but I use them a lot so if you could, could you please fix this?

  • #28

    Can you teach me how to code?

    Hello C:

  • #21

    Amazing spell mod for minecraft, the best one I saw !

    Just an issue with minion spell, when the minion pop he just stay here and don't move or fight, except to hit me sometimes. How to change his behavior ? (I play with another mod : Mobarena)

    Sorry about my poor English, I'm only a French guy.

  • #20

    Can u bind spells to tools?

  • #19

    does this work with magic launcher cause everytime i use it it says no mods

  • #18

    how can i just give the spells to donators and no one else

  • #22

    Try using the permission node  magicspells.grant.*(or spell name) to your donators

  • #17

    Ability to un-teach spells? A player has been abusing his power, and we're putting a stop to it, any way to remove his access to /cast command?

  • #16

    it wont open when i download it

  • #15

    can you update for 1.6.1? beacause i cant get it :(

  • #14

    Just want to say that I really, really love this plugin, not for the built in spells, but for the ability to do pretty much... whatever with it.

    I do have a question, though. I'm pretty inexperienced with java coding, and the only way I survive is by looking at the example spells and just extrapolating from that. However, I just can't figure out how to get the str-cast-random-spell-instead function to work. That's... really all there is to say. Could someone provide me an example of it in action so that I can figure it out in that?



  • #13

    Please help how do i intall the plugin and use it newbie here someone please helppp


  • To post a comment, please login or register a new account.
Login to Curse

Don't have an account? Create One.

Get an epic experience with Curse Premium
  • Faster addon downloads
  • Premium-Only Beta Giveaways
  • Ad-Free Curse experience
  • Premium Curse Client
  • and many More Features
  • Learn More »

Star Trek Online Wiki Editing Contest