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

    zephi

    Ah, I'll try that then. Thanks.
     
  3. Offline

    Rellac

    Is there any way to remove the console spam whenever a player logs in? It's rather irritating.
     
  4. Offline

    nisovin

    Turn off debug mode.
     
  5. I have a problem/question. When making custom spells I have to change the return type of castSpell from PostCastAction to boolean in order to get it to compile. The spells still work, but not quite right. For example targeted spells with no target found still use MP. Any thoughts?
     
  6. Offline

    Tim619

    let me give you a good example of the spells click on this spoiler to prevent spamming
    Show Spoiler

    spells:
    blink:
    name: blink
    description: Teleport a short distance.
    cast-item: 280
    cooldown: 8
    range: 25
    smoke-trail: true
    cost:
    - mana 100
    str-cost: 100 mana
    str-cast-self: You blink away!
    str-cast-others: "%a blinks away!"
    str-cant-blink: You cannot blink there.
    Blinker:
    name: blinker
    description: Teleport a medium distance.
    cast-item: 280
    cooldown: 16
    range: 50
    smoke-trail: true
    cost:
    - mana 200
    str-cost: 200 mana
    str-cast-self: You blink away!
    str-cast-others: "%a blinks away!"
    str-cant-blink: You cannot blink there.
    spellcopies:
    - Blinker=Blink

    So what i'm saying is that you forgot either the spell copies at the bottom(very important)
    or you just didn't do it right this is a good example please use if you want to.
     
  7. Thanks for the help (and it did help me because I had forgotten to add some modified versions of the Summon spell to the spellcopies list.) but I wasn't talking about spell copies, I meant actual custom-coded spells where you compile them and add the .class file to the magic spells directory. For example here is a beta version of "SandFall" a spell that drops a 3X3X3 cube of sand over your target's head. (be warned the sand does not yet auto-remove it self like the glass in entomb does, I may add that option later.) But as I said it suffers from a bug where if you try to cast it without a target it will not cast, but still drain your mana.

    If you're gonna use sandfall add this to your config -it doesn't actually load most of it yet.

    Code:
        sandfall:
            name: sandfall
            description: bury your enemy in sand.
            cast-item: 280
            range: 20
            damage: 1
            sandheight: 4
            obey-los: true
            target-players: true
            check-plugins: false
            cost:
                - mana 20
            str-cost: 20 MP
            str-cast-self: You bury your enemy in sand.
            str-no-target: No target found.
     
  8. Offline

    nisovin

    New version released! This is another small update, there are no new spells, just new features. I also changed the spell casting code, which means any custom spells you've made will be broken and will need to be updated (the return type of castSpell has changed).
    In version 1.0.1 the castSpell() method returned a boolean. As of 1.0.2, it returns a PostCastAction. If you don't want a spell to have its reagents charged, return PostCastAction.ALREADY_HANDLED.
     
  9. Offline

    Sim121

    Hey !
    Thanks for the plugin =p

    I tried to translate it into French, in the Config File, but when I try to reload my server, I've got a very weird error :
    Code:
    18:44:47 [SEVERE] Could not load 'plugins/MagicSpells.jar' in folder 'plugins':
    unacceptable character #FFFD special characters are not allowed
    in "<reader>", position 25617
            at org.yaml.snakeyaml.reader.StreamReader.checkPrintable(StreamReader.java:68)
            at org.yaml.snakeyaml.reader.StreamReader.update(StreamReader.java:159)
            at org.yaml.snakeyaml.reader.StreamReader.peek(StreamReader.java:117)
            at org.yaml.snakeyaml.scanner.ScannerImpl.scanPlain(ScannerImpl.java:1569)
            at org.yaml.snakeyaml.scanner.ScannerImpl.fetchPlain(ScannerImpl.java:860)
            at org.yaml.snakeyaml.scanner.ScannerImpl.fetchMoreTokens(ScannerImpl.java:348)
            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.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:82)
            at org.bukkit.plugin.java.JavaPlugin.initialize(JavaPlugin.java:157)
            at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:175)
            at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:207)
            at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:130)
            at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:128)
            at org.bukkit.craftbukkit.CraftServer.reload(CraftServer.java:378)
            at org.bukkit.command.SimpleCommandMap$ReloadCommand.execute(SimpleCommandMap.java:281)
            at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:129)
            at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:312)
            at net.minecraft.server.MinecraftServer.b(MinecraftServer.java:480)
            at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:465)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:361)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    
    ... Except that I only have 24909 char. in my config.yml... O.O

    Here's my config.yml :
    Code:
    general:
        debug: false
        str-cast-usage: |
            Usage: /cast <sort>.
            Use /cast list pour voir une liste des sorts disponibles.
        str-unknown-spell: Vous ne connaissez pas de sort portant ce nom.
        str-spell-change: Vous utilisez desormais %s.
        str-on-cooldown: Ce sort n'est pas encore disponible (encore %c secondes).
        str-missing-reagents: Vous n'avez pas la Mana ou les composants necessaires pour ce sort.
        str-cant-cast: Vous ne pouvez pas incanter ce sort maintenant.
        str-no-magic-zone: Une aura anti-magie annule votre sort.
        str-console-name: MAGIE
        text-color: 3
        broadcast-range: 1
        use-permissions: true
        ops-have-all-spells: false
        cast-for-free:
        cast-no-cooldown:
        ignore-default-bindings: true
        mana:
            enable-mana-bars: true
            max-mana: 100
            mana-bar-prefix: "Mana : "
            mana-bar-size: 35
            color-full: 10
            color-empty: 0
            regen-tick-seconds: 5
            regen-percent: 5
            show-mana-on-use: true
            show-mana-on-regen: true
            show-mana-on-wood-tool: true
            tool-slot: 8
            mana-potion-cooldown: 30
            str-mana-potion-on-cooldown: Vous ne pouvez pas utiliser de potion de mana (encore %c secondes).
            mana-potions:
                - 351:4 100
                - 348 60
                - 331 30
    spells:
    
        list:
            name: list
            description: Liste les sorts que vous connaissez.
            reload-granted-spells: false
            str-prefix: "Vous connaissez :"
            str-no-spells: Vous ne connaissez aucun sort.
        help:
            name: help
            description: Recupere des informations sur un sort specifique.
            str-usage: "Utilisation : /cast help <sort>"
            str-no-spell: Vous ne connaissez pas ce sort.
            str-desc-line: "%s - %d"
            str-cost-line: "Co$te : %c"
        teach:
            name: teach
            description: Apprend un sort a un autre joueur.
            str-usage: "Utilisation : /cast teach <cible> <sort>"
            str-no-target: Ce joueur n'existe pas.
            str-no-spell: Vous ne connaissez pas ce sort.
            str-cant-teach: Vous ne pouvez pas enseigner ce sort.
            str-cant-learn: Cette personne ne peut pas apprendre ce sort.
            str-cast-self: Vous avez enseigne a %t le sort %s.
            str-cast-target: "%a vous a enseigne le sort %s."
        forget:
            name: forget
            description: Faire oublier un sort a quelqu'un.
            str-usage: "Utilisation : /cast forget <cible> <sort>"
            str-no-target: Ce joueur n'existe pas.
            str-no-spell: Vous ne connaissez pas ce sort.
            str-doesnt-know: Cette personne ne connait pas ce sort.
            str-cast-self: Vous faites oublier le sort %s a %t.
            str-cast-target: "%a vous a fait oublier le sort %s."
        spellbook:
            name: spellbook
            description: Cree un livre de sort d'un sortilege specifie.
            default-uses: -1
            destroy-when-used-up: false
            str-use: "Usage: /cast spellbook <sort> [nombre d'utilisation]"
            str-cast-self: Vous avez cree un livre de sort du sort %s.
            str-no-spell: Vous ne connaissez pas ce sort.
            str-cant-teach: Vous ne pouvez pas creer un livre de sort de ce sort.
            str-no-target: Vous devez cibler une bibliotheque pour creer un livre de sort.
            str-has-spellbook: Cette bibliotheque contient deja un livre de sort.
            str-cant-destroy: Vous ne pouvez pas detruire une bibliotheque qui contient un livre de sort.
            str-cant-learn: Vous ne pouvez pas apprendre le sort contenu dans ce livre.
            str-already-known: Vous connaissez deja le sort %s.
            str-learned: Vous avez decouvert le sort %s !
        bind:
            name: bind
            enable: true
            description: Assigne un sorte a un objet.
            str-cast-self: Vous avez assigne le sort %s a l'objet que vous tenez.
            str-usage: Vous devez specifier un sort en tenant un objet en main.
            str-no-spell: Vous ne connaissez pas ce sort.
            str-cant-bind: Ce sort ne peut pas etre assigne a un objet.
    
        blink:
            name: blink
            description: Vous teleporte a une courte distance.
            cast-item: 280
            cooldown: 8
            range: 25
            smoke-trail: true
            cost:
                - mana 10
    #        str-cost: 2 redstone dust
            str-cost: Ce sort coute 10 de Mana.
            str-cast-self: Vous vous teleportez !
            str-cast-others: "%a s'est teleporte !"
            str-cant-blink: Vous ne pouvez pas vous teleporter la.
        build:
            name: build
            description: Construit des blocs a longue distancez.
            cast-item: 294
            cooldown: 2
            range: 25
            slot: 0
            consume-block: true
            show-effect: true
            check-plugins: true
            allowed-types: 1,2,3,4,5,12,13,17,20,22,24,35,41,42,43,44,45,47,48,49,50,53,57,65,67,80,85,87,88,89,91,92
            cost:
                - mana 5
            str-invalid-block: Vous ne pouvez pas construire ce type de bloc.
            str-cant-build: Vous ne pouvez pas construire ici.
        combust:
            name: combust
            description: Enflamme une cible.
            cast-item: 283
            cooldown: 10
            range: 20
            obey-los: true
            fire-ticks: 100
            target-players: true
            check-plugins: true
            cost:
                - mana 30
    #        str-cost: 1 redstone dust and 1 coal
            str-cost: Ce sort coute 30 de Mana.
            str-no-target: Aucune cible trouvee.
        confusion:
            name: confusion
            description: L'esprit des monstres proches se trouble, et ils s'attaquent entre eux.
            cast-item: 283
            cooldown: 30
            range: 20
            cost:
                - mana 50
    #        str-cost: 4 redstone dust
            str-cost: Ce sort coute 50 de Mana.
            str-cast-self: Vous troublez l'esprit des monstres proches et ils s'attaquent entre eux.
            str-cast-others: "%a trouble l'esprit des monstres proches."
        drainlife:
            name: drainlife
            description: Aspire la vie de votre cible.
            cast-item: 283
            cooldown: 5
            range: 15
            damage: 2
            heal: 2
            animation-speed: 2
            obey-los: true
            target-players: true
            check-plugins: true
            cost:
                - mana 20
    #        str-cost: 2 redstone dust
            str-cost: Ce sort coute 20 de Mana.
            str-cast-self: Vous aspirez la vie de votre ennemi.
            str-no-target: Aucune cible de trouvee.
        entomb:
            name: entomb
            description: Enferme votre ennemi dans du verre pendant 20 secondes.
            cast-item: 280
            cooldown: 5
            range: 15
            obey-los: true
            target-players: true
            tomb-block-type: 20
            tomb-duration: 20
            cost:
                - mana 20
    #        str-cost: 3 redstone dust and 1 glass
            str-cost: Ce sort coute 20 de Mana.
            str-no-target: No target found.
        explode:
            name: explode
            description: Cree une explosion.
            cast-item: 283
            cooldown: 30
            range: 25
            explosion-size: 4
            backfire-chance: 3
            check-plugins: true
            cost:
                - mana 10
    #        str-cost: 5 redstone dust and 1 gunpowder
            str-cost: Ce sort coute 10 de Mana.
            str-no-target: Vous ne pouvez pas faire exploser cet endroit.
            str-cast-self: Boom !
            str-cast-others: Boom !
        fireball:
            name: fireball
            description: Projette une boule de feu.
            cast-item: 283
            cooldown: 15
            range: 30
            require-entity-target: false
            obey-los: true
            target-players: true
            check-plugins: true
            additional-damage: 2
            no-fire: false
            cost:
                - mana 10
    #        str-cost: 3 redstone dust and 2 coal
            str-cost: Ce sort coute 10 de Mana.
            str-no-target: Vous ne pouvez pas envoyer de boule de feu la bas.
            str-cast-self: Vous incantez une boule de feu !
            str-cast-others: "%a incante une terrible boule de feu !"
        firenova:
            name: firenova
            description: Invoque un cercle de feu autour de vous.
            cast-item: 283
            cooldown: 10
            range: 10
            tick-speed: 25
            check-plugins: true
            cost:
                - mana 50
    #        str-cost: 2 redstone dust and 1 coal
            str-cost: Ce sort coute 50 de Mana.
            str-cast-self: Vous incantez un cercle de feu.
            str-cast-others: "%a incante un cercle de feu."
        flamewalk:
            name: flamewalk
            description: Brule les ennemis aux alentours.
            cast-item: 317
            cooldown: 30
            range: 8
            fire-ticks: 100
            tick-interval: 100
            target-players: true
            duration: 120
            cost:
                - mana 10
            use-cost:
                - mana: 5
            use-cost-interval: 15
    #        str-cost: 5 redstone, 2 coal, plus 1 redstone occasionally
            str-cost: Ce sort coute 10 de Mana, puis de temps de temps 5 de Mana.
            str-cast-self: Vous commencez a bruler les ennemis aux alentours.
            str-fade: Vous arretez de bruler les ennemis aux alentours.
        forcepush:
            name: forcepush
            description: Projette vos ennemis en arriere.
            cast-item: 280
            cooldown: 8
            range: 10
            pushback-force: 30
            additional-vertical-force: 15
            max-vertical-force: 20
            target-players: true
            cost:
                - mana 5
    #        str-cost: 3 redstone dust
            str-cost: Ce sort coute 5 de Mana.
            str-cast-self: Vous soufflez vos ennemis !
            str-cast-others: "%a souffle ses ennemis."
        frostwalk:
            name: frostwalk
            description: Lets you walk on water.
            cast-item: 317
            size: 4
            leave-frozen: false
            cooldown: 30
            cost:
                - mana 10
            use-cost:
                - mana 5
            use-cost-interval: 50
    #        str-cost: 6 redstone, plus 1 redstone every 50 blocks
            str-cost: Ce sort coute 10 de Mana, puis de temps en temps 5 de Mana.
            str-cast-self: Vous pouvez marcher sur l'eau !
            str-cast-others: "%a peut desormais marcher sur l'eau !"
            str-fade: Vous ne pouvez plus marcher sur l'eau.
        gate:
            name: gate
            description: Teleport to spawn.
            can-cast-with-item: false
            world: CURRENT
            coordinates: SPAWN
            use-spell-effect: true
            cost:
                - 331 1
                - 265 1
            str-cost: 1 redstone dust and 1 iron bar
            str-cast-self: Vous vous etes teleporte au point de depart.
            str-cast-others: "%a s'est teleporte au point de depart !"
            str-gate-failed: Impossible de se teleporter.
        geyser:
            name: geyser
            description: Cree un geyser aux pieds de vos ennemis.
            cast-item: 283
            range: 20
            damage: 1
            velocity: 10
            animation-speed: 2
            geyser-height: 4
            obey-los: true
            target-players: true
            check-plugins: true
            cost:
                - mana 5
    #        str-cost: 2 redstone dust
            str-cost: Ce sort coute 5 de Mana.
            str-cast-self: Vous creez un geyser aux pieds de vos ennemis.
            str-no-target: Aucune cible de trouvee.
        gills:
            name: gills
            description: Vous permet de respirer sous l'eau.
            cast-item: 294
            glass-head-effect: true
            cooldown: 60
            duration: 300
            num-uses: 5
            cost:
                - mana 5
            use-cost:
                - mana 1
            use-cost-interval: 1
            str-cost: Ce sort coute 5 de Mana puis de temps en temps 1 de Mana.
    #        str-cost: 3 redstone dust, plus 1 every few seconds
            str-cast-self: Des branchies vous poussent sur le cou !
            str-fade: Vos branchies disparaissent.
        heal:
            name: heal
            description: Soigne une cible.
            cast-item: 280
            heal-amount: 10
            obey-los: true
            cooldown: 0
            range: 12
            cost:
                - mana 50
    #        str-cost: 2 redstone dust
            str-cost: Ce sort coute 50 de Mana.
            str-cast-self: Vous avez soigne %t.
            str-cast-target: "%a vous a soigne."
            str-no-target: Aucune cible a soigner.
            str-max-health: "%t est deja plein de vie !"
        invulnerability:
            name: invulnerability
            description: Vous rend invulnerable pendant un certain moment.
            cast-item: 280
            damage-causes:
                - block explosion
                - contact
                - drowning
                - entity attack
                - entity explosion
                - fall
                - fire
                - fire tick
                - lava
                - lightning
                - suffocation
            duration: 60
            cost:
                - mana 10
            use-cost:
                - mana 2
            use-cost-interval: 5
            str-cost: Ce sort coute 10 de Mana, plus 2 de Mana de temps en temps.
    #        str-cost: 5 redstone dust, plus 1 occasionally
            str-cast-self: Votre peau devient plus dure.
            str-cast-others: "La peau de %a devient plus resistante."
            str-fade: Votre peau s'affine.
        leap:
            name: leap
            description: Sautez en avant.
            cast-item: 280
            forward-velocity: 40
            upward-velocity: 15
            cancel-damage: true
            cooldown: 10
            cost:
                - mana: 10
            str-cost: Ce sort coute 10 de Mana.
    #        str-cost: 2 redstone dust
            str-cast-self: Vous sautez en avant.
            str-cast-others: "%a saute en avant."
        lifewalk:
            name: lifewalk
            description: La vie pousse sous vos pieds !
            cast-item: 317
            tick-interval: 15
            red-flower-chance: 15
            yellow-flower-chance: 15
            sapling-chance: 5
            tallgrass-chance: 25
            fern-chance: 15
            cost:
                - mana 3
            use-cost:
                - mana 1
            use-cost-interval: 20
            str-cost: Ce sort coute 3 de Mana puis occasionnellement 1 de Mana.
    #        str-cost: 2 redstone and 1 rose, plus 1 redstone every few seconds
            str-cast-self: La vie pousse sous vos pieds !
            str-cast-others: La vie pousse sous les pieds de %a !!
            str-fade: La vie ne pousse plus sous vos pieds.
        lightning:
            name: lightning
            description: Appelle la foudre.
            cast-item: 283
            cooldown: 15
            range: 20
            no-damage: false
            require-entity-target: false
            obey-los: true
            target-players: false
            check-plugins: true
            cost:
                - mana 10
    #        str-cost: 2 redstone dust
            str-cost: Ce sort coute 10 de Mana.
            str-cast-self: Vous appelez la foudre.
            str-cast-others: "%a appelle la foudre."
            str-no-target: Incapable de trouver une cible.
        lightwalk:
            name: lightwalk
            description: Eclaire votre voie.
            cast-item: 317
            cost:
                - mana 10
            use-cost:
                - 331 3
            use-cost-interval: 25
            str-cost: Ce sort coute 10 de Mana puis de temps en temps 3 de Mana.
    #        str-cost: 3 redstone and 3 torches, plus 1 redstone occasionally
            str-cast-self: La lumiere vous eclaire.
            str-fade: La lumiere disparait.
        mark:
            name: mark
            description: Marque votre emplacement pour un futur sortilege.
            cooldown: 43200
            permanent-marks: true
            cost:
                - mana 100
    #        str-cost: 5 redstone dust and 5 iron bars
            str-cost: Ce sort coute 100 de Mana.
            str-cast-self: Vous avez marque votre emplacement.
        minion:
            name: minion
            description: Invoque un mort-vivant pour vous aider.
            cast-item: 280
            cooldown: 60
            duration: 60
            mob-chances:
                - Zombie 75
                - Skeleton 25
            prevent-sun-burn: true
            target-players: false
            cost:
                - mana 25
            str-cost: Ce sort coute 25 de Mana.
    #        str-cost: 2 redstone dust and 1 bone
            str-cast-self: Vous invoquez un mort-vivant pour vous epauler.
            str-cast-others: "%a a incante un mort-vivant pour l'epauler."
            str-fade: Votre mort-vivant disparait.
        pain:
            name: pain
            description: Blesse l'ennemi au prix d'un sacrifice.
            cast-item: 283
            cooldown: 5
            damage: 3
            range: 15
            obey-los: true
            target-players: false
            check-plugins: true
            cost:
                - mana 10
                - health 1
            str-cost: Ce sort coute 10 de Mana et vous sacrifie une partie de votre vie.
    #        str-cost: 1 redstone dust and a half heart
            str-no-target: Pas de cible trouvee.
        prayer:
            name: prayer
            description: Vous soigne cinq coeurs.
            cast-item: 38
            cooldown: 15
            amount-healed: 10
            cost:
                - mana 70
            str-cost: Ce sort coute 70 de Mana.
    #        str-cost: 1 redstone dust
            str-cast-self: Vous vous etes soigne.
            str-at-full-health: Vous n'etes pas blesse !.
        purge:
            name: purge
            description: Tue tous les monstres et animaux autour de vous.
            cast-item: 283
            cooldown: 60
            range: 15
            cost:
                - mana 15
    #        str-cost: 3 redstone dust
            str-cost: Ce sort coute 15 de Mana.
            str-cast-self: Vous detruisez la vie autour de vous.
            str-cast-others: "%a detruit toute la vie autour de lui."
        recall:
            name: recall
            description: Vous teleporte a l'emplacement que vous avez marque.
            cooldown: 300
            max-range: -1
            allow-cross-world: true
            cost:
                - mana 100
    #        str-cost: 1 redstone dust and 1 iron bar
            str-cost: Ce sort coute 100 de Mana.
            str-cast-self: Vous teleporte a l'emplacement prealablement marque.
            str-no-mark: Vous n'avez pas d'emplacement lie.
            str-other-world: Vous ne pouvez pas voyager entre les mondes.
            str-too-far: Votre emplacement est trop loin, vous vous tueriez.
            str-cast-others: "%a s'est volatilise !"
        safefall:
            name: safefall
            description: Allege votre chute.
            cast-item: 294
            cooldown: 60
            duration: 300
            num-uses: 5
            cost:
                - mana 5
            use-cost:
                - mana 3
            use-cost-interval: 1
            str-cost: Ce sort coute 5 de Mana puis 3 de Mana de temps en temps.
    #        str-cost: 2 redstone dust, plus 1 feather each time you fall
            str-cast-self: Vous vous sentez plus leger.
            str-fade: Vous retrouvez votre poids...
        scroll:
            name: scroll
            description: Cree un parchemin de sort utilisable.
            cast-for-free: true
            default-uses: 5
            max-uses: 10
            item-id: 339
            right-click-cast: true
            left-click-cast: true
            ignore-cast-perm: true
            set-unstackable: true
            charge-reagents-for-spell-per-charge: false
            str-scroll-over: "Ce parchemin contient le sort : %s (%u utilisations restantes)"
            str-usage: |
                Vous devez tenir un parchemin vierge (papier)
                et ecrire /cast scroll <sort> <nombre d'utilisations>.
            str-fail: Vous ne pouvez pas creer de parchemin maintenant.
            str-no-spell: Vous ne connaissez pas ce sort.
            str-cast-self: Vous avez ecrit un parchemin contenant le sort %s !.
            str-on-use: "Parchemin de sort : %s utilise. %u utilisations restantes."
        stealth:
            name: stealth
            description: Devenez invisible aux yeux des monstres.
            cast-item: 280
            cooldown: 60
            duration: 20
            cost:
                - mana 25
    #        str-cost: 3 redstone dust
            str-cost: Ce sort coute 25 de Mana
            str-cast-self: Vous devenez invisible aux yeux des monstres.
            str-fade: Vous n'etes plus invisible aux yeux des monstres.
        stonevision:
            name: stonevision
            description: Voyez a travers la pierre.
            cast-item: 317
            range: 5
            transparent-type: 1
            cooldown: 60
            duration: 30
            cost:
                - mana 30
    #        str-cost: 4 redstone dust, 2 stone and 2 glass
            str-cost: Ce sort coute 30 de Mana.
            str-cast-self: Vous voyez a travers la pierre !
            str-fade: Vous ne pouvez plus voir a travers la pierre.
        summon:
            name: summon
            description: Invoque une personne a votre position, necessite au moins 3 sorciers.
            channel-time: 30
            req-participants: 3
            req-percent: 35
            max-distance: 10
            require-exact-name: false
            require-acceptance: true
            max-accept-delay: 90
            accept-command: accepter
            str-usage: |
                Utilisation : /cast summon <pseudo>, ou /cast summon
                en regardant un panneau avec le nom du joueur ecrit sur la premiere ligne.
            str-no-target: Cible non trouvee.
            str-too-far-away: Vous etes trop eloigne du cercle d'invocation.
            str-start-channel: Vous commencez l'incantation.
            str-moved: Vous avez arrete d'incanter.
            str-spell-success: Vous avez invoque %k avec succes.
            str-summon-pending: Un groupe de sorcier vous a invoque ! Entrez /accepter pour vous teleporter.
            str-summon-accepted: Vous avez ete invoque.
            str-summon-expired: L'incantation a expire.
        sun:
            name: sun
            description: Appelle le soleil, necessite au moins deux sorciers.
            channel-time: 30
            req-participants: 2
            req-percent: 35
            max-distance: 20
            time-to-set: 0
            str-too-far-away: Vous etes trop eloigne du cercle de rituel.
            str-start-channel: Vous commencez a incanter le soleil.
            str-moved: Vous avez stoppe l'incantation.
            str-spell-success: Vous avez appele le soleil avec succes.
            str-announce: Le soleil est soudainement apparu dans le ciel !
        telekinesis:
            name: telekinesis
            description: Manipule les boutons et les leviers a distance.
            cast-item: 280
            cooldown: 1
            range: 20
            cost:
                - mana 2
    #        str-cost: 1 redstone dust
            str-cost: Ce sort coute 2 de Mana.
            str-no-target: Vous devez cibler un bouton ou un levier.
        tome:
            name: tome
            enabled: true
            description: Cree un grimoire pour enseigner un sort.
            cancel-read-on-learn: true
            allow-overwrite: false
            max-uses: -1
            default-uses: -1
            str-usage: "Utilisation : En tenant un livre, /cast tome <sort>"
            str-no-spell: Vous ne connaissez pas ce sort.
            str-no-book: Vous devez tenir un livre !.
            str-already-has-spell: Ce grimoire contient deja un sort.
            str-already-known: Vous connaissez deja le sort %s.
            str-cant-learn: Ce grimoire est indechiffrable.
            str-learned: Vous avez appris le sortilege %s !
            str-cast-self: Vous creez un grimoire.
        volley:
            name: volley
            description: Envoie une vollee de fleche a l'endroit cible.
            cast-item: 283
            cooldown: 45
            range: 30
            arrows: 15
            speed: 20
            spread: 150
            cost:
                - mana 30
    #        str-cost: 3 redstone dust and 2 arrows
            str-cost: Ce sort coute 30 de Mana.
            str-cast-self: Vous envoyez une vollee de fleches magiques.
            str-cast-others: "%a envoie une vollee magique."
            str-no-target: Aucune cible trouvee.
        wall:
            name: wall
            description: Cree temporairement un mur pour bloquer vos ennemis.
            cast-item: 280
            cooldown: 15
            range: 3
            wall-width: 7
            wall-height: 4
            wall-type: 45
            wall-duration: 15
            cost:
                - mana 15
    #        str-cost: 2 redstone dust and 2 stone
            str-cost: Ce sort coute 15 de Mana.
            str-no-target: Incapable de creer un mur.
        windwalk:
            name: windwalk
            description: Vous permet de marcher dans les airs.
            cast-item: 317
            cooldown: 30
            cancel-on-logout: true
            cancel-on-teleport: true
            size: 4
            cost:
                - mana 20
            use-cost:
                - mana 1
            use-cost-interval: 50
    #        str-cost: 5 redstone, 5 feathers, plus 1 feather every 50 blocks
            str-cost: Ce sort coute 20 de Mana, puis 20 de Mana de temps en temps.
            str-cast-self: Vous marchez dans les airs !
            str-cast-others: "%a marche dans les airs !"
            str-fade: Ne marche plus dans les airs.
        zap:
            name: zap
            description: Detruit instantanement un bloc.
            cast-item: 294
            cooldown: 0
            disallowed-blocks: 0,7
            range: 15
            cost:
                - mana 5
    #        str-cost: 1 redstone dust
            str-cost: Ce sort coute 5 de Mana.
            str-cast-self: Vous detruisez un bloc.
            str-cant-zap: Vous ne pouvez detruire ça.
     
  10. Offline

    alasminara

    I Know i understand that part of the plugin but for some reason none of my Op's know any spells so they can not teach them to any one.
    I have installed it a cuple times. In the spellBook Folder of the plugin are there sapost to be spells in it. Cuz if so there are none and is there a way to download the spells only if there is.
     
  11. Offline

    nisovin

    You have a special character in your str-cant-zap option. You either need to not use that character, or you should convert the config file to UTF-8 encoding. You also have some extra colons in flamewalk and leap.

    But are your ops really ops (in the ops.txt file) or are they just admins defined by your permissions? If they're just admins, you need to give them magicspells.grant.*. If you're still having problems, set the debug option to true and let me know what shows up in the console when they log in.

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

    Mouscat5

    I get this error upon opening my server, debug says that I (as an op) have been granted all spells but cant use any. Do you have any advice?
    Code:
    2011-08-08 18:28:16 [SEVERE] Error occurred while enabling MagicSpells v1.0.1 (Is it up to date?): org/bukkit/permissions/PermissionDefault
    java.lang.NoClassDefFoundError: org/bukkit/permissions/PermissionDefault
        at com.nisovin.MagicSpells.MagicSpells.load(MagicSpells.java:278)
        at com.nisovin.MagicSpells.MagicSpells.onEnable(MagicSpells.java:86)
        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:126)
        at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:857)
        at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:264)
        at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:151)
        at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:136)
        at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:284)
        at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:271)
        at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:148)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:335)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    Caused by: java.lang.ClassNotFoundException: org.bukkit.permissions.PermissionDefault
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:36)
        at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:24)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        ... 12 more
     
  13. Offline

    alasminara

    This is the same error I get aswell.
     
  14. Offline

    nisovin

    Looks like you guys don't have CraftBukkit build 1000.
     
  15. Offline

    Mouscat5

    So I just need a newer vershun of bukkit?
     
  16. Here is a bundle of three custom spells, updated for version1.0.2. It includes:
    -Dash - causes you to move forward quickly in a straight line. If you turn your head to far it will turn off.
    -SandFall - Spawns a 3X3X3 block of sand over target to suffocate them
    -Zeus's Wrath - hits all nearby living creatures with lightning.

    double post.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Jul 16, 2016
  17. HELP: I'm admin (and host) of my server, and I downloaded the later version of magicspells today, to get some more nice spells. And I don't have any spells! I don't know any (I'm operator) so no one on my server has any spells, and no way of getting them either!
     
  18. Offline

    nisovin

    Yes.
    If you're an op you should get all spells, unless you turned that off in the config. You can always try to teach yourself the spells from the console. You can also turn on the debug feature to see what is happening when you log in.
     
  19. Offline

    ryanjjjj

    i looked more into it and due to the bookworm interference tomes are not counted as books... so the stock is always unavailable. i have set up my shop in a way where my users ask an admin for a spell and pay them but it requires more monitoring so its a real pain. but it works like that for now, perhaps you could add an option at will requir a user to pay a certain amount to access a spellbook shelf, effectivly fixing the problem of purchace? just a sudgestion. as well as another idea of including a way to enchant and sell armor. i dont know if that would be possible with somthing like spout but thought i might include some input. :p other then that great plugin my users are content.
     
  20. Offline

    nisovin

    Tomes are just books with data values. So if you can specify data values with your store plugin, it should be possible. Otherwise, maybe look for a store plugin that allows it?
     
  21. Are scrolls the same way? I'm looking to make a plugin that stocks dungeon chests with random scrolls.
     
  22. Offline

    nisovin

    Yes, scrolls are the same way. You can see the scrolls by opening the scrolls.txt file.
     
  23. Offline

    Zorca99

    Hrm.. got this mod today, made a little platformer(think Mario with the floor is lava). At the end I put Leap as a reward. Fun mod!

    My problem is unrelated - in the config I set ops getting all spells to false. I don't use permissions, yet the ops still are getting to use all spells - I tried erasing all the spells in the OP player in question's .txt file manually, then reloading server, but it just readded them.
     
  24. Offline

    Agmanotis

    How would one add these spells to the plugin?
     
  25. add each .class file to /plugins/magicspells/
    then add the spells to your config.yml file (I've included what to paste into your config in the download)
     
  26. Offline

    Agmanotis

    Ah, thanks for the help! Is there a duration for SandFall? Similar to how the Wall and Entomb spell effects disappear after an amount of time has passed. It won't do for users to suddenly bury the entire server under sand heh heh. Also, it would be great if we can configure the size of sandfall.
     
  27. When teaching myself through the console, it says: 'Unknown Spell'
     
  28. Offline

    nisovin

    Please put your config file in pastebin.com and give me the link.
     
  29. Offline

    cnaude

    This is seriously an awesome plugin. Good job!
     
  30. Offline

    laserlemons

    Is there a way to make this only work on 1 of the 4 worlds on my server, is there any way to do that without having to negate every permission in all but 1 world?
     
  31. Offline

    bradgillap

    I just had a great idea. My players can find a scroll and then cast it to playback one of the spout music plugin commands to play audio back to the player expanding my servers story. Actually we can use book cases so they can always playback that audio file. We might just use it for immersion. Find treasure in a ship /cast spellbook pirateship and then a dead pirates words stream to their client "yar we tried to move the ship after building it but the damn thing is stuck to the sea floor. We may all die here."

    Am I understanding usage correctly?
     

Share This Page