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
Does this require Spout or anything else too work correctly?
Also, is it Multi-world Aware?
Oh well, other then that issue, the plugin works great. Lots of fun with it.
Edit: When casting a MultiSpell, is the spells that's activated take into consideration its own range? I noticed with the Zeus spell, it explodes without casting the lightning. Perhaps as a suggestion, add a range setting to the MultiSpell? I should have put this as a ticket or something.
@EMonk48
I don't know why any plugins would cause issues with the stacking.
The current stack-by-data-var is bR, and that should be enough to prevent stacking. The Container.class mod is simply for fixing the client-side glitches, it doesn't prevent stacking itself.
This is something I've tested quite a bit and it's always worked for me, so I don't know what the problem could be.
Is there any other plugins that may have some effect on this stacking issue?
When I say I tried to fix it, I mean I added the Container.class to the jar. Volatile is enbled. What is the stack-by-data-var value for R4?
I think I had the same issue a little while ago with bookworm + tomes.
@Eghad2
Look in the config file, it's there.
@deleted_6837836
No, a person can't execute a command if they're logged out.
@EMonk48
The haste thing is a bug. I thought I'd fixed it, but I missed something. The stacking thing should work though, I tested that quite a bit. I don't know what to tell you about that.
I don't know if its an intentional feature but I'm not exiting the haste boost when I stop sprinting.
I don't know if it's because of the update or I changed something in the settings or something to do with another plugin.
Edit: I also tried the fix for the anti-stack, however they still stack. I also tried bQ and bR.
Question: In an external spell, there is a "command to execute when duration ends" option in the configuration correct? Now, if the person logs out before the duration ends, does the command still execute?
explode spell? i was looking for an explosion spell on your plugin but I cant seem to get it somehow. is it cast with wand item?
@Mozaris
I really don't know, sorry. I don't know much about MobArena.
Okay i only use Magicspells for my MobArena and everything works great exept when 2 or more players are playing classes that require spells from the magicspells plugin theres a problem when 1 of them dies the other players using spells can no longer cast spells. They just get messages that say "You cant cast that spell right now" and then everyone dies because they cant cast spells and the game is over. Any idea why this is? help is much appreciated!
I am using MagicSpells with Memory and Shop. I have created spell copies to create ranks of spells such as fireball I, fireball II. Is there a way that i can make fireball I required in order to learn fireball II and to remove fireball I from memory when fireball II is learned?
@deleted_6837836
It should.
Does MagicSpellsShop 1.3 work with MagicSpells 2.4.2?
The fizzle sound doesn't seem to work for me. Is there anything special I have to do to get it to play the sound? Also, what are the parameters for shared-cooldowns?
@notcam45
You obviously did not read the change log. Also, your multi-spells should work fine.
When I update to the newest version of MagicSpells 2.4.2 it cannot load the .instant spells. This is an issue because players use alot of the instant spells. However I want to use multi-spells as well, but the version I' using does not support them. Please help.
@nisovin Ahh, that did it. My bad, was running an outdated craftbukkit lol. One last question, the fizzle sound doesn't seem to work for me. Is there anything special I have to do to get it to play the sound? Also, what are the parameters for shared-cooldowns?
@ultimateowner56
What CraftBukkit version are you running?
Yes, I've tried all entities. Also tried all targeted spells. When the spell has a target and tries to cast the console has an error similar to this. I cast the 'cripple' spell here: 2012-02-24 18:29:35 [SEVERE] Could not pass event org.bukkit.event.player.PlayerAnimationEvent to MagicSpells org.bukkit.event.EventException at org.bukkit.plugin.java.JavaPluginLoader$103.execute(JavaPluginLoader.java:1026) at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:57) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:453) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:850) at net.minecraft.server.Packet18ArmAnimation.handle(SourceFile:38) at net.minecraft.server.NetworkManager.b(NetworkManager.java:226) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:100) at net.minecraft.server.NetworkListenThread.a(NetworkListenThread.java:78) at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:537) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:435) at net.minecraft.server.ThreadServerApplication.run(SourceFile:465) Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.bukkit.plugin.java.JavaPluginLoader$103.execute(JavaPluginLoader.java:1024) ... 10 more Caused by: java.lang.NoClassDefFoundError: org/bukkit/potion/PotionEffect at com.nisovin.magicspells.spells.targeted.CrippleSpell.castSpell(CrippleSpell.java:40) at com.nisovin.magicspells.Spell.cast(Spell.java:254) at com.nisovin.magicspells.Spell.cast(Spell.java:218) at com.nisovin.magicspells.MagicPlayerListener.castSpell(MagicPlayerListener.java:155) at com.nisovin.magicspells.MagicPlayerListener.onPlayerAnimation(MagicPlayerListener.java:133) ... 15 more
@ultimateowner56
I'm gonna need a bit more to go on than that. Have you actually tried every targeted spell and determined that none of them work? Have you tried targeting multiple different entities (animals, monsters, players (op and non-op), etc)? None of them work? No errors on the console?
Targeted spells have been working in all of my tests.