Inactive [FUN] MagicSpells - Add magic to your server

Discussion in 'Inactive/Unsupported Plugins' started by nisovin, May 8, 2011.

  1. Offline

    nisovin

    MagicSpells - Add magic to your server!

    View the plugin on BukkitDev!

    MagicSpells is a plugin that creates 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. Each spell can be assigned customized reagent (item) costs, cooldowns. durations, ranges, and so on. Spells can be cast by using the /cast command, swinging a wand, or both. It's all customizable.

    Download

    Important: Read before downloading! There is a lot of information in this post. I know, it's a lot to read. However, I spent quite a while writing it all in what I hope is a clear, informative, and understandable manner. So, please, read the entire post before asking a question. Chances are, the answer is already here. I also suggest taking a nice look through the configuration file. Is it a massive file? Yes, it is. But if your question is "can I do this?" then a look through the configuration options would be a good idea.
    Plugin Manual

    There is a lot of useful information in the plugin manual, which can be found here:

    MagicSpells Plugin Manual

    Usage

    Spells can be cast either by using the /cast command or by using a wand item. To cast a spell, a player must first know the spell. Server operators know all spells by default. They can teach spells to other players by using the teach spell. For example, to teach bob the blink spell, an operator would type: /cast teach bob blink.

    Bob can now use 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.

    Spells

    View Spell List

    Configuration

    The zip file contains a config.yml file that should go into the MagicSpells folder within your plugins directory. The default configuration has appropriate spell costs, durations, and messages for each spell. However, you will most likely want to customize this to fit your server.

    You can modify the config.yml file directly, or you can choose to leave it intact and instead create an alternate config file, by default altConfig.yml. Any configuration values in this alternate file will override the values in the main config file.

    There are some general configuration options that apply to all spells, as well as options for each individual spell. Important: The default configuration file does NOT contain all config options, it is just an example. Just because a config option isn't in the default doesn't mean it is not available. For example, it's possible to add a duration to any buff spell, even though the default configuration file does not have a duration on all buff spells.

    To reload the configuration, simply cast the fake reload spell (/cast reload). Only server operators can do this (it can also be done from the command line).

    Please see the plugin manual for information about all of the various configuration options.

    Frequently Asked Questions

    Help me! Why isn't it working?
    If - after reading through this entire post - you can't figure out why it isn't working, please take the time to submit a proper help request. You can post your request either on in this thread or in the MagicSpells forum. You should provide the following information:
    • The CraftBukkit build you're using.
    • The MagicSpells version you're using.
    • Which permissions plugin (if any) you are using.
    • The error in the console, if there is one.
    • Your config file(s). Please don't post them directly , use a service like http://pastebin.com and just post the link.
    It says I need reagents whenever I cast a spell! Where do I get reagents?
    One of the main ideas behind this plugin is to give players cool abilities, but with a cost. The reagents are the spell's cost. This can be configured in the config.yml file individually for every spell. The config option name is "cost". You can also add your name to the list of exceptions in the general.cast-for-free option.

    Can I unbind spells from items?
    Yes. Simply use the bind spell to bind the spell to your empty hand, and it will no longer be bound to any item.

    Why can't my players cast spells?
    Why does it say "You cannot cast that spell right now" when I try to cast any spell?
    If you're using Permissions, please make sure your permissions are all set up correctly. Look in the Configuration: Permissions section for more information. Also double check and make sure your use-permissions config option is set to true.

    What are the Permissions nodes?
    The nodes are listed on the permissions information page in the plugin manual.

    I can't get my Permissions working! Can you help me?
    Remember that all nodes use the "real" spell name, rather than the name you define with the "name" option. If you cannot get your permissions working, feel free to ask for help. Make sure you specify which permissions plugin you are using, and all of the items from the "Help Me!" question above.

    Will you add iConomy (or another economy plugin) support?
    With the addition of the 'tome' and 'scroll' spells, I currently have no plans to add special support for an economy plugin. You should be able to create tomes and scrolls and sell them using any plugin that allows you to sell items, thus allowing you to sell spells.

    I have a great spell idea! Will you add it?
    Please tell me about it by submitting a ticket! I can't guarantee that I'll make it, but if it's a feasible idea, I'll definitely consider it. I'm always looking for new spell ideas. Note that I may not respond directly to your idea, but I always read the suggestions.

    I've found a bug! What do I do?
    Please submit a ticket! Please include your CraftBukkit build number, any error in the console, the situation that caused the error (if known), and if you think it's applicable, the list of plugins you use.

    Change Log

    View full change log



    Donate: Always gotta have a donate link for those who love their plugin authors.
     
  2. Offline

    jlu

    Hello,
    I have a question. I put permissions note for each class i created. For exemple, only my wizard class can cast "fireball" and Miner class can cast "zap". However, when they use "cast list", they see all cast, and not them class' spell. How can i configure to show only them class'spell? (like miner just can see zap, and not zap & fireball).
    Oh, same thing with my item: zap & fireball can be cast by the 280. When Miner use the stick, they can see Zap...and fireball, and yet they have permissions just for the first one.. Please help me dude, and don't look after my grammar. ^^
     
  3. Offline

    nisovin

    They can only see spells they've learned. So just take those spells away from them, and make sure you don't teach them, and make sure they don't have grant or learn permissions for spells you don't want them to have.
     
  4. Offline

    Tim619

    Please can you add like custom weapons like For minions you need bone to autocast it.. cuz when i did it crashes =(
     
  5. Offline

    jlu

    Oh, I understand: " any spells assigned to the item he is holding"
    They don't able to use others spells but they can see them, because others spelles are assigned to the same wand. So, I can see them, but it shows "You can't cast etc". So, it works, but can i show the class'spell only or i have to assigned my differents spells on differents wands? (Sry again 4 my language).
     
  6. Offline

    Tim619

    is anyone having this glitch where you can cast double spells? cuz when i double click with a golden sword
    it say You are now using explode and you are now using fireball
    someone please help
     
  7. Offline

    firejack

    Is there a way to "unbind" spells exept from changing it in the spellbook folder?
    like a command, /cast unbind [spell]

    but nice plugin sofar!:)
     
  8. Offline

    nisovin

    I think you're confused. A player can't see any spell they haven't learned. If a spell shows up when typing /cast list, it means you either taught them the spell, or granted it with a permission.
    Sounds like you have it loaded twice. Do you use a plugin that lets you reload plugins? Because those don't work well. Try doing a full /reload.
     
  9. Offline

    Tim619

    Uhh no.. all i have is ohhhhh!!!!.. thank you! cuz i forgot i was using 2 magic spells at once. XD
     
  10. Offline

    jlu

    That's weird (sorry, i really try to understand..), maybe I don't be understable too. Look:
    [​IMG]

    However, there are my permissions:

    So, i'm in the "magicien" group but as you can see, it shows the heal spell ("Forestier" spell). However, my permissions note is correct, no? How can i hide this?

    (Many thanks again dude, and sry for that..)
     
  11. Offline

    nisovin

    The 'cast' permission does not do anything besides let you cast the spell. It doesn't let you learn it, it doesn't give it to you, it doesn't exclude other spells, it does nothing on its own. The reason you have the heal spell is because you already learned it. If a player doesn't learn it in the first place, it won't show up as an option to cast. So, if a player already has it, use the forget spell to make them forget, and make sure they don't have the 'learn' permission for the spell.
     
  12. Offline

    jlu

    OK, i think i found the problem...I'm just the biggest noob evar and I delete my name from the ops.txt....
    Thanks for your help however, i understand the difference between grant & cast now.
     
  13. Offline

    Nuinbot

    HeroCraft is using this on their server. Kainzo asked me to look into it to see if anyone else is having issues with the permission node that grants a player the ability to use as spell after they learn it. The problem: when a player learns a new spell (i.e. Mark or Recall), they have to re-log to use the spell. If they don't, it says that they don't know the spell. Any idea what is going on? Thanks.
     
  14. Offline

    nisovin

    If you're talking about a player "learning" a spell by gaining a "grant" permission, then yes, they'll have to relog. However, if they're learning the spell through the "teach" spell or by reading a spellbook bookcase, they should be able to use it immediately.
     
  15. Offline

    Kainzo

    @Nuin @nisovin
    It appears the permission nodes are "falling off" for users.... in Heroes we have the spells granted via levels at a certain level, but ALL users of "DEFAULT" have this
    default:
    default: true
    info:
    prefix: ''
    suffix: ''
    build: true
    inheritance: []
    permissions:
    - magicspells.cast.*
    - magicspells.grant.help
    - magicspells.learn.help
    - magicspells.grant.list

    In Heroes:
    Mark:
    level: 10
    usage: /cast mark
    permissions:
    - magicspells.grant.mark
    Recall:
    level: 10
    usage: /cast recall
    permissions:
    - magicspells.grant.recall

    However, it seems that after a while they have to relog in order to cast mark/recall - can this be resolved?
     
  16. Offline

    kyrusosis

    so how do you craft wands? I'm not seeeing this info anywhere
     
  17. Offline

    Nuinbot

    The wand is any item, such a stick, feather, whatever. From the OP...
     
  18. Offline

    kyrusosis

    Okay so i can only cycle through spells like heal,blink and entomb when using the wand. How do i bind fireball and other spells to an item?
     
  19. Offline

    nisovin

    The wand item is defined by the cast-item option for each spell. Players can also use the bind spell to override the default bindings.
     
  20. Offline

    KuroSnow

    Keep getting Internal Error with fireball spell

    Magic spells 7.2, Bukkit RB 935.
     
  21. Offline

    nisovin

    What is the internal error?
     
  22. Offline

    ClonedInsanity

    @nisovin
    I has a few requests:

    1) Would it be possible to add an option to not have buff spells disable on recast?
    For example, if I bind a 30 sec stealth spell to an iron sword it would cast when the player first clicks but it wouldn't fade for 30 secs, regardless of if the player clicks again.

    2) Could you add the option to set a % chance to cast for a spell?
    So you could maybe have purge bound to an axe with a 40 sec cooldown and a 5% chance to cast each click.

    3) A drain spell that converts a % of damage a player deals with a wand to heal their own hp?

    4) Could the additional damage option be extended to spells such as explosion, combust and wall? Or can this already be done?

    EDIT: One more :p :

    5) An option to add more than one lightning bolt to the lightning spell, similar to number of arrows in volley

    Cheers =D
     
  23. Offline

    KuroSnow

    Dunno if this helps any... best I could find in the logs.

    Show Spoiler

    2011-06-27 17:12:28 [SEVERE] Could not pass event PLAYER_ANIMATION to MagicSpells
    java.lang.NoSuchMethodError: org.bukkit.World.spawn(Lorg/bukkit/Location;Ljava/lang/Class;)Lorg/bukkit/entity/Entity;
    at com.nisovin.MagicSpells.Spells.FireballSpell.castSpell(FireballSpell.java:66)
    at com.nisovin.MagicSpells.Spell.cast(Spell.java:98)
    at com.nisovin.MagicSpells.Spell.cast(Spell.java:83)
    at com.nisovin.MagicSpells.MagicPlayerListener.onPlayerAnimation(MagicPlayerListener.java:93)
    at org.bukkit.plugin.java.JavaPluginLoader$15.execute(JavaPluginLoader.java:341)
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:310)
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:793)
    at net.minecraft.server.Packet18ArmAnimation.a(SourceFile:35)
    at net.minecraft.server.NetworkManager.b(NetworkManager.java:223)
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:75)
    at net.minecraft.server.NetworkListenThread.a(SourceFile:105)
    at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:399)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:309)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    2011-06-27 17:12:30 [SEVERE] Could not pass event PLAYER_ANIMATION to MagicSpells
    java.lang.NoSuchMethodError: org.bukkit.World.spawn(Lorg/bukkit/Location;Ljava/lang/Class;)Lorg/bukkit/entity/Entity;
    at com.nisovin.MagicSpells.Spells.FireballSpell.castSpell(FireballSpell.java:66)
    at com.nisovin.MagicSpells.Spell.cast(Spell.java:98)
    at com.nisovin.MagicSpells.Spell.cast(Spell.java:83)
    at com.nisovin.MagicSpells.MagicPlayerListener.onPlayerAnimation(MagicPlayerListener.java:93)
    at org.bukkit.plugin.java.JavaPluginLoader$15.execute(JavaPluginLoader.java:341)
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:310)
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:793)
    at net.minecraft.server.Packet18ArmAnimation.a(SourceFile:35)
    at net.minecraft.server.NetworkManager.b(NetworkManager.java:223)
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:75)
    at net.minecraft.server.NetworkListenThread.a(SourceFile:105)
    at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:399)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:309)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
     
  24. Offline

    nisovin

    Looks like you aren't running the required CraftBukkit version.
     
  25. Offline

    KuroSnow

    I'm on 935.

    .... After checking my copy. Somehow my 863 build and my 935 builds got reversed. =/

    P.S. Thank you for once again dealing with my idiocy.
     
  26. Offline

    Agmanotis

    Is there a way to configure the Minion spell to allow users to summon more than 1 monster at one time?
     
  27. Offline

    rotoreuter48

    Is there a way to Limit the amount of spells one can have? For example if one of the people on my server has

    frostwalk,wind walk, and wall

    They would have to forget one of them to learn minion?

    I have the spells for the VIP people (donating) on my server, and i dont want them to be able to have ALL spells. I want to make a library of spellbooks so that they can only carry 3 at a time.
     
  28. Offline

    Kainzo

    @nisovin - for whatever reason, trying 973 - still getting reports of spells falling off users. It may be a permissions issue...
     
  29. Offline

    shavid

    Fantastic plugin has really added something extra to my server. One thing I've been searching for and would love to see added to this is a teleport system that works similar to WoWs Mage system. Their could be several new commands with associated permissions. Before its mentioned standard tp and warps don't offer full timers for each option as well as a cost through reagents etc.


    Spell 1 - set teleport location

    Allows user to set a teleport location at current co-0rds
    Cmd: /cast settp [name]
    e.g.: /cast settp bobsplace

    Permission: magic.settp


    Spell 2 portal to a location that's been set
    Command /cast tp [location]
    permission: magic.tp
    Or magic.tploc

    (you must have been taught a location to tp to it - possible extra


    Spell 3 teleport a player to you at a cool down and material cost

    Cmd: /cast tome [name]
    Permission : magic.tome


    Spell 4 (bonus or extra) teach a player a teleport




    Apologies for the bad grammar - iPad on the train.
     
  30. Offline

    m0dulus

    I LOVE how this is extremely configurable! Awesome work mate! Next year (when I'm 18 and can make a paypal) I'll donate to you! Btw, if I create a spell copy like the one you showed (crater=explode), does it mean those with the permissions node: magicspells.cast.explode, can use "/cast crater"?
     
  31. Offline

    firejack

    is there a way to unbind spells with a command?
    (i.e) /cast unbind [spell]
     

Share This Page