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

    nisovin

    It should be fine, it's just warning you that there are no spells attached to that spell.
     
  3. Offline

    shanko

    Edit: Nevermind, working good so far in on the beta build

    server crashed after this error popped up

    Code:
    03 09:57:31 [Server] INFO [A]<§9russellsayshi§f> I uploaded my second tutorial video to the wiki :)
    04.03 09:57:24 [Server] INFO Expected 109.69999998807907, 112.53584062504456, -40.094375387777184
    04.03 09:57:24 [Server] INFO Got position 110.42498871285399, 112.53584062504456, -40.094375387777184
    04.03 09:57:24 [Server] WARNING bookinbear moved wrongly!
    04.03 09:57:15 [Server] INFO    ... 11 more
    04.03 09:57:15 [Server] INFO    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:301)
    04.03 09:57:15 [Server] INFO    at java.lang.reflect.Method.invoke(Method.java:601)
    04.03 09:57:15 [Server] INFO    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    04.03 09:57:15 [Server] INFO    at sun.reflect.GeneratedMethodAccessor55.invoke(Unknown Source)
    04.03 09:57:15 [Server] INFO    at com.nisovin.magicspells.spells.buff.MinionSpell.onEntityDamage(MinionSpell.java:182)
    04.03 09:57:15 [Server] INFO Caused by: java.lang.ClassCastException: org.bukkit.craftbukkit.entity.CraftMagmaCube cannot be cast to org.bukkit.entity.Creature
    04.03 09:57:15 [Server] INFO    at net.minecraft.server.ThreadServerApplication.run(SourceFile:490)
    04.03 09:57:15 [Server] INFO    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:452)
    04.03 09:57:15 [Server] INFO    at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:554)
    04.03 09:57:15 [Server] INFO    at net.minecraft.server.NetworkListenThread.a(NetworkListenThread.java:78)
    04.03 09:57:15 [Server] INFO    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:112)
    04.03 09:57:15 [Server] INFO    at net.minecraft.server.NetworkManager.b(NetworkManager.java:229)
    04.03 09:57:15 [Server] INFO    at net.minecraft.server.Packet7UseEntity.handle(SourceFile:33)
    04.03 09:57:15 [Server] INFO    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:994)
    04.03 09:57:15 [Server] INFO    at net.minecraft.server.EntityHuman.attack(EntityHuman.java:796)
    04.03 09:57:15 [Server] INFO    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:441)
    04.03 09:57:15 [Server] INFO    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
    04.03 09:57:15 [Server] INFO    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:303)
    04.03 09:57:15 [Server] INFO org.bukkit.event.EventException
    04.03 09:57:15 [Server] SEVERE Could not pass event EntityDamageByEntityEvent to MagicSpells
    04.03 09:57:13 [Server] INFO    ... 12 more
    04.03 09:57:13 [Server] INFO    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:301)
    04.03 09:57:13 [Server] INFO    at java.lang.reflect.Method.invoke(Method.java:601)
    04.03 09:57:13 [Server] INFO    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    04.03 09:57:13 [Server] INFO    at sun.reflect.GeneratedMethodAccessor55.invoke(Unknown Source)
    04.03 09:57:13 [Server] INFO    at com.nisovin.magicspells.spells.buff.MinionSpell.onEntityDamage(MinionSpell.java:182)
    04.03 09:57:13 [Server] INFO Caused by: java.lang.ClassCastException: org.bukkit.craftbukkit.entity.CraftMagmaCube cannot be cast to org.bukkit.entity.Creature
    04.03 09:57:13 [Server] INFO    at net.minecraft.server.ThreadServerApplication.run(SourceFile:490)
    04.03 09:57:13 [Server] INFO    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:452)
    04.03 09:57:13 [Server] INFO    at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:545)
    04.03 09:57:13 [Server] INFO    at net.minecraft.server.World.tickEntities(World.java:1149)
    04.03 09:57:13 [Server] INFO    at net.minecraft.server.World.playerJoinedWorld(World.java:1242)
    04.03 09:57:13 [Server] INFO    at net.minecraft.server.WorldServer.entityJoinedWorld(WorldServer.java:106)
    04.03 09:57:13 [Server] INFO    at net.minecraft.server.World.entityJoinedWorld(World.java:1260)
    04.03 09:57:13 [Server] INFO    at net.minecraft.server.EntityFireball.G_(EntityFireball.java:139)
    04.03 09:57:13 [Server] INFO    at net.minecraft.server.EntityFireball.a(EntityFireball.java:200)
    04.03 09:57:13 [Server] INFO    at org.bukkit.craftbukkit.event.CraftEventFactory.handleProjectileEvent(CraftEventFactory.java:375)
    04.03 09:57:13 [Server] INFO    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:441)
    04.03 09:57:13 [Server] INFO    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
    04.03 09:57:13 [Server] INFO    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:303)
    04.03 09:57:13 [Server] INFO org.bukkit.event.EventException
    04.03 09:57:13 [Server] SEVERE Could not pass event EntityDamageByEntityEvent to MagicSpells
    can we get the old default effects in the config file in the form of the new effects system? Like the Zap and shadowstep? Itd be cool to take a look and learn from how they worked (although it seems simple enough)

    also having the spell effects still there for some spells "out of the box" would be cool too :p


    edit:
    Also not sure if its a bukkit issue or plugin issue but the potion effects last forever occasionally until a player logs out

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

    nisovin

    shanko The minion spell is pretty broken in 1.2, so you should disable it until I get it fixed. I've updated the default config with the effects (I thought I had done so already, but I guess not). With the potion effects, is it the actual effect lasting forever, or just the graphical effect?
     
  5. Offline

    shanko

    the actual effect stays forever until the player logs out. Wasn't sure if it was just the effect until it happened to me just now as I was crippled for an eternity... lol

    and thanks for adding the effects :D
     
  6. Offline

    xphoenixxx

    nisovin - no complaints - just saying good job.

    For everyone else - with mob loot or quests rewards and such for spells - you can either have -
    a: a charged scroll with more than usual charges (set in config to allow 50 for instance) - put in chest etc
    (i did this at xmas so players can try new spells without the carnage of keeping the spell permanently)
    or
    b: get off your bottoms, and make up a decent dungeon with mob spawners and such - and put a good spell in a bookcase block hidden at the very end of the dungeon. (My current preferred way of giving out spells)
    (The only downside here is I have teach spell enabled too. One player will go off adventuring, then when he finds a spell he gets flooded/spammed by lazy moaning sooking kids for them to teach it to them.. cause they CBF playing the dungeon.)

    On my server forum page we have hints to where spells are hidden.
     
  7. Offline

    bikboii

    Well, I read about how to add a 'spell copy', and I followed the example as closely as possible. I wanted to make a geyser spell, but rather than make water lift the player, stone would. Even though I changed the word "water" to "stone" under "geyser-type", it still lifted the enemy with water. Here's the copy of the spell in my config...

    Show Spoiler

    earthlift:
    spell-class: ".targeted.GeyserSpell"
    name: earthlift
    description: Pull the earth from the ground and blast someone in the air with it.
    cast-item: 283
    range: 20
    damage: 0
    velocity: 10
    animation-speed: 2
    geyser-height: 6
    geyser-type: stone
    ignore-armor: false
    obey-los: true
    target-players: false
    check-plugins: true
    cost:
    - 331 2
    str-cost: 2 redstone dust
    str-cast-self: You create a geyser at your enemy's feet.
    str-no-target: No target found.


    Please help, thanks.
     
  8. Offline

    shanko

    I think you can only use liquids for this spell

    in your config, for the spells, set

    target-players: true
     
  9. Offline

    GoldenX

    Hi! Your plugin is awesome!

    I have a question : Is it possible to add a zone spell? : for example, the ground ignites on the cursor's target with a defined radius. If it's possible, I can't do it.
    This spell exists in another plugin : vicincantatio.
    Thank you!
     
  10. Offline

    bikboii

    You can request spells in the specified area in the OP.

    dhuuuurp
     
  11. Offline

    GoldenX

    nisovin
    Hi!
    Why the tall grass and flowers are considered as entities? These are blocks. Because of this it is impossible to throw lightning above. Why not add an option which allows to cast the spell on entities AND on the blocks?
    thank you for your answer

    Hi!
    I have a problem : you added the "consume-book" option to your tome spell. But it consumes the book after the creation of the tomespell... is there a way to add an option which consumes the book after learning the spell? It seems more logical for me.
    Thank you!

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

    lenis0012

    nice work!
    keep it up2date please
     
  13. Offline

    phonix420

    I run a non pvp server and we want to use spells like explode,fireball,etc but we don't want the effects to harm other players help please?
     
  14. Offline

    shanko

    any fix for minions in 2.6?
     
  15. Offline

    shanko

    please make it so everyones spells arent reset if theres a spacing error in the config X.X
     
  16. Offline

    nisovin

    What kind of spacing error?
     
  17. Offline

    shanko

    I made an error on the cooldown for a spell

    cooldown:0

    instead of

    cooldown: 0

    Everyone who was online when I typed /cast reload got their spells reset
     
  18. Offline

    shanko

  19. Offline

    shanko

    Hey! I know 1.2.4 is fresh outta the box but there are some issues ill report just in case.

    Zap spell no longer works
    Projectile spell with snowballs does not work if the spell is targetted(Havent tested with other projectiles)

    I noticed you uploaded a dev-build today, is it tested against 1.2.4 or no? If so Ill gladly test it out! :D

    Also what are the benefits of exploding the config? Is it just for organization or is there a performance boost by doing it?

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

    nisovin

    I'll get the zap spell fixed tomorrow. The snowball projectile still seems to work fine for me though.
    It's just for organization, there are no performance benefits. In fact, it probably takes the plugin a split second longer to load since it has to read all those files.

    Edit: A temporary fix for zap is to set the check-plugins option to false on that spell.
     
  21. Offline

    shanko

    Are you sure? Not even the snowballs from the Freeze spell seem to be doing damage or slowing them down

    and thanks for the temp fix! :D

    Just loaded up the dev build, the snowballs and also enderpearls(didnt test them before) and probably other spells dont work if its a targetted spell, the area spells with explode and lightning, etc work fine but not the targetted ones.
    Also the targetted multispell isn't working at all and doesnt show "no target" 100% of the time and never casts, here is my attempted multispell

    Code:
        entomb3:
            spell-class: ".TargetedMultiSpell"
            name: entomb3
            description: Encase an enemy in obsidian.
            cast-item: 101
            cooldown: 9
            range: 20
            obey-los: true
            target-players: true
            tomb-block-type: 49
            tomb-duration: 6
            cost:
                - mana 40
            str-cost: 40 mana
            str-no-target: No target found.
            spells:
                - combust
                - entomb3multi

    craftbukkit: 2116

    MagicSpells: 2.6


    edit: heres a projectile spell I have that wont work so you can try it out

    Code:
        trapgun:
            spell-class: ".instant.ProjectileSpell"
            name: trapgun
            description: bullet
            target-players: true
            cast-item: 347
            cooldown: 1
            projectile: snowball
            velocity: 4
            require-hit-entity: true
            cancel-damage: false
            remove-projectile: true
            max-distance: 900
            spells: [entomb]
            str-cast-self: ""
    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Jul 16, 2016
  22. Offline

    nisovin

    I tested your trapgun spell and it seems to work fine for me. Do you maybe have another plugin that modifies projectiles that is interfering?

    For your targeted multispell, add a 'require-entity-target: true' in there.
     
  23. Offline

    moonjokes

    Mana regen is most of the time not working and /mana gives an error(and also shows mana) build 2117. I know you haven't updated yet just putting it out there. Nice plugin btw.
     
  24. Offline

    nisovin

    What is the error? And are you using v2.5 or the dev v.2.6?
     
  25. Offline

    shanko

    I don't think so, the only projects I can think of is MoArrows and WorldGaurd/Edit but I had them before and the spell worked fine, It was only the craftbukkit update that broke the spell

    Also the multi spells work beautifully now that I have added the require-entity-target! I can now launch an enemy up, catch him on fire, and trap him in obsidian mid-air! <3

    but yeah, still having issues with projectiles (arrow projectiles work fine btw, just not snowballs and enderpearls, havent tested eggs)


    EDIT: Just tested, the spells DO work on MOBS, but not on other players!

    and yes I do target-players: true

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

    nisovin

    Seems it's a Bukkit issue.
    https://bukkit.atlassian.net/browse/BUKKIT-1194
     
  27. Offline

    shanko

  28. Offline

    moonjokes

    Working fine with the dev build. I was using 2.5. Thank you for the heads up.
     
  29. Offline

    Rellac

    Hi, I'm just wondering if it's possible to set a warmup for teleportation spells? Too many people are using gate or recall in a fight. Would be nice if it took 10 seconds or so and was interuptted by performing any actions.

    I did try looking at the spell configs, but the closest I could find was for chanelled spell settings. Can I set recall and mark as chanelled spells or..?
     
  30. Offline

    nisovin

    Recall and gate both have a cast-time option you can use.
    http://nisovin.com/magicspells/recallspell
     
    Rellac likes this.
  31. Offline

    Brisos

    The (1.1 R7) in the title is the version of MC this mod is compatible with? I have it running on my kid's 1.1 server and was looking into updating to 1.2.4.
     

Share This Page