MagicSpells
Note: MagicSpells is being maintained on this GitHub fork and you can find help at the official Discord.
Info
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
Videos
-
View User Profile
-
Send Message
Posted Aug 30, 2013This error on minion: java.lang.reflect.InvocationTargetException at sun.reflect.GeneratedMethodAccessor74.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at com.nisovin.magicspells.MagicSpells$7.execute(MagicSpells.java:832) at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:482) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:467) at org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:177) at org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:147) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:911) at net.minecraft.server.Packet18ArmAnimation.handle(SourceFile:38) at net.minecraft.server.NetworkManager.b(NetworkManager.java:234) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:119) at net.minecraft.server.NetworkListenThread.a(NetworkListenThread.java:83) at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:579) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:467) at net.minecraft.server.ThreadServerApplication.run(SourceFile:492) Caused by: java.lang.IllegalArgumentException: EntityType not instance of LivingEntity at org.apache.commons.lang.Validate.isTrue(Validate.java:157) at org.bukkit.craftbukkit.CraftWorld.spawnCreature(CraftWorld.java:336) at com.nisovin.magicspells.spells.buff.MinionSpell.castSpell(MinionSpell.java:98) at com.nisovin.magicspells.Spell.handleCast(Spell.java:428) at com.nisovin.magicspells.Spell.cast(Spell.java:390) at com.nisovin.magicspells.Spell.cast(Spell.java:330) at com.nisovin.magicspells.MagicPlayerListener.castSpell(MagicPlayerListener.java:196) at com.nisovin.magicspells.MagicPlayerListener.onPlayerInteract(MagicPlayerListener.java:80) ... 17 more
java.lang.IllegalArgumentException: EntityType not instance of LivingEntity at org.apache.commons.lang.Validate.isTrue(Validate.java:157) at org.bukkit.craftbukkit.CraftWorld.spawnCreature(CraftWorld.java:336) at com.nisovin.magicspells.spells.buff.MinionSpell.castSpell(MinionSpell.java:98) at com.nisovin.magicspells.Spell.handleCast(Spell.java:428) at com.nisovin.magicspells.Spell.cast(Spell.java:390) at com.nisovin.magicspells.Spell.cast(Spell.java:330) at com.nisovin.magicspells.MagicPlayerListener.castSpell(MagicPlayerListener.java:196) at com.nisovin.magicspells.MagicPlayerListener.onPlayerInteract(MagicPlayerListener.java:80) at sun.reflect.GeneratedMethodAccessor74.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at com.nisovin.magicspells.MagicSpells$7.execute(MagicSpells.java:832) at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:482) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:467) at org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:177) at org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:147) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:911) at net.minecraft.server.Packet18ArmAnimation.handle(SourceFile:38) at net.minecraft.server.NetworkManager.b(NetworkManager.java:234) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:119) at net.minecraft.server.NetworkListenThread.a(NetworkListenThread.java:83) at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:579) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:467) at net.minecraft.server.ThreadServerApplication.run(SourceFile:492)
-
View User Profile
-
Send Message
Posted Aug 30, 20131.2.5 updated version?! tekkit users have 1.2.5 but none of the new features are added!
-
View User Profile
-
Send Message
Posted Aug 29, 2013Is there a way to make it so the ArrowSpell works with any bow, regardless of name?
-
View User Profile
-
Send Message
Posted Aug 29, 2013Does anyone know how to automatically set a group using group manager with an external command spell?
-
View User Profile
-
Send Message
Posted Aug 29, 2013you should add the possibility to show spell cooldowns as a durability bar on the cast item icon! please add it to this great plugin!
-
View User Profile
-
Send Message
Posted Aug 28, 2013@KingOfHunting
As centaurianArcher pointed out a few comments back it's magicspells.rank.<rankname> where <rankname> is the mana group you want the player or group to be part of.
-
View User Profile
-
Send Message
Posted Aug 28, 2013What the permission for more mana? I've set it up on the configs (So that there are three types, one with 150, one with 300 and one with 450) but I can't find the permission to it. Something like magicspells.mana.<nameontheconfig>
-
View User Profile
-
Send Message
Posted Aug 27, 2013I just found a compatibility issue between NoCheatPlus and MagicSpells with the telekinesis spell. What can I do to solve it?
-
View User Profile
-
Send Message
Posted Aug 27, 2013@Bellablue2
Set the cast-item line of your teleportation spell to "345".
-
View User Profile
-
Send Message
Posted Aug 27, 2013When in the config it says: can-cast-with-item: true How do you set the default item to be used.
I want people to be able to click a compass to go back to spawn.
-
View User Profile
-
Send Message
Posted Aug 27, 2013@KingOfHunting
Make sure you've given them the magicspells.cast.spellname otherwise they won't be able to physically cast the spell, even if they have the magicspells.grant.spellname permisson.
-
View User Profile
-
Send Message
Posted Aug 26, 2013@KingOfHunting I don't know what to tell you, then. Make sure that the "<spellname>" part of the magicspells.grant.<spellname> permission matches the top line of the spell, and the name of the spell that the players are trying to cast matches the name line.
-----------From the Mana Configuration page:
"To put a player in a mana group, simply give them the magicspells.rank.<rankname> permission node. The rank name should be one of the ranks defined in the ranks option. For example, to put a player in the “adept” mana group, give them the magicspells.rank.adept node. "
-
View User Profile
-
Send Message
Posted Aug 26, 2013@MCJackJ
That is the problem... I gave them the magicspells.grant.spellname for the spells I wanted and they weren't able to perfom them. It said they didn't know a spell with that name.
@centaurianArcher
I've read it, but I just can't get it working right. And it also says the grant permission will only work if they get the permission before logging in, but it is impossible since I'm only giving it to the people who have donated.
---------------And also, how do I set different mana to different ranks? I've changed it in the mana config but I do not know the permission for it, and I can't find it.
-
View User Profile
-
Send Message
Posted Aug 26, 2013@KingOfHunting
If you want them to automatically have certain spells, give them the permission magicspells.grant.spellname
If you want them to be able to learn, but not start off with, a spell, give them the permission magicspells.learn.spellname
They must however have magicspells.cast.spellname in order to actually cast the spell. It does take a good while to configure everything, however it is worth it. This plugin is so much fun!
-
View User Profile
-
Send Message
Posted Aug 26, 2013@KingOfHunting
Please read the permissions page. It will explain the permissions that this plugin uses, as well as what they do.
EDIT: MCJackJ, above, was kind enough to explain it all!
In the future, when it comes to straight-forward questions like this, I would encourage people to skim through the documentation before submitting questions. It's generally much faster than waiting for a response.
-
View User Profile
-
Send Message
Posted Aug 26, 2013PLEASSEEE make a 1.2.5 UPDATED version of the plugin so tekkit servers can use this AMAZING plugin... the current 1.2.5 file has none of the nice new features
-
View User Profile
-
Send Message
Posted Aug 26, 2013@MCJackJ
Ok. Just one more question, after having those two permissions, what command(s) do they need to perfom for it to work right?
Will they automatically know the spell?
-
View User Profile
-
Send Message
Posted Aug 26, 2013@Vulture7
Depending on what spells you have given your players permission to use/cast, will depend on what "wand" they use. For example, if you've given them the blind spell, that needs to be used with a blaze rod. This is however configurable in the spells-regular.yml file.
-
View User Profile
-
Send Message
Posted Aug 26, 2013@KingOfHunting
That's right, but you will also need to give them the permission magicspells.cast.firenova Also, you can leave out the spell part, it's just the actual ingame name of the spells you need in your permissions.
-
View User Profile
-
Send Message
Posted Aug 26, 2013@Redstoner_Pro
So, if I want them to be able to learn for example the fire nova spell, I just give them the permission magicspells.learn.FirenovaSpell ?