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 Dec 20, 2012@GarretSidzaka
Remove the spells: header line. Leave just the spell configs.
-
View User Profile
-
Send Message
Posted Dec 20, 2012i named it spells-garrets.yml but none of my spells are showing up. everything else worked (after turning volitile off) including the default spells.
here is the file: http://troll.ws/paste/868da9e3
edit: troll.ws is a paste bin not a troll site. i nearly got banned off the bukkit dev irc for posting a link from them coz they paranoid
-
View User Profile
-
Send Message
Posted Dec 20, 2012The latest MagicSpells dev build should be compatible with both CB 1.4.5-R1 and the new CB 1.4.6 dev build.
-
View User Profile
-
Send Message
Posted Dec 20, 2012@Melekaiah
This would be awesome, I'm working on class tiers atm on my server. Would go very well with them. Instead of giving each tier a selection of better spells. I can give them some leveling spells as well.
-
View User Profile
-
Send Message
Posted Dec 19, 2012This is a great mod, the only thing i miss, is the ability to level spells,
Ive set up a bunch of custom spells Ie Stonevision I/II/III in the config files. andt hey do get rather large.
So i thought that a spell leveling system would be insanely nice. i have some ideas on how perhaps it could be done too. if its something you think is interesting for your plugin?
-
View User Profile
-
Send Message
Posted Dec 19, 2012What would be really helpful would be a custom spells depot, where people would post their custom spells. I have over 100+ custom spells divided among 6 classes of players, and it's getting tough to make more...
-
View User Profile
-
Send Message
Posted Dec 19, 2012@artlune
Yes, that is how it works.
-
View User Profile
-
Send Message
Posted Dec 19, 2012I was looking over http://nisovin.com/magicspells/itemtype and noticed you can specify what enchantments a weapon has or even an item that has been 'renamed'. Does that mean that if I had a diamond_sword with a modified item string like "Sword of Doom" with Sharpness V and specify that as the cast-item, I could only cast that spell with an item with that name and not a regular diamond_sword?
If this is true, this is the best plugin ever made. I could really do some cool things with that.
-
View User Profile
-
Send Message
Posted Dec 19, 2012Development builds of MagicSpells v2.12 should be compatible with the latest CraftBukkit version. I have not had time to do any testing yet, but I think it should work. If you're interested in testing it, specific things you should check for are: whether item names work, and whether the scroll and tome spells work. I believe everything else should be working fine.
-
View User Profile
-
Send Message
Posted Dec 18, 2012@GarretSidzaka
It shouldn't be a lot of work. Just remove the other stuff from the file so you're left with just the spell configs, then rename the file to something like spells-awesome.yml.
-
View User Profile
-
Send Message
Posted Dec 18, 2012@nisovin
I got a similar error that @Mahdi478 is getting. The only thing I noticed to cause this was having Allow-Cast-With-Fist was set to True, if you turn to false it should fix it, did for me anyway.
@Mahdi478, check your Magicspells General config and see if the above is set to true.
allow-cast-with-fist: false
Also with that set true, if I right clicked or left clicked anything and broke the block it spazzed errors. As in about 1290 Error logs in less then 30 seconds wise, it spammed about 10+ per click event.
My server I use has quite a bit of plugins, Antiguest, bpermissions, CookMe, CoreProtect, ExtraEvents, GriefPrevention, IgnoreYou, MobHealth, Mobs, Multiverse Core Inventories Portals, NoItem, NoMelt, RecipeManager, Trade, WorldEdit.
We use Spigot instead Bukkit which is just bukkit optimized for large servers, about 100+ players. Also we have hardcoded custom spells, about 30+.
Hope this info helps you Nisovin, also here is a error log if interested. https://www.dropbox.com/s/pe1zvkyhe7wro23/1355897701891.txt
-
View User Profile
-
Send Message
Posted Dec 18, 2012woweee 2.11
with those new configs im going to have alot of work tranfering my altconfig over. with my 40-50 custom spells
-
View User Profile
-
Send Message
Posted Dec 18, 2012@mahdi478
Do you know when this occurs? What type of item is being right-clicked?
@zarakh01
http://nisovin.com/magicspells/disguisespell
-
View User Profile
-
Send Message
Posted Dec 18, 2012what's disguise spells do?
-
View User Profile
-
Send Message
Posted Dec 18, 2012What does this mean?
java.lang.reflect.InvocationTargetException at sun.reflect.GeneratedMethodAccessor444.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:751) at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:477) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:462) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:1029) at net.minecraft.server.Packet18ArmAnimation.handle(SourceFile:41) at net.minecraft.server.NetworkManager.b(NetworkManager.java:290) at net.minecraft.server.NetServerHandler.d(NetServerHandler.java:113) at net.minecraft.server.ServerConnection.b(SourceFile:39) at net.minecraft.server.DedicatedServerConnection.b(SourceFile:30) at net.minecraft.server.MinecraftServer.r(MinecraftServer.java:595) at net.minecraft.server.DedicatedServer.r(DedicatedServer.java:222) at net.minecraft.server.MinecraftServer.q(MinecraftServer.java:493) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:426) at net.minecraft.server.ThreadServerApplication.run(SourceFile:856) Caused by: java.lang.NullPointerException at com.nisovin.magicspells.CraftBukkitHandleEnabled.getItemName(CraftBukkitHandleEnabled.java:245) at com.nisovin.magicspells.util.CastItem.<init>(CastItem.java:46) at com.nisovin.magicspells.Spellbook.getActiveSpell(Spellbook.java:302) at com.nisovin.magicspells.MagicPlayerListener.castSpell(MagicPlayerListener.java:185) at com.nisovin.magicspells.MagicPlayerListener.onPlayerAnimation(MagicPlayerListener.java:177) ... 18 more
java.lang.NullPointerException at com.nisovin.magicspells.CraftBukkitHandleEnabled.getItemName(CraftBukkitHandleEnabled.java:245) at com.nisovin.magicspells.util.CastItem.<init>(CastItem.java:46) at com.nisovin.magicspells.Spellbook.getActiveSpell(Spellbook.java:302) at com.nisovin.magicspells.MagicPlayerListener.castSpell(MagicPlayerListener.java:185) at com.nisovin.magicspells.MagicPlayerListener.onPlayerAnimation(MagicPlayerListener.java:177) at sun.reflect.GeneratedMethodAccessor444.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:751) at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:477) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:462) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:1029) at net.minecraft.server.Packet18ArmAnimation.handle(SourceFile:41) at net.minecraft.server.NetworkManager.b(NetworkManager.java:290) at net.minecraft.server.NetServerHandler.d(NetServerHandler.java:113) at net.minecraft.server.ServerConnection.b(SourceFile:39) at net.minecraft.server.DedicatedServerConnection.b(SourceFile:30) at net.minecraft.server.MinecraftServer.r(MinecraftServer.java:595) at net.minecraft.server.DedicatedServer.r(DedicatedServer.java:222) at net.minecraft.server.MinecraftServer.q(MinecraftServer.java:493) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:426) at net.minecraft.server.ThreadServerApplication.run(SourceFile:856)
Thanks alot, and i use CB R0.2.
-
View User Profile
-
Send Message
Posted Dec 17, 2012@nisovin
Thank You for releasing DisguiseSpells! I've made a forum for it with some premade disguise spells. So far its worked much better than DisguiseCraft! Thanks so much! One less plugin for the /pl list :)
-
View User Profile
-
Send Message
Posted Dec 15, 2012@Faldonboy
What kind of problems? I've been running ProtocolLib 1.7.1 alongside MagicSpells and it works fine. Are you sure it isn't another plugin of yours at fault? ProtocolLib shouldn't affect this plugin in any way.
-
View User Profile
-
Send Message
Posted Dec 15, 2012It appears the /cast tome does not work.
-
View User Profile
-
Send Message
Posted Dec 15, 2012@nisovin
Anything above ProtocolLib 1.5.1 causes problems for me.
-
View User Profile
-
Send Message
Posted Dec 14, 2012I found bug...
When i forgot a spell and got ii bind i can still use it...