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 Mar 4, 2012@GarretSidzaka
Please read the note at the top of the page.
-
View User Profile
-
Send Message
Posted Mar 4, 2012we had this error spamming the console: 2012-03-04 13:08:36 [SEVERE] Could not pass event EntityTargetEvent to MagicSpells org.bukkit.event.EventException at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:303) at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:441) at net.minecraft.server.EntityCreature.d_(EntityCreature.java:38) at net.minecraft.server.EntitySilverfish.d_(SourceFile:103) at net.minecraft.server.EntityLiving.e(EntityLiving.java:1090) at net.minecraft.server.EntityMonster.e(EntityMonster.java:27) at net.minecraft.server.EntityLiving.G_(EntityLiving.java:446) at net.minecraft.server.EntityMonster.G_(EntityMonster.java:31) at net.minecraft.server.EntitySilverfish.G_(SourceFile:98) at net.minecraft.server.World.entityJoinedWorld(World.java:1260) at net.minecraft.server.WorldServer.entityJoinedWorld(WorldServer.java:106) at net.minecraft.server.World.playerJoinedWorld(World.java:1242) at net.minecraft.server.World.tickEntities(World.java:1149) at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:545) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:452) at net.minecraft.server.ThreadServerApplication.run(SourceFile:490) Caused by: java.lang.NoSuchMethodError: net.minecraft.server.World.findPath(Lnet/minecraft/server/Entity;Lnet/minecraft/server/Entity;F)Lnet/minecraft/server/PathEntity; at com.nisovin.magicspells.util.CraftBukkitHandleEnabled.entityPathTo(CraftBukkitHandleEnabled.java:73) at com.nisovin.magicspells.spells.buff.MinionSpell.onEntityTarget(MinionSpell.java:144) at sun.reflect.GeneratedMethodAccessor176.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:301) ... 16 more
-
View User Profile
-
Send Message
Posted Mar 4, 2012@qazzi
Well, I don't know what to tell you. Damaging spells work fine when I test them, they do full damage. The drainlife spell does exactly the amount of damage I specify even if the target is wearing full diamond armor. I'm not sure what else you expect me to do.
@josip1
It depends on what you're trying to do. If you don't want them castable with a wand at all, then set can-cast-with-item to false for them. Or set their cast-item to -1 or something. There are plenty of options to do what you want, just look through the config information and use your imagination.
-
View User Profile
-
Send Message
Posted Mar 4, 2012@nisovin
It's always been like this from the original revamp of the spells. Almost all the damage spells do no damage. Lightning, explode, fireball, etc they do no damage to someone in diamond armor. All the modifiers that you have written around only seem to effect a few spells. I just need something where I can make damage spells do damage.
-
View User Profile
-
Send Message
Posted Mar 3, 2012No matter what I do I can't remove the recall and repair spell from a stick...any idea on what I could be doing wrong...
-
View User Profile
-
Send Message
Posted Mar 3, 2012Is it normal that I can't cast external spells by typing /cast whateverexternalspell ?
Also, how do you disable using spells by command (So only wands are allowed)?
Also, is it just me, or does /cast forget not work? No matter what I type with cast forget, the only response I get is "Use /cast forget <target> <spell>"
Prerequisites don't seem to work as well; when I type /cast teach blah fireball5, it teaches him fireball5 even though I set the prerequisite as fireball4. And player blah does not have fireball4.
-
View User Profile
-
Send Message
Posted Mar 2, 2012@nisovin - as far as a manual is concerned, you already have enough docs on site - i knocked up a manual in about 15 mins, and printed it out a month or so back to help myself to install/setup magicspells, all i needed to do was cut/paste what you already had and make a table of contents - here is a copy in original word format and the pdf i printed it off -
http://www.jpcsupplies.com/minecraft/downloads/
Spells list is out of date, its missing stuff like bigtree and about 6 others but the rest of the manual i printed i refer to regularly. On my copy I just penciled in the new spells as i found them after updates.
If you have word just grab the one i did above, and add in anything new... (then you can remove the unauthorised bit i stuck on the front page!)
-
View User Profile
-
Send Message
Posted Mar 2, 2012I'm having trouble setting permissions for 1.2.. PermissionBukkit was error-spamming so I changed to bPermissions, but I still get the "You can't cast that spell right now" message.. I'll try changing the config and see what works.
EDIT: Oh dear bPermissions is error-spamming as well. Ugh
-
View User Profile
-
Send Message
Posted Mar 1, 2012@qazzi
Okay, I'm not sure why you're having issues with this, but I'm assuming you are actually running another plugin that's affecting damage. When I test it, the drainlife spell will always remove the specified health from the target, even if they're in full diamond armor, and even if the ignore-armor option is set to false.
-
View User Profile
-
Send Message
Posted Mar 1, 2012I believe I got everything working with 1.2 with all the changes. Can you explain how to get targeted spells to actually do damage to someone wearing armor? I attempted a bunch of settings:
take-type: health take-amt: 5 additional-damage: 4400 ignore-armor: true
and none of them work. I'd just let to get the spells to actually do more than a half a heart of damage so people are not just using disarm, cripple and entomb all day.
-
View User Profile
-
Send Message
Posted Mar 1, 2012@deleted_6837836
http://nisovin.com/magicspells/graphicaleffects
-
View User Profile
-
Send Message
Posted Mar 1, 2012I'll try it with a later dev build, then.
Also, can you list the options for "effects"? Or is that already listed in a page?
-
View User Profile
-
Send Message
Posted Mar 1, 2012@deleted_6837836
So, all spells are laggy or just that one spell? It could be that a change to the lighting system has caused stonevision to have issues.
Edit: In a brief test I was unable to reproduce any kind of extreme lag. This may also just be due to the fact that it's still a dev build.
-
View User Profile
-
Send Message
Posted Mar 1, 2012I'm going to test if it works in 1.2.2-R0.1
EDIT: It does load but no spells are being cast. I'm not sure if it's a problem on magicspells or permissionsbukkit.
EDITOFEDIT: Actually, it is permissionsbukkit's problem. Which means.. magicspells does work.. o_O But since you have to allow magic for everyone (since there's no permissions), it's not recommended I suppose.
Also, Magicspells is rather heavy and lags a lot with the dev build. I've used the stonevision spell and my computer crashed..
-
View User Profile
-
Send Message
Posted Mar 1, 2012@frol1
No, you set it as ".targeted.PotionEffectSpell"
-
View User Profile
-
Send Message
Posted Feb 29, 2012@nisovin
so I need to change ".instant.PotionEffectSpell" to ".target.PotionEffectSpell"??????????
-
View User Profile
-
Send Message
Posted Feb 29, 2012@G4meM0ment
You should not be able to cast through walls as long as obey-los is true.
-
View User Profile
-
Send Message
Posted Feb 29, 2012Hi had an idea, the lightning is the best spell on our server, but mages can cast it threw walls. May you should add a boolean to set if you need to see your target and not only its name threw a wall.
-
View User Profile
-
Send Message
Posted Feb 29, 2012@EMonk48
The best option would be to just set the range on both spells. However, I think the lightning issue is actually something else. Try putting a slight delay between the lightning and the explosion.
@Gartral
It does not require Spout. I'm not sure what you mean by multi-world aware.
@frol1
It means you didn't read the change log.
-
View User Profile
-
Send Message
Posted Feb 29, 2012what does
2012-02-29 07:26:41 [SEVERE] [MagicSpells] Unable to load spell blind (missing class com.nisovin.magicspells.spells.instant.PotionEffectSpell
2012-02-29 07:26:41 [SEVERE] [MagicSpells] (Maybe try .targeted.PotionEffectSpell
2012-02-29 07:26:41 [SEVERE] [MagicSpells] Unable to load spell blink (missing class com.nisovin.magicspells.spells.instant.BlinkSpell
2012-02-29 07:26:41 [SEVERE] [MagicSpells] (Maybe try .targeted.BlinkSpell
2012-02-29 07:26:41 [SEVERE] [MagicSpells] Unable to load spell build (missing class com.nisovin.magicspells.spells.instant.BuildSpell
2012-02-29 07:26:41 [SEVERE] [MagicSpells] (Maybe try .targeted.BuildSpell
2012-02-29 07:26:41 [SEVERE] [MagicSpells] Unable to load spell combust (missing class com.nisovin.magicspells.spells.instant.CombustSpell
2012-02-29 07:26:41 [SEVERE] [MagicSpells] (Maybe try .targeted.CombustSpell
2012-02-29 07:26:41 [SEVERE] [MagicSpells] Unable to load spell Flamesword (missing class com.nisovin.magicspells.spells.instant.CombustSpell
2012-02-29 07:26:41 [SEVERE] [MagicSpells] (Maybe try .targeted.CombustSpell
2012-02-29 07:26:41 [SEVERE] [MagicSpells] Unable to load spell cripple (missing class com.nisovin.magicspells.spells.instant.CrippleSpell
2012-02-29 07:26:41 [SEVERE] [MagicSpells] (Maybe try .targeted.CrippleSpell
2012-02-29 07:26:41 [SEVERE] [MagicSpells] Unable to load spell disarm (missing class com.nisovin.magicspells.spells.instant.DisarmSpell
2012-02-29 07:26:41 [SEVERE] [MagicSpells] (Maybe try .targeted.DisarmSpell
2012-02-29 07:26:41 [SEVERE] [MagicSpells] Unable to load spell drainlife (missing class com.nisovin.magicspells.spells.instant.DrainlifeSpell
2012-02-29 07:26:41 [SEVERE] [MagicSpells] (Maybe try .targeted.DrainlifeSpell
2012-02-29 07:26:41 [SEVERE] [MagicSpells] Unable to load spell drainmana (missing class com.nisovin.magicspells.spells.instant.DrainlifeSpell
2012-02-29 07:26:41 [SEVERE] [MagicSpells] (Maybe try .targeted.DrainlifeSpell
2012-02-29 07:26:41 [SEVERE] [MagicSpells] Unable to load spell entomb (missing class com.nisovin.magicspells.spells.instant.EntombSpell
2012-02-29 07:26:41 [SEVERE] [MagicSpells] (Maybe try .targeted.EntombSpell
2012-02-29 07:26:41 [SEVERE] [MagicSpells] Unable to load spell explode (missing class com.nisovin.magicspells.spells.instant.ExplodeSpell
2012-02-29 07:26:41 [SEVERE] [MagicSpells] (Maybe try .targeted.ExplodeSpell
2012-02-29 07:26:41 [SEVERE] [MagicSpells] Unable to load spell fireball (missing class com.nisovin.magicspells.spells.instant.FireballSpell
2012-02-29 07:26:41 [SEVERE] [MagicSpells] (Maybe try .targeted.FireballSpell
2012-02-29 07:26:41 [SEVERE] [MagicSpells] Unable to load spell forcetoss (missing class com.nisovin.magicspells.spells.instant.ForcetossSpell
2012-02-29 07:26:41 [SEVERE] [MagicSpells] (Maybe try .targeted.ForcetossSpell
2012-02-29 07:26:41 [SEVERE] [MagicSpells] Unable to load spell forcepull (missing class com.nisovin.magicspells.spells.instant.ForcetossSpell
2012-02-29 07:26:41 [SEVERE] [MagicSpells] (Maybe try .targeted.ForcetossSpell
2012-02-29 07:26:41 [SEVERE] [MagicSpells] Unable to load spell geyser (missing class com.nisovin.magicspells.spells.instant.GeyserSpell
2012-02-29 07:26:41 [SEVERE] [MagicSpells] (Maybe try .targeted.GeyserSpell
2012-02-29 07:26:41 [SEVERE] [MagicSpells] Unable to load spell haze (missing class com.nisovin.magicspells.spells.instant.PotionEffectSpell
2012-02-29 07:26:41 [SEVERE] [MagicSpells] (Maybe try .targeted.PotionEffectSpell
2012-02-29 07:26:41 [SEVERE] [MagicSpells] Unable to load spell heal (missing class com.nisovin.magicspells.spells.instant.HealSpell
2012-02-29 07:26:41 [SEVERE] [MagicSpells] (Maybe try .targeted.HealSpell
2012-02-29 07:26:41 [SEVERE] [MagicSpells] Unable to load spell lightning (missing class com.nisovin.magicspells.spells.instant.LightningSpell
2012-02-29 07:26:41 [SEVERE] [MagicSpells] (Maybe try .targeted.LightningSpell
2012-02-29 07:26:41 [SEVERE] [MagicSpells] Unable to load spell pain (missing class com.nisovin.magicspells.spells.instant.PainSpell
2012-02-29 07:26:41 [SEVERE] [MagicSpells] (Maybe try .targeted.PainSpell
2012-02-29 07:26:41 [SEVERE] [MagicSpells] Unable to load spell poison (missing class com.nisovin.magicspells.spells.instant.PotionEffectSpell
2012-02-29 07:26:41 [SEVERE] [MagicSpells] (Maybe try .targeted.PotionEffectSpell
2012-02-29 07:26:41 [SEVERE] [MagicSpells] Unable to load spell telekinesis (missing class com.nisovin.magicspells.spells.instant.TelekinesisSpell
2012-02-29 07:26:41 [SEVERE] [MagicSpells] (Maybe try .targeted.TelekinesisSpell
2012-02-29 07:26:41 [SEVERE] [MagicSpells] Unable to load spell volley (missing class com.nisovin.magicspells.spells.instant.VolleySpell
2012-02-29 07:26:41 [SEVERE] [MagicSpells] (Maybe try .targeted.VolleySpell
2012-02-29 07:26:41 [SEVERE] [MagicSpells] Unable to load spell zap (missing class com.nisovin.magicspells.spells.instant.ZapSpell
2012-02-29 07:26:41 [SEVERE] [MagicSpells] (Maybe try .targeted.ZapSpell
mean???