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
@SmashboxGaming
No, however in the config you can edit the cost of every spell.
--------------------blink: spell-class: ".instant.BlinkSpell"
name: Blink
description: Teleport a short distance.
cast-item: 280
cooldown: 8
range: 20
pass-through-ceiling: false
smoke-trail: true
cost:
- mana 15
str-cost: 15 Mana
str-cast-self: You blink away!
str-cast-others: "%a blinks away!"
str-cant-blink: You cannot blink there.
----------------As you can see the spell only cost 15 mana and nothing else. Btw I started an RPG server and use this plugin. So thumbs up to you nisovin.
http://code.google.com/p/nisovin-minecraft-bukkit-plugins/source/browse/trunk/MagicSpells/src/com/nisovin/magicspells/ManaBarManager.java#115
missing bar.callManaChangeEvent(player);
without this, when mana regenerates event onmanachange is not called, i'm using this event to manage a GUI mana, but at the moment is useless..
Can you add an options when the person click the book self to learn tha spell it would cost them a configable amount for each spell.. ??
Thanks.
I have the problem that when I type /cast tome <spell> 1 the spell can be learned more than 1 time (so players can throw the book to each other so that everyone can learn it and it has to be bought just one time). How do i fix this? also in the config file i have default use set to 1 and max use also set to 1
How does one use white spaces in the world name, for no magic zones.
For example
worldguard:my world:myzone
@nisovin
Is it possible to have a permission node for a specific spell to cost no reagents?
@jisaacs1207
Well there's your problem.
Nope, just a plain old book.
@jisaacs1207
Is it a book that has contents?
@Flenix1
There are examples in the default config.
Added PotionEffectSpell (examples: blind, haze, poison)
Added PermissionSpell
How can we configure these? I'm assuming it'd generate itself, any chance I can grab a copy of that? I don't want to update without OceManaBar if I can help it, but I'd like to configure them now to get things nice and smooth when I can update.
Tomes appears to be broken. When holding a book (with bookworm installed) I type /cast tome <spell> 1 ... it tells me I need to be holding a book. Perhaps it doesn't recognize the book in my hand?
@TwoBucks
Those two options do exactly what it sounds like they do. The first means the spell requires an entity target, the second means the spell targeting must obey line-of-sight restrictions. For you second problem check the ignore-cast-item-durability option. For your third, just add any items you want disarmable to the option in the config.
@CS_Hague
Use %a for caster (actor) and %t for target. This is explained on this page: http://dev.bukkit.org/server-mods/magicspells/pages/configuration/external-spells/
For the external spells, is there a wildcard or variable to use for the caster and target of the spell?
hmm I just noticed while editing the spells that lightning had target-players: false but used to work on players. I hope this works like said.
Awesome thanks for the response! I really want to use all the classes and spell set up I have without moving them around to give people skills that damage players. Being able to make the ones they have already do so, is best. For some reason I was thinking this ment like an auto target on players. Going to edit them now :D
great update, we're really enjoying the drain-mana and drain-exp spells we've created for our server using the drain options. Thanks!!! A couple more suggestions: individual cool downs for different mana potions and a white-list option for no-magic zones. IMO you could just use the allowed-spells list but add an option called something like "use-as-whitelist"
When I'm using the Stone/Iron hoes for spells, they stop working after the Hoe is used to plow one piece of the ground (which happens occasionally when switching spells)
Also, could you make the disarm spell drop whatever the other person is holding, even if it's not a weapon?
require-entity-target: false obey-los: true
What do these settings do? They're not defined in the Configuration help in the spell's description.
@Redstoner_Pro
http://www.minecraftwiki.net/wiki/Potion_effects
@KayatoSan
dude what?
@Sk8Sanctified
It all ready does, set/add "target-players: true"
@Redstoner_Pro
There is no list that I have seen. I would think that what ever the potion's name is in-game would be the name used here.
@Sk8Sanctified
set/add "target-players: true" I think there are only a handful of spells that wont work on players (purge and things of that sort)