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. Spotted this:

    Code:
    21:26:53 [SEVERE] Could not pass event PLAYER_MOVE to MagicSpells
    java.lang.NullPointerException
            at com.nisovin.MagicSpells.Spells.StonevisionSpell.onPlayerMove(StonevisionSpell.java:68)
            at com.nisovin.MagicSpells.MagicPlayerListener.onPlayerMove(MagicPlayerListener.java:93)
            at org.bukkit.plugin.java.JavaPluginLoader$7.execute(JavaPluginLoader.java:285)
            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:140)
            at net.minecraft.server.Packet10Flying.a(SourceFile:126)
            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)
    
     
  3. Offline

    Tobelwosh

    anyoneknow howt get more reagents? i dont know how
     
  4. Offline

    NeonJ

    But half the spells that could be used on a player have no target-players option. EG: Forcepush, Combust, Volley.
     
  5. Offline

    nisovin

    Actually, they do. Except volley, which just throws arrows at an area, and will hit players anyway. Please look at the default config linked in the first post, as well as the bolded text under the configuration section.
     
  6. Offline

    NeonJ

    Most of the files in the default config did not have the target-players option, and Volley isn't hitting players on my server.
     
  7. Offline

    nisovin

    These spells target entities: combust, entomb, forcepush, heal, and lightning (optionally). All of those have a target-players option, except heal because it can only target players. Any other spell that appears to target players or could damage players (explode, fireball, firenova, lightning (optionally), and volley) actually target the ground, and thus don't have a target-players option. However, they can all damage players, including volley. I just tested it. Do you have PvP turned off?
     
  8. Offline

    sleite

    Problem:
    I tried changing the "range" variable for the "wall" spell. It doesn't seem to matter what value I set it to .. it always appears within 2-3 blocks of where I'm pointing. Anyone else have this same problem? I wonder if it's a bug or something.
    Thanks.
     
  9. Offline

    LucidLethargy

    So for a week or so now my users have been unable to use the recall command... also mark is borked I believe. I have the permissions set for grant and I even tried learn... what's going on here? This is kind of messing my entire server up as I replaced home and sethome with those commands. People are losing patience -.-
     
  10. Offline

    sleite

    I don't think it's a problem with the MOD. It's probably Permissions being finicky. Those two spells are working fine on my server.

    Out of curiosity, are you using global users/groups, or have you modified the users/groups .yml files in the "world" folder? I had issues trying to use global groups.
     
  11. Offline

    LucidLethargy

    I just upgraded to Permissions 3.0, however this problem was around before that. I currently use the groups to make a global "default" group, though. Is this what you had problems with as well?

    Edit: I just directly gave one of my members the node and it's failed. Clearly the node is broken. I also can't do it myself now as the admin... Admin should have all the granted spells!

    Nodes I am using per the OP:

    - magicspells.grant.mark
    - magicspells.grant.recall
    (They worked PERFECTLY up until about a week ago...)

    Zero errors on log, and it just states "You do not know a spell with that name" every time I attempt it (and I have ALL nodes as I have the "*" admin command. All other permissions based things are working... is Permissions 3.0 unsupported perhaps? My member helping me with testing insists the message has changed...

    Edit: I have tried everything at this point... regenerated the config to DEFAULT values and even tried permissions 2.0 as well... Clearly the nodes are borked and need repairing, or perhaps another plugin is interfering somehow?
    CB: 860
    Version: 0.6.2
     
  12. Offline

    sleite

    Yes .. I had trouble with "global" permissions. I eventually got it working by not using global permissions.

    Here's what I did:

    First, in the "world/groups.yml" file and added magicspells.cast.* to the Default group. This gives all users the ability to cast a spell, but only if they also have the magicspells.learn.* permission.

    Next, in the "world/users.yml" files, I give my users the magicspells.learn.<specific spell name here> permission. If the user does not have the magicspells.learn permission, then having the cast permission does them no good. They can't cast what they haven't learned.

    This seems to be working for me. I'm using the latest version of Permissions and MagicSpells at the time of this post. I did virtually the same thing using the global .yml files and I couldn't get the darn thing to work. I don't know why. I'm new to Permissions, and just assumed I must be doing something wrong, but I dunno.

    Good Luck!

    Bug?

    When ever a player uses the stonevision spell I see this [SEVERE] error in the console. The spell seems to work just fine, but I don't know why this error shows up in the console every time a player uses the spell.

    09:36:54 [SEVERE] Could not pass event PLAYER_MOVE to MagicSpells
    java.lang.NullPointerException
    at com.nisovin.MagicSpells.Spells.StonevisionSpell.onPlayerMove(StonevisionSpell.java:68)
    at com.nisovin.MagicSpells.MagicPlayerListener.onPlayerMove(MagicPlayerListener.java:93)
    at org.bukkit.plugin.java.JavaPluginLoader$7.execute(JavaPluginLoader.java:285)
    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:139)
    at net.minecraft.server.Packet10Flying.a(SourceFile:126)
    at net.minecraft.server.NetworkManager.b(NetworkManager.java:226)
    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)
    09:39:30 [SEVERE] Could not pass event PLAYER_MOVE to MagicSpells
    java.lang.NullPointerException
    at com.nisovin.MagicSpells.Spells.StonevisionSpell.onPlayerMove(StonevisionSpell.java:68)
    at com.nisovin.MagicSpells.MagicPlayerListener.onPlayerMove(MagicPlayerListener.java:93)
    at org.bukkit.plugin.java.JavaPluginLoader$7.execute(JavaPluginLoader.java:285)
    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:139)
    at net.minecraft.server.Packet10Flying.a(SourceFile:126)
    at net.minecraft.server.NetworkManager.b(NetworkManager.java:226)
    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)

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Jul 16, 2016
  13. Offline

    Qwertyuiop8

    Is there a way to bind spells to a specific item, without binding it to all others of the same item?
    (like binding it to one stick instead of all the sticks in the world)
     
  14. Offline

    PedroN041

    How do I use permissions with this plugin?
    like what should I put in permissions?
     
  15. Offline

    seaniscrazy

    It says it in the Configuration: Permissions area, in the plugin description

     
  16. Offline

    sleite

    I don't believe so. If you are looking for something 'less common' .. try the lever (stone + stick). It looks like a wand, and most people don't carry stacks of lever's around with them all the time.

    Please take two minutes to read this thread first before asking a question that's already been answered.

    Question: Is there a way to /cast unbind a spell from an item? I guess one work around would be to bind a spell to a different item, but that's not the best solution.

    Suggestion: Add an unbind command?

    Question: Does anyone have a use for the zap spell? It seems useless to me, especially when running together with the mcMMO plug-in which gives you the ability to mine a ton of obsidian in under 5 seconds flat simply by right-clicking the pick-axe :) I'm trying to imagine any useful situation for this spell. :)

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Jul 16, 2016
  17. Offline

    jlu

    (Sry about my english).
    Actually, zap spell is my better shovel; I gain XP from McMmo and receive money from Iconomy. Now, i lol' when i see my friend using a pickaxe, or a shovel. Zap is a good spell, but can we add more restriction than his range (like type of block able to be zap, etc)?

    Oh, and unbind command is just a great idea dude. I want to see my Jordan Collier (4400, u know?) or my Evil_Wizard delete their spell (and see them crying, obviously).
     
  18. Offline

    Nick22

    Does - 'magicspells.*' give all permissions for magic spells because it is not working for me.
     
  19. Offline

    Stone_Lazaurus

    Flipping amazing plugin! Am going to use it for a long time to come. Thanks for making such a awsome plugin, this really beats other "Magic" plugins Ive seen by far! Great Work! [diamond] [diamond][diamond]
     
  20. Offline

    Shad0wSlay3r

    unbinding avalible?
     
  21. Offline

    MojoManagement

    any chance to disable fireball block damage ?
     
  22. Offline

    Amarnra

    Heya guys, I got bored one time in science and decided to come up with random spell ideas. Hope at least one of them catches your fancy, and if it does don't be afraid to use it outright; I need no credit for coming up for the idea, implimentation is enough :D

    -Stop Time: Freezes all units (Non-players) in place and renders them unable to move or attack. (I am not sure this is currently possible though...)
    -Freeze: Places a block of ice around the target units feet, stopping all movment but allowing it to continue attacking.
    -Fling: Flings a target x blocks high.
    -Web: Creates a web block at target units feet or at an area around target unit, greating slowing movement speed.
    -Pull: Force-pulls the target towards the caster.
    -Summon: Summons a (hopefully) friendly mob to aid the caster in combat.
    -Extract: Sucks life out of a neutral/friendly mob (or it can be any mob if you want) to create reagents for casting spells (that is if spells cost reagents >_<)
    -Clone: Creates an exact copy of target unit.
    -Enchant: (A forward note: I am not sure if this is currently possible. I know next to nothing about java, though i will be learning it next year as a course, though I know enough to know that some things you can't just do with server software)
    Enchants target equiptment or armour to allow the equiptment or armour to have extra effects such as:
    Fire: Enchants a weapon to light target unit/block on fire on hit.
    Ice: Enchants a weapon to freeze a unit on hit. (See freeze spell)
    Feather Shoes (Light shoes? winged shoes?): Enchants boots to provide slow fall/no fall damage/reduced fall damage for the wearer. (Which ever one is possible/works best for you)
    Brace: (Similar to Feather Shoes/winged shoes) Enchants leggings to provide extra support to the legs. Reduces fall damage and may allow a slight increase in jump height (if that is possible)
    Air mask: Encahnts a helmet to provide underwater breathing
    Repair: Repairs the target item by a certain amount of durability.

    The possibilities for the enchantment spell are near endless, just gotta have an imagination ^^
    Tell me what you think, anyone. I value an opinion XD
    Thanks guys
    ~Amarnra
     
  23. Not sure if I reported this one yet :p

    Code:
    21:47:13 [SEVERE] Could not pass event PLAYER_MOVE to MagicSpells
    java.lang.NullPointerException
            at com.nisovin.MagicSpells.Spells.StonevisionSpell.onPlayerMove(StonevisionSpell.java:68)
            at com.nisovin.MagicSpells.MagicPlayerListener.onPlayerMove(MagicPlayerListener.java:93)
            at org.bukkit.plugin.java.JavaPluginLoader$7.execute(JavaPluginLoader.java:285)
            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:140)
            at net.minecraft.server.Packet10Flying.a(SourceFile:126)
            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. @nisovin
    i like this mod 1 thing tho can you edit the damage of the spells and if no can you add that? but, if yes how?
     
  25. Offline

    LucidLethargy

    So I finally got this working again, but I have to ask since I can't find information on this... What on earth does "use-health-bars" do? XD
     
  26. Offline

    Zalastri

    So, I'm using this plugin and splitting the permissions between multiple "player classes" via multiple permissions groups. My problem is, when a player picks a new "player class" he inherits a different list of grant and cast permissions, but has to reconnect before he can use/list any of them. Can you have the spellbook update upon the receipt of different permissions? Or perhaps have a command that can be run at a player to refresh their spellbook? Would be much appreciated.
     
  27. Offline

    Shad0wSlay3r

    i binded it to a pickax just for da hell of it
     
    sleite likes this.
  28. im reasonably new to this soo i might not be replying to the right thing... anyway is it possible to make it so when ppl cast a spell they lose a specified amount of hearts each time? ....help is appreciated![diamond][diamond]'s for u


    -edit
    ok i just realised that u can make so they have to pay an item not money..lol if i enterd the id for a gold helmet does that mean that for any spell they have to use a gold chestplate to cast?
     
  29. Offline

    Olat

    @nisovin

    You need to clarify your Permission nodes.. No one has any clue if it is MS.learning or MagicSpells.Learning or anything. PLEASE clarify this ASAP. TY
     
  30. Offline

    frostymm

    I have an issue, my players can cast the spells they want but they cant use list or help. Its an issue because they dont know what reagents they need and I'm sure they'll forget what spells they have or what they're called. Anybody got a fix for this? I gave them magicspells.learn.* and magicspells.cast.* already but there's nothing about a permission node for those...
     
  31. Offline

    nisovin

    This is the way I assume it should work, but I'm not a Permissions expert.
    I'm working on this but I don't like the way it works yet. The damage component of fireball is the explosion, so without it there is no damage.
    Most of the spells just use normal minecraft mechanics, so no, there isn't a way to change the damage. The exception is fireball.
    I'll have an option to reload a player's spell list in the next version.
    Health cost is coming in the next update. If you use a gold helmet as the cost, then yes, the spell will consume a gold helmet every time it is cast.
    I don't know what you mean... it's pretty clear in the first post what the nodes are and what they do.
    You need to teach them the help and list spells, either by just using the teach spell, or by giving them magicspells.grant.list and magicspells.grant.help.
     

Share This Page