Inactive [FUN] MagicSpells - Add magic to your server

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

     
  1. Offline

    nisovin

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    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.

    This post has been edited 30 times. It was last edited by nisovin May 8, 2012.
  2.  
  3. Offline

    Windwaker

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Love the update :)
  4. Offline

    taisha2640

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    I edited the config file and created a "nuke" spell, but once I did and put it into my plugins folder, the server stopped loading the mod completely, even when I reinstall the mod it won't work anymore. I didn't change the bukkit version or anything else. Help?
  5. Offline

    NEO

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    @nisovin

    When setting the nubmer of uses for a spellbook it doesnt seem to work. Different players can keep learning the spell, like the uses option didnt apply.

    No errors. This is on CB 766 ,ive also tried it on 803. Using MS 0.3
  6. Offline

    Joy

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Request:

    Some method to make it so I can make unlimited spellbooks, but still retain the normal setting for them otherwise.For example:

    - Add a spell "charge" that adds X charges to a bookshelf. Or sets it to unlimited.

    Or some other way to do it :p
  7. Offline

    WackyWocky

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    I love thus mod! Is there any way to reset someones spell list? I can't seem to find out how... :x
  8. Offline

    nisovin

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    This is something I'd like to do, but I'm not sure how to implement it yet. The main problem is it would be annoying trying to support every plugin that has some kind of team PvP feature.
    Two ways: add the can-cast-with-item option to each spell and set it to false, or change the cast-item of each spell to -1.
    Any errors when the plugin loads? I'm guessing you have a yaml error.
    I'll look into it.
    You should already be able to do this. Just do /cast spellbook spell -1. Though the post above you suggests this may not be working correctly, so I'll have to look into it. But theoretically that's how it would work.
    I'll get a "forget" spell in soon. For now, you can just modify or delete the player's file in the spellbooks folder of the plugin folder, then reload the plugin with /cast reload.
  9. Offline

    taisha2640

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Spot on it looks like, I checked the server.log and I found this after stopping and starting the server once:

    2011-05-23 21:32:05 [SEVERE] Could not load 'plugins\MagicSpells.jar' in folder 'plugins':
    while scanning for the next token
    found character '\t' that cannot start any token
    in "<reader>", line 252, column 1:
    explode=nuke
    ^

    at org.yaml.snakeyaml.scanner.ScannerImpl.fetchMoreTokens(ScannerImpl.java:360)
    at org.yaml.snakeyaml.scanner.ScannerImpl.checkToken(ScannerImpl.java:183)
    at org.yaml.snakeyaml.parser.ParserImpl$ParseBlockMappingValue.produce(ParserImpl.java:592)
    at org.yaml.snakeyaml.parser.ParserImpl.peekEvent(ParserImpl.java:163)
    at org.yaml.snakeyaml.parser.ParserImpl.checkEvent(ParserImpl.java:148)
    at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:132)
    at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java:230)
    at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:160)
    at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java:230)
    at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:160)
    at org.yaml.snakeyaml.composer.Composer.composeDocument(Composer.java:122)
    at org.yaml.snakeyaml.composer.Composer.getSingleNode(Composer.java:105)
    at org.yaml.snakeyaml.constructor.BaseConstructor.getSingleData(BaseConstructor.java:124)
    at org.yaml.snakeyaml.Yaml.load(Yaml.java:264)
    at org.bukkit.util.config.Configuration.load(Configuration.java:74)
    at org.bukkit.plugin.java.JavaPlugin.initialize(JavaPlugin.java:156)
    at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:174)
    at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:194)
    at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:117)
    at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:100)
    at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:218)
    at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:205)
    at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:145)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:265)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:394)
    2011-05-23 21:32:05 [INFO] MCMACOMPAT r13
    2011-05-23 21:32:05 [INFO] McMyAdmin Compatibility Plugin version r13 started.
    2011-05-23 21:32:05 [INFO] NoExplode version 1.4 is enabled!
    etc etc

    It looks like I did something wrong in the config with the copy spell.. I left out the dash in
    spellcopies:

    - explode=nuke

    I didn't leave it out the very first time I did this however, and it still didn't work.. But maybe if I swap explode=nuke so that it's nuke=explode ?

    EDIT: I removed the linebreak from spellcopies: nuke=explode, and the mod worked again. However, my added spell copy doesn't work, it just doesn't exist. There's no trace in the server.log of any error from it, it's just like I never made it. All the modifications I did on other spells work.
  10. Offline

    nisovin

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    You have tabs in your config file. You can only use spaces. Also, that should be nuke=explode.
  11. Offline

    taisha2640

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Any idea about the copying spells problem?
  12. Offline

    WackyWocky

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    I figured you would say that. Afraid that folder is empty even though we're 12 players on the server and we've been using spells without problems. Any idea as to why? :/
  13. Offline

    nisovin

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Can you pastebin your config file?
    Have the spells been taught (either with teach or spellbook), or were they granted another way (either with a permission or by being op)? If it's the latter, then there's no way to unlearn those spells. If it's the latter, then that's odd. Are everyone's known spells saved between reloads?
  14. Offline

    airsoftinva

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Have you a plan for your next update? I can't wait!
  15. Offline

    taisha2640

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Couldn't upload just the config so uploaded the modified zip
  16. Offline

    Oninova

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Is there a way to remove spells from a spellbook or switch the spell with something else?
  17. Offline

    monkeymii

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    just go into someones config and delete that spell and replace with the new one
  18. Offline

    kahlilnc

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Can you get rid of the /v <bId> command? Please VoxelSnipe wont work with it.
  19. Offline

    nisovin

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Next update will probably be tomorrow.
    The spellcopies should be in list format:
    Code:
    spellcopies:
        - nuke=explode
    
    Not sure what you're talking about here... this plugin doesn't use the /v command.
  20. Offline

    kahlilnc

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    For some reason I try to use voxelsnipe and i do /v 17 then it says /v <bId> then I tried /v spell and it said There is no spell called that or something like that then I deleted this plugin temp. I swear, and the /v command worked for voxelsnipe.
  21. Offline

    WackyWocky

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    They we're granted via the player being OP and yes, I think their saved.
  22. Offline

    taisha2640

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    I edited the line like so, but the nuke spell still doesn't work, chance that you could edit a config and upload it so that it's correct?
  23. Offline

    airsoftinva

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Something is wrong with one of your configs because voxelsnipe works fine for me.
  24. Offline

    kahlilnc

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    hmmm.
  25. Offline

    Valkerion

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    I am also trying to configure spellcopies, and I was looking through the replies here, and even though I used;
    Code:
        Spellcopies:
            - teleport=blink
            - blast=explode
            - etc=etc
    
    I have a copy of every spell, because when I tried to edit the details of the default spells, nothing changed, so I went for making my own version of every spell, with some duplicates for more powerful versions, but even still, none of my spells are owrking in game, i'm also using yeti's permissions, but I when using bukkit 766, I had many errors in the window, some saying that it couldn't find my permissions, even though they were working, so I just upgraded to 803 and all the default spells work correctly, though my custom ones still don't show. I've uploaded my config file, so maybe you can tell me where I went wrong? I'm also wondering if the order matters; I preferred to have all my custom seplls at the bottom after the defaults, but I organized them instead in hopes that that was the problem, but alas, no change.

    But other than all that, absolutely love the mod! :D
  26. Offline

    nisovin

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Version 0.4 is out! New spells! Bug fixes! Yay!

    @Valkerion You need to unindent your spellcopies section. It should be at the root level, not under spells.
  27. Offline

    elysianhero

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    nisovin, this is a great plugin! I was hoping to use Volley as a special attack for archers. Is there any way I could swap the buttons (so that changing the spell doesn't fire an arrow)? Where might I find that in your source code?
  28. Offline

    moveandgroove

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Um it doesn't let me cast anything it just says i dont have the reagents help?
  29. Offline

    Joy

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Good stuff!

    I made two test walls, one disappeared, but the other one, I broke a block in it, and the rest of the wall never went away.

    Also, is it possible to have Wall check if the caster is allowed to build blocks in the location where the wall would appear?
  30. Offline

    Joy

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Any chance to make it so Volley can't hurt players in a non-PVP enabled zone? I know it works with Combust, as that is direct targetting, otherwise I'd like a Volley that requires an entity target, that should make it work then right?

    ===

    Also an error came by:

    Code:
    23:37:16 [SEVERE] Could not pass event ENTITY_DAMAGE to MagicSpells
    java.lang.NullPointerException
            at com.nisovin.MagicSpells.BuffSpell.chargeUseCost(BuffSpell.java:113)
            at com.nisovin.MagicSpells.Spells.GillsSpell.onEntityDamage(GillsSpell.java:56)
            at com.nisovin.MagicSpells.MagicEntityListener.onEntityDamage(MagicEntityListener.java:22)
            at org.bukkit.plugin.java.JavaPluginLoader$47.execute(JavaPluginLoader.java:570)
            at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
            at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:310)
            at net.minecraft.server.EntityLiving.N(EntityLiving.java:164)
            at net.minecraft.server.Entity.p_(Entity.java:191)
            at net.minecraft.server.EntityLiving.p_(EntityLiving.java:230)
            at net.minecraft.server.EntityHuman.p_(EntityHuman.java:90)
            at net.minecraft.server.EntityPlayer.a(EntityPlayer.java:169)
            at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:273)
            at net.minecraft.server.Packet10Flying.a(SourceFile:126)
            at net.minecraft.server.NetworkManager.a(NetworkManager.java:196)
            at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:75)
            at net.minecraft.server.NetworkListenThread.a(SourceFile:100)
            at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:377)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:292)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:394)
  31. Offline

    BACON_NATOR

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    hello i was wondering if anyone else is expierencing server crashing with the force push spell and if so does anyone know a fix
  32. Offline

    airsoftinva

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    errr... I've never got an error for this plugin till today when i tried updating :O
    I've updated it before so i know i did it right... what do i need to do?

    Code:
    00:21:15 [SEVERE] Could not load 'plugins\MagicSpells.jar' in folder 'plugins':
    
    while parsing a block mapping
     in "<reader>", line 18, column 5:
            list:
            ^
    expected <block end>, but found BlockMappingStart
     in "<reader>", line 246, column 6:
             telekinesis:
             ^
    
            at org.yaml.snakeyaml.parser.ParserImpl$ParseBlockMappingKey.produce(Par
    serImpl.java:576)
            at org.yaml.snakeyaml.parser.ParserImpl.peekEvent(ParserImpl.java:163)
            at org.yaml.snakeyaml.parser.ParserImpl.checkEvent(ParserImpl.java:148)
            at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java
    :228)
            at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:160)
            at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java
    :230)
            at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:160)
            at org.yaml.snakeyaml.composer.Composer.composeDocument(Composer.java:12
    2)
            at org.yaml.snakeyaml.composer.Composer.getSingleNode(Composer.java:105)
    
            at org.yaml.snakeyaml.constructor.BaseConstructor.getSingleData(BaseCons
    tructor.java:124)
            at org.yaml.snakeyaml.Yaml.load(Yaml.java:264)
            at org.bukkit.util.config.Configuration.load(Configuration.java:73)
            at org.bukkit.plugin.java.JavaPlugin.initialize(JavaPlugin.java:158)
            at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.j
    ava:166)
            at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.
    java:191)
            at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager
    .java:115)
            at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:100)
            at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:218)
            at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:205)
            at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:145)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:260)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:394)
    If you need any more info let me know. I'm running cb 766

Share This Page