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 Apr 19, 2012Is there an option for AreaEffectSpells so that the caster is unaffected by the spell?
-
View User Profile
-
Send Message
Posted Apr 19, 2012@nisovin
Looks like this issue has been fixed with build MagicSpells-2.7-041911.
Thanks for the quick responses and fix.
-
View User Profile
-
Send Message
Posted Apr 19, 2012<<reply 661485="">>
No, not that I know of. I thought that had something to do with your plugin. I will try the latest dev build and respond in a couple hours. Thanks.
-
View User Profile
-
Send Message
Posted Apr 19, 2012@englercj
Okay, try the latest dev build. Also, is there a reason he has a stick with a negative data value? Do you have a plugin that causes this?
-
View User Profile
-
Send Message
Posted Apr 19, 2012<<reply 661436="">>
His book is as follows:
The ones marked as bound will be removed when he logs in again.
-
View User Profile
-
Send Message
Posted Apr 19, 2012@englercj
Can you give me the spellbook file of a player with this problem?
-
View User Profile
-
Send Message
Posted Apr 19, 2012@nisovin
On the latest dev build (MagicSpells-2.7-041821) I get the same bug
-
View User Profile
-
Send Message
Posted Apr 19, 2012@LordONoobs
For fireball, if require-entity-target is false, it will act like an instant spell and ignore the range option. The range only applies if it is actually trying to find a target.
-
View User Profile
-
Send Message
Posted Apr 19, 2012There seems to be a problem restricting the range of spells like fireball and lightning. A player is able to cast from any range, regardless of what is written in the configuration for the spell. My fireball spell configuration for reference:
spell-class: .targeted.FireballSpell name: fireball description: Throw a fiery ball of destruction. cast-item: 2258 cooldown: 3 range: 30 require-entity-target: false obey-los: true target-players: true check-plugins: true damage-multiplier: 8 small-fireball: false no-fire: false no-explosion: false no-explosion-effect: true no-explosion-damage: 4 no-explosion-damage-range: 6 play-fizzle-sound: true cost: - mana 20 str-cost: 20 mana str-no-target: You cannot throw a fireball there. str-cast-self: You throw a fiery ball of destruction!
-
View User Profile
-
Send Message
Posted Apr 18, 2012@englercj
I figured it out, please try the latest dev build.
-
View User Profile
-
Send Message
Posted Apr 18, 2012@englercj
What version of MagicSpells are you running?
-
View User Profile
-
Send Message
Posted Apr 18, 2012Strange error:
If a player binds a spell to an item (such as a stick) then leaves the server while it is still bound, they will not be able to cast the spell when they get back. It will also not show up in /cast list for them.
Some pertinent info:
default-all-perms-false is set to true users are given grant permissions for command spells only (but can learn other spells from Sign Shops) Only the bound spells are forgotten when the player relogs (though it seems their spellbook still shows it listed as <spellname>:280:-1 even though they can't access it
Is the expected behavior, and if so how I can make players not forget a spell that has been bound when they loggout?
-
View User Profile
-
Send Message
Posted Apr 18, 2012@rurikar
Turns out that feature was broken. It should be fixed in the latest dev build.
@frol1
I've just tested out your spell and it seems to work fine. Try setting check-plugins to false.
-
View User Profile
-
Send Message
Posted Apr 18, 2012Hey Nisovin, Im trying to make a spell that emulates the gravity hammer from Halo.
So I have copied Force Push. but when I or players try using the spell it just says "No Target Found"
GravityHammer:
spell-class: ".targeted.ForcetossSpell"
name: GravityHammer
description: Magically throw an enemy into the air.
cast-item: 268
cooldown: 5
range: 15
damage: 15
horizontal-force: 30
vertical-force: 15
obey-los: true
target-players: true
check-plugins: true
cost:
- 331 2
str-cost: 2 redstone dust
str-no-target: No target found.
str-cast-self: You push back your enemy!
str-cast-others: "%a pushes back his enemy."
That is my config for the spell
-
View User Profile
-
Send Message
Posted Apr 18, 2012This is by far the most creative, fun, and useful plugin ever. It has so much stuff in it that can be used for so many creative ideas, great job!
-
View User Profile
-
Send Message
Posted Apr 18, 2012@nisovin
I have, i'll mess around with it as I may have misspelled or set it up wrong.
-
View User Profile
-
Send Message
Posted Apr 18, 2012@matejdro
Set the allow-cycle-to-no-spell option to true.
-
View User Profile
-
Send Message
Posted Apr 18, 2012Can you add command that will toggle spell item? So I can disable spells and use gold tools like normal.
-
View User Profile
-
Send Message
Posted Apr 18, 2012@nick331999
Some do, some don't.
@Xikage
I've updated that page to reflect the new configuration method.
-
View User Profile
-
Send Message
Posted Apr 17, 2012I'm trying to set up MagicSpells Memory at the moment to create a class system for our server, and have run into a slight problem.
On the MagicSpells Memory page it says The configuration file also has a list of spells with their memory requirements. You can add any spell copies and multispells that you have., however the config file it generated for us does not have any spells in it, so I'm not sure what the format for defining a spell's memory cost is supposed to be.