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.
Usage
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.
Useful Links
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 http://pastebin.com 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.
Videos
Upcoming Changes
Coming in version 3.0: http://nisovin.com/magicspells/upcomingchanges
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.
@tcarey2015
Im not sure how to do what you are asking for, but in the past when i have wanted flying to be "Fair" i set it to remove the flying spell from the player when they take or deal damage. Its an option in the core spell.
Looking to remove the ability to cast spells on flying players. Want flying players to build in peace , as they cannot attack others while flying either.
is this correct? There is no info about * and if it would include the "air block"
target-modifiers: - onblock * required str-modifier-failed: You cannot hit flying players.
The resist spell isn't fully working, I can't add a normal-damage-types, when I do, the spell doesn't exist, I can use spell-damage-types, arcane, I can also do normal-damage-types and put arcane, but when I try a normal damage type like contact or fire, the spell just doesn't exist and won't work. I have several other resist spells already in that work to test using arcane damage type. Possible fix for this?
Craftbukkit Version: 1.7.9 R0.1 MagicSpells version 1.7.9 3.3
arcaneresist: spell-class: ".buff.ResistSpell" spell-damage-types: - arcane multiplier: 0.5 duration: 60 testresist: spell-class: ".buff.ResistSpell" normal-damage-types: - arcane multiplier: 0.5 duration: 60 testresist1: spell-class: ".buff.ResistSpell" normal-damage-types: - contact multiplier: 0.5 duration: 60
The testresist1 is the one which won't exist in the server, no matter what. The testresist does
@ModingMinecraft
Spigot version: 1.8.8 MagicSpells version: 3.4.2-dev-1504171457 (The latest from April) ProtocolLib version: 3.6.4
Disguise spells are still broken using all software up to date.
[18:01:48 WARN]: [MagicSpells] DisguiseManager could not be created!
@BODOCITY111 GivePermissionTrigger: spell-class: ".PassiveSpell" xp-required: - fire 8000 triggers: - ticks 500 spells: - GivePermission GivePermission: spell-class: ".ExternalCommandSpell" can-cast-by-command: true can-cast-with-item: false command-to-execute: - "{command to give the player a permission with %a as their name}" - "{command to give the player a permission with %a as their name}" execute-on-console-instead: true
Bukkit Forums will probably screw up the spacing on this but I thought I would help anyway. The magicspells community has moved away from the bukkit forums to nisovin's forums and if you have any further questions I would ask them there. Good Luck
@MasterMithrandir
The plugin does work in 1.8 but there are only dev builds which you can find on Nisovin's website (Just google nisovin & Magicspells) It is a bit finicky but you can find help for that on Nisovin's Forums. If you are using 1.7 then please try protocol lib that should help
Please fix this plugin! All transformation spell functionalities are broken!
@odat
Magic is currently extremely rare on my server... sorry >:D
Wow cool plugin, looks really cool!
Does anyone know of a 1.8 magicspells cracked server? I'm really excited to try this plugin but I can't find a server to play...
Is it possible to create a way for players to get a permission node once reaching a certain MagicXP? Like, for instance, if Bob reaches a "Fire" level of 8000, he'll be given the node "serversigns.archmage" along with "-serversigns.mage"
Has anyone had an issue with the zap spell's "drop-normal" feature not actually dropping anything?
I need help with making spells and how do I disable casting? I just want them to use sticks to cast spells not /cast. Also none of the custom spells on the forums work.
Does anyone know if and when we will be able to use tilecrack and iconcrack partcle effects again?
@iversen0
binding is a spell, not anything special, so to enable /cast bind through permissions you simply use magicspells.grant.bind and so on.
when i do /cast nothing happens, it only shows /cast in chat, please help
Hey when i do /cast it only shows /cats in caht and does nothing. It does the same with every other command.
Hi does anyone know how to fix the massive join lagg, that magicspell causes?
@burp27
you have to do something like
modifiers: - jumping required
I'd like to be able to cast spells with spacebar. What is the ID of that button?
Spigot 1.8.7 don't work "prevent-block-damage". Fix please!