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

    wooden_dinosaur

    hello again nisovin haha. I'm having a new problem. and I have spent hours searching and trying out different ideas to figure out what is causing it. If it is my config, I am not seeing it. The problem is this...

    My external spells are not loading, except for one according to server.log which it loads as spell name "external". I can use one of my external spells which is either the bottom-most spell in the list or the last one alphabetically (im not sure yet). And that spell casts only by command, even if it is set to be cast with item as well.

    magicspells 1.1
    craftbukkit RB 1185
    bukkitpermissions 1.2 + superpermsbridge

    My pastebins:
    server.log ----> http://pastebin.com/29Q4tUz7
    magicspells config.yml ------> http://pastebin.com/96a6ZByK

    anyone who can help is more than welcome to provide insight as well!
    thanks to all.
     
  3. Offline

    LucidLethargy

    Wat?
     
  4. Offline

    nisovin

    Version 1.2 is released! Some new spells, some minor changes, and some bug fixes. It's built for 1240, but will work fine for 1185 with the exception of the new cripple and haste spells, which will NOT work with 1185.

    You should only have one external spell. The rest should be spellcopies of that first external spell.
    This is no longer needed as of version 1.2.
     
  5. Offline

    wooden_dinosaur

    Ahhh. I misunderstood the format! Vile error on my part. Sorry to waste time with something so trivial :(
    I have another request too. An implementation to increase and decrease the rate of mana regen, temporarily modifiying the original recovery rate. Perhaps a configurable spell and/or potion to temporarily increase or decrease the mana regen rate.
    this single plugin has helped to bypass the need for several others. Awesome!
    I owe you a cold drink.
     
  6. Offline

    mike0fmikes

    Here's my config: http://pastebin.com/HTCkrQLJ
    And here's my PermissionBukkit nodes: http://pastebin.com/D3PEnRzc

    So everything was working find until a couple nights ago. I went to update worldedit and worldguard, after that neither of them worked (I assumed they didn't want to play with permissionbukkit nicely) so I rolled them back to the previous version, and everything was fine with them after that. I started to play, and right away realized that somehow I couldn't cast any spells. Any time I try to cast a spell though something its bound to the spell list never cycles. Any time I try to cast a spell using a command it says that I don't know that spell. Basically, it looks like everyone on the server isn't granted any spells at all, even though I've given them both the magicspells.grant.* node and the superpermbridge.magicspells.grant.* node (as well as the corresponding learn, cast, and teach nodes for good measure)

    I am so confused, I keep thinking that its something simple, something staring me right in the face, but I can't seem to find anything. Think you can give me a hand?


    I should add this. I didn't catch it before, but heres the error read out:

    2011-10-04 02:00:12 [SEVERE] Error occurred while enabling MagicSpells v1.1 (Is it up to date?): null
    java.lang.NullPointerException
    at com.nisovin.magicspells.NoMagicZoneManager.<init>(NoMagicZoneManager.java:36)
    at com.nisovin.magicspells.MagicSpells.load(MagicSpells.java:193)
    at com.nisovin.magicspells.MagicSpells.onEnable(MagicSpells.java:91)
    at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:126)
    at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:920)
    at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:278)
    at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:173)
    at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:156)
    at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:297)
    at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:284)
    at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:152)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:348)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:417)

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

    sleite

    Looks like the plug-in not loading. Not a permissions problem. What version of bukkit server are you running? Have you tried temporarily disabling other plug-in's to see if there's a conflict?
     
  8. Offline

    nisovin

    Looks like there is a problem with your no-magic zones. Is WorldGuard set up correctly? It looks like it's not getting the region manager for your world.
     
  9. Offline

    mike0fmikes

    Yeah, still no dice

    As far as I can tell. Worldguard starts up with no problem, and the regions function correctly
     
  10. Offline

    nisovin

    Well, that's all I can tell you. Something's wrong with the WorldGuard no-magic zones. Is your world still called "world"? Do those regions exist? Honestly, I have no idea. However, upgrading your WorldGuard shouldn't have caused problems with PermissionsBukkit, so I'm guessing you have some other problems.
     
  11. Offline

    mike0fmikes

    Yeah, its still called world, and those regions exist. I've turned off anti-magic zones now, and the plugin loads without an error now. However, everyone is still getting the "you dont know any spells with that name" message when doing /cast list (and any others)
     
  12. Offline

    Kazer

    Can you make compatibility with magic paper / book, with chestshop ?

    I would like sell magic paper with a simply shop and Iconomy
     
  13. Offline

    nisovin

    You shouldn't need the bridge for MagicSpells, have you tried removing it?
     
  14. Offline

    mike0fmikes

    So I ditched the anti-magic regions and the prefix "superpermbridge." from the nodes and its working again. I think when I update world guard/edit last night it messed with my regions, then caused this error with your mod. I'll have to redefine my regions I guess. Is your mod confirmed to work with the latest world guard?
     
  15. Offline

    wooden_dinosaur

    AARRGH! Can anyone post a pastebin config.yml displaying multiple external spells? I guess I don't understand the format?
    please and thankyou
     
  16. Offline

    nisovin

    It works exactly the same as any other spell copy. The external spell is just a spell, there's nothing special about it. Make copies of it the way you did your other copies.

    Edit: Because I'm so nice:
    Code:
    spells:
        external:
            name: bob
            (etc)
        external2:
            name: joe
            (etc)
        external3:
            name: sally
            (etc)
    spellcopies:
        - external2=external
        - external3=external
    
     
  17. Offline

    wooden_dinosaur

    getting ready to edit the config and see if it will work for me now hehe

    Edit: Still no luck. In console it is giving me the message that " <playername> is trying to cast the spell <spellname>" but nothing happens. I have a custom permissions.yml in root directory, would that have any effect? Or do need to add an elevated permission group to the "gt" spell for other externals to inherit?
    If it were a permissions issue, I would expect a permission error broadcast. The externals don't work for ops/admin or standard players. All other spells seem in order. My new pastebin is thus...

    http://pastebin.com/hFuiKy0a

    Feeling like a broken record, suspecting a configuration malfunction on my part.
    thanks nisovin :D
     
  18. Offline

    kayloe

    I'm unable to use /cast list
    Running default config. When I type /cast list - nothing happens. No error in console.
    I'm able to cast spells though.

    **EDIT***
    Added "-magicspells.silent" to my permissions (takes away the ability to silently cast) I can now see all my spells with /cast list.
     
  19. Offline

    oceanor

    it's possible to cycle throught spells that are really castable? i mean, i want to create some classes (healer, mage, shaman) with different abilities, for mobarena, so i give to all players a stick and the magicspells.grant.* permission, then i put in mobarena config the permission-force magicspells.cast.spell1, magicspells.cast.spell2 etc, per class, and these are removed right after the arena. the problem is that even if a player know many spells, cycling with a stick dont count spell uncastables..

    or, another solution: is there a permission to force player to learn and cast a spell? and if removed, player cant cast.. just like the grant option, but not permanent... i've tried magicspells.cast.spellname, but without having the spell it's impossible to cast..

    edit i've thinked a better solution: maybe a permission that skip check if player knows that spell and allow player cast spell by spellname?
     
  20. Offline

    Darkvoltage3

    ummm... i have a problem when i turn on "ops have all spells" it has all the spells listed even the ones i deleted from the "config" and also if you dont have that on will you have to make a bookcase of learnable spells or do you automaticlly have it cause thats not working either......please msg me back with some answers........P.S.Best Magic Plugin Of All Time.
     
  21. Offline

    Paradigm

    I don't really know if I'm doing it right but i can't get temporary permissions for an external spell to work. I don't know if I set up the spell wrong or if its a problem with my permissions plugin. when someone attempts to cast the spell, it says the don't have permissions but it works if i give them the permission to use the command. Im using CB 1185, MagicSpells 1.2, and Essentials with GroupManager for my permissions. Here is my config: http://pastebin.com/yhJDf90q
     
  22. Offline

    wooden_dinosaur


    I don't quite understand, but it seems as if you cannot remove the spells they were previously granted when Un-granting the spells? If this is the case, they must be removed from the players spellbook after removing grant permission. Using the forget spell on a player updates that player's spellbook and reloads the configuration for granted spells from what I understand. If this is not what you mean, explain further and maybe we all can help. :D I owe it to this forum for the questions I have asked hehe.


    Have you tried a different permissions manager (temporarily) with the same permissions set up to isolate a possible conflict with groupmanager as it is not officially supported by magicspells?

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

    Olavman

    Really a awesome plugin, but i don't want some of the spells in my server, and wanted to change names of some of the spells, but when i changed it in the config it didn't change in game, i even went in to the config in the MagicSpells.jar and changed it in the config there, but it didn't work, help anybody? Please answer. :)
     
  24. Offline

    wooden_dinosaur


    Each spell has a setting marked "enabled: T/F" that would toggle whether it loads or not. Did you try that? Are the spells you deleted still in your player's spellbook file?


    You can copy the original spell as a spellcopy with a different name and disable casting of the original. There is also an option to enable/disable each spell in the config. The setting if enabled: false should prevent the spell from loading, and would then be inaccessible? If I understand it correctly.

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

    oceanor

    ok, i try to explain better (english is not my first lang :rolleyes:)


    This is the problem one:
    I just want to learn a spell to a player temporarily and automatically..
    I can remove a permission in certain areaas with permissions, so if a player can cast, for example,"fireball", and enters in a region X, i can remove magicspell.cast.fireball, and that player can't cast anymore on the region X.
    If in that region X i want only 5-6 spells to be castable, and a player knows 20-25 spells. he have to cycle through all spells, castables and not castables.

    And here is the problem 2, totally indipendent from problem 1:
    Assume i dont want to use magic spells in normal world. I'm using MobArena, doing some PvE sessions in an area, with custom classes. There are classes with magic, different spells castable from different classes (healer can use heal and prayer, mage can use fireball, combust, fire nova etc, ranger can use volley etc etc).
    Every class that can cast at least a spell, have a stick to choose wich spell to cast.
    Disallow to cast everywhere is not a problem, players have magicspell.cast.*: false everywhere but not in the arena, but this is a wrong method in my opinion, because even if you can't cast, you know the spell, so if i do a match with healer, then with mage, i'm assuming i have to grant at least mage and healer spells.
    Here is again the same problem, if i'm mage i cant cast healer spell, but right clicking my wand i have to choose only healer spells (in fact, i cant cast anything else). This is annoynig when there are too many spells that i must know to choose any class..:oops:

    Would be interesting have a grant-like permission that works instant and not when a player logs in, and when you dont have that permission anymore, you forgot the spell.. in other words, something that allows you to cast a spell, bypassing the fact you dont know the spell and adding it to right-click cycle..
    OR
    a permission to hide spells from right click cycle (like magicspells.hide.spellname), so when someone is not supposed to be able to cast a spell, it's easy to hide it from config. (yeah, having .cast.spellname: false is also needed to deny from /cast spellname :p)

    Sorry for the wall of text, I hope i was clear :p
     
  26. Offline

    TRULYTWIST3D

    ok so i have a small problem that im sure some one has the answer to... i have multiple external spells but i only want to give the permissions to use some of them to certain people and the others to different people

    ex.
    permission to use external1 given to bob, joe, and sally

    permission to use external2 given to steve

    if the multiple external spells are copies of each other this means that their permission nodes are the same, right?
    so bob, joe, and sally have the ability to cast external2 which i dont want them to have access to

    in my server im creating classes which all have their own specific group of spells, but each one has their own specific external spell to bind all of their spells to an item (just to make life easier and alot less confusing to those who dont really know how to use commands that well)
    there is one external spell that binds ALL spells ment for the ultimate class only
    but anyone with permission to use an external spell has permission to use this one

    i dont want my water mages spewing fireballs lol... i tried explaining best i could... any help :D?
     
  27. Offline

    oceanor

    simply give different names to every external spell.. see here for an example..
    then give single permissions to player, or create new groups with inheritance from current user's group, rename each group with the "class" you want and give users these groups.

    example:

    Bob is in default group, he want to become water mage, so you create a group called water or something you like, give
    inheritance:
    - default
    and insert permissions to cast spells. now everyone you want to become water mage simply have to change his group from "default" to "waterorsomething"
     
  28. Offline

    LosT

    Hi,

    I'm having a problem with the Spellcopies function.
    I'm trying to make spells with different levels but they are not recognized ingame.

    eg.:
    Code:
    Spells:
        fireball:
            name: fireball
            description: Throw a fiery ball of destruction.
        fireball2:
            name: fireball2
            description: Throw a fiery ball of destruction.
    Spellcopies:
         - fireball=fireball2  
    I've left out all the unimportant information and this is basically how it looks like in the config.
    What am I doing wrong? Additionally to that I've granted all the permission to learn fireball2 and cast it aswell
    but it just won't appear ingame...

    Anybody?
     
  29. Offline

    oceanor

    here is my config, it's a bit modified from the original one (some default values changed, some spell copied)

    works for me, with grant and cast options.
    http://pastebin.com/raw.php?i=4Bt6NMdh
     
  30. Offline

    sleite

    Wondering about the behaviour of the "cost" configuration variable. I would like to have certain "regent requirements" (for example, an gold CD, or a saddle), but I do not wish for those regents to be consumed after the spell is cast.

    Logic says that listing a component quantity of zero would achieve this but it doesn't work.

    For example, if I wanted the "carpet" spell to require 1 redstone dust, 4 blocks of glass, and a gold CD, my entry might look something like this:
    Code:
            cost:
                - 331 1
                - 20 4
                - 2256 0
    
    Could something like this be implemented?

    Request: New spell: Teleport <location>

    Usage: /cast teleport location

    /cast teleport set location

    Examples:
    ## Set locations
    /cast teleport set my_house
    /cast teleport set my_friends_house
    /cast teleport set other_world

    ## Travel to locations
    /cast teleport my_house
    /cast teleport my_friends_house
    /cast teleport other_world

    Notes:
    1. It might be worthwhile considering to enhance the already existing /cast mark spell since it does 'almost' the same thing.

    2. I'd like to see a configurable option to set a limit on how many locations can be set. I would create copies of the spell called teleport1, teleport2, teleport3, etc, and allow for more locations to be set for more powerful wizards.

    Thanks

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

    LosT

    Thanks @oceanor

    I've figured it out now..
    It is indeed ABSOLUTELY necessary to list the original spell as the second spell below spellcopies!
    What I mean is eg.:

    NOT
    original=new

    BUT
    new=original

    I do believe this is where my mistake was.

    If possible, this could be clarified in the example on BukkitDev @nisovin

    ps.: I love your plugin =) Really adds nicely to MobArena
     
    oceanor likes this.

Share This Page