Magic

Magic!

SurvivalSpellsAutomataWands

Overview

Magic is a plugin that adds powerful magic wands and items to your server. With over 100 spells (plus 100 more HP spells!), a variety of wand templates, and complete customization, you can use Magic to craft a unique experience for your server.

Spells in Magic revolve around unique wand items. Players do not "know" spells, they find, buy, or craft wands that do. Wands may be bound to a specific player (meaning no other player may use them), and a wand may be set to stay with the player if they die. In this way, the spells are somewhat bound to a player, but in Magic it is really all about the wands.

For Players

A wand is an item that can know one or more spells. While holding a wand, left-click to cast the active spell. Wands that have more than one spell will have a "wand inventory" that you can use to quick-change spells and manage any number of spells in a single wand. A wand is meant to be an item you keep for the rest of your experience, constantly adding to it and upgrading it.

You are welcome to come and play and try out the various aspects of wands and spells on any of the example Servers.

For more details, including how to use the various wand inventory modes, please see the Magic Web Site

There is also a list of all wands and spells on the website, with descriptions of each. Admins, see below for how to set up your own version of this website if you'd like.

For Developers

API MagicLibEffectLib

Magic has a simple but deep API if you'd like to integrate. You can cast spells, create wands, or even implement your own spells and effects to add into Magic. You can also build against or shade in MagicLib if you'd like to use any of Magic's core functionality in your plugin without requiring Magic as a dependency.

Magic also uses EffectLib (embedded, no download required) for particle effects- and you can, too! Check it out, it's pretty great.

For Admins

Plugin Demo Resource PackIntegrationCustomize

Development builds of this project can be acquired at the provided continuous integration server. These builds have not been approved by the BukkitDev staff. Use them at your own risk.

Build ServerJIRAScripting

Bugs, Features, Issues

Please use our issue tracker for all bug reports, issues, feature requests, spell ideas, etc. It is searchable, so you can see if your problem is already known, or maybe your idea already had :) Comments here are always appreciated, but might get lost. And please don't try to report bugs in-game.

Customization and the Defaults

Magic is completely customizable. Plugin behavior, available spells and wands, and all in-game text can be customized. Magic also comes with built-in "example" defaults which can be used - currently the "potter" config is the only one that's really fleshed out, but I plan on adding more over time. To see the HP config in action, simply add the following to config.yml:

default: potter

The default Magic experience entails:

  • Players have access to no Magic commands
  • Players may craft wands of various strengths (blaze rod and nether star being the "real" recipe)
  • Players may find wands in naturally-spawned chests (if using MagicWorlds)
  • Wands start out low-level, but can be upgraded with XP on an enchanting table
  • Wands can be combined on an anvil, bought in Essentials shops, included in Essentials kits, and sold by dtlTraders traders.
  • Wands can be used in other plugins such as ShopKeepers and StarterKit, if using a patched CB (or when 1.8 arrives)
  • Naming a wand on an anvil binds it to the player, and no other player may wield it.
  • Admins can set up quests or other rewards to upgrade or create wands.
  • Wands are indestructible. They will show up on dynmap (if installed) so players can find lost wands.
  • Each wand has an inventory of spells and materials that the player can use and manipulate.
  • Wands use a "mana" system for slowly-regenerating magic power.
  • All players have access to all spells, if they can find or create a wand that has them.

Any of the above may be disabled or modified. Some different options:

  • There are 3 different wand inventory modes to choose from: A chest inventory (the default), click-to-cycle, and a powerful hotbar-enabled inventory mode.
  • Permission-based wands, spells and commands (ranking, VIPs, etc)
  • Different wand types, crafting recipes, and enchanting paths
  • Players keep wands on death (all players, or per-wand)
  • Wands come pre-filled with all spells the player has permission to use
  • Reagents instead of mana
  • Other item types for wands (enchanted swords, etc - maybe Bows + enchanted arrows one day)

For all other information on customization or admin commands, please see the Admin Instructions page.

A Note on Permissions and Commands

Magic is primarily meant to be a vanilla add-on, and as such it tries to follow the overall themes of Minecraft: Discovery, crafting, and freedom. All spells and abilities in Magic revolve around wand items, and players are not limited or classified in any way.

Players in Vanilla Minecraft don't level up, other than for the purpose of leveling up (enchanting) their items, and such as it is with wands. A player that loses their wand is just a normal Steve again.

Magic has no commands that are meant for players to use. There is an in-game /spells list, but I don't recommend giving it out. Let players discover new spells naturally, and if they choose to, visit the Magic web site to view the complete list of available spells. Such as it is with Minecraft!

Of course, Magic aims to please by being as flexible as possible. You can also use alternative configurations, such as permissions-based casting, auto-filling wands, or other tweaks and tricks. This is especially useful for VIP wands, where you wouldn't want another player to be able to cast the VIP spells, even if they somehow got a VIP wand and could use it. Or if you'd really like to lock down the admin-oriented spells like Gather and Regenerate.

However, players may not cast spells without a wand. Wands are integral to Magic. You could try to work around this (e.g. bind PowerTools to /cast commands) but I urge you not to. The /cast command is meant for admin experimentation use, like if you're wanting to try out a variant of a spell in-game before adding it to your config. It can also be great in command blocks for creating special effects and scripted events.

However, the /cast command is not meant for players to use, and is potentially a destructive and powerful tool, even if limited to a subset of spells. Don't let players use it! Maybe mods or admins. Maybe!

If you don't like the wands in Magic, please let me know how I could make them better! Using this plugin without the wands is going to be a very limiting experience.

Additional Information

Metrics Collection

Magic Metrics

This plugin uses Hidendra's plugin metrics system. The information sent to mcstats.org is completely anonymous, publicly viewable, and includes the following metrics:

  • A unique identifier
  • The server's version of Java
  • Whether the server is in offline or online mode
  • The plugin's version
  • The server's version
  • The OS version/name and architecture
  • The core count for the CPU
  • The number of players online
  • The Metrics version

Opting out of this service can be done by editing plugins/Plugin Metrics/config.yml and changing opt-out to true, or by editing this plugin's config.yml and changing "metrics_level" to 0.

Changelog

Full changelog can be viewed on github

Sponsored!

You must login to post a comment. Don't have an account? Register to get one!

  • Avatar of NathanWolf NathanWolf Jul 30, 2014 at 16:55 UTC - 0 likes

    @zam99: Go

    Creative mode?

    BFAK:1034,0c13cf5d490f7c7bab438f2c4298c44509c85d916593cec4815c2ae51a52ecf6

  • Avatar of zam99 zam99 Jul 30, 2014 at 16:55 UTC - 0 likes

    hi @NathenWolf i have a problem so i spawn in a wand lets say the wizard wand i open my inventory and bam all my spells are gone from it plz help me

  • Avatar of NathanWolf NathanWolf Jul 30, 2014 at 13:17 UTC - 1 like

    @B3fuddled: Go

    Cool! I'll look into that- there's a "fill" flag on the Elder wand that's supposed to auto-fill it on creation, but maybe it gets lots when combined with the Survival Elder wand, which does *not* have that flag.

    The 58 spells you got sound like just the survival Elder wand, so I think that's what happened there.

    @Canibaz: Go

    I'd be curious to know which plugin you got working!

  • Avatar of B3fuddled B3fuddled Jul 30, 2014 at 05:21 UTC - 1 like

    @NathanWolf: Go

    Well. hmm.. ok, I wiped my test server and started over again anyway.

    The Elder wand gives me 58 spells and 9 materials.. mostly construction spells as you said (tho I wouldn't say ICBM is "constructive").

    The "/wand fill" worked and gave me all 235 spells, including the Potter spells.

    Thanks for that..

  • Avatar of NathanWolf NathanWolf Jul 30, 2014 at 00:49 UTC - 0 likes

    @B3fuddled: Go

    Hrm... that's kinda odd! That sort of sounds like you got the intersection of both configs, rather than the union... the Elder wand should have 40+ spells in either config.

    EDIT: This theory would be proven true if the 6-10 spells you got are "engineering" spells- like Wolf House, SuperBlob, etc... I've put those spells in the "potter" config (but semi-hidden) since they're useful for building.

    So that may be something I need to take a look at- to be honest the "add_example" thing is not a feature I test frequently :|

    I'll try it out when I get a chance and let you know!

    I'm glad you're liking Magic! I've attempted to make it super flexible so it can suit may server setups and admin desires, but that also means it's got a ton of features I can't necessarily always test..... :D

    EDIT2: Well it was bugging me, so I just tried it out real quick... it *seemed* to work .. though I guess I'm not sure what else you've got configured, or *maybe* it's something I broke and re-fixed recently.... maybe...

    this is the only customization I did, was to put this in config.yml:

    add_examples:
      - potter
    

    Which gave me this on startup:

    19:51:34 INFO]: [Magic] Loading config.yml
    [19:51:34 INFO]: [Magic] Wand enchanting is enabled
    [19:51:34 INFO]: [Magic] Wand crafting is enabled
    [19:51:34 INFO]: [Magic] Wand anvil combining is enabled
    [19:51:34 INFO]: [Magic] Wand anvil organizing is enabled
    [19:51:34 INFO]: [Magic] Loading messages.yml
    [19:51:34 INFO]: [Magic]  Added examples/potter/messages.yml
    [19:51:34 INFO]: [Magic] Loading materials.yml
    [19:51:34 INFO]: [Magic]  Added examples/potter/materials.yml
    [19:51:34 INFO]: [Magic] Loading spells.yml
    [19:51:34 INFO]: [Magic]  Added examples/potter/spells.yml
    [19:51:35 WARN]: [Magic] Unknown sound type breath
    [19:51:35 WARN]: [Magic] Error loading spell: com.elmakers.mine.bukkit.potterspells.spell.ImperioSpell
    [19:51:35 WARN]: [Magic] Magic: Error loading spell imperiomaxima
    [19:51:35 WARN]: [Magic] Error loading spell: com.elmakers.mine.bukkit.magicworlds.spell.PurgeSpell
    [19:51:35 WARN]: [Magic] Magic: Error loading spell purge
    [19:51:35 INFO]: [Magic] Loaded 240 spells
    [19:51:35 INFO]: [Magic] Loading enchanting.yml
    [19:51:35 INFO]: [Magic]  Added examples/potter/enchanting.yml
    [19:51:36 INFO]: [Magic] Loaded 15 enchanting paths
    [19:51:36 INFO]: [Magic] Loading wands.yml
    [19:51:36 INFO]: [Magic]  Added examples/potter/wands.yml
    [19:51:36 INFO]: [Magic] Loaded 121 wands
    [19:51:36 INFO]: [Magic] Loading crafting.yml
    [19:51:36 INFO]: [Magic] The embedded resource 'examples/potter/crafting.yml' cannot be found in plugins/Magic-3.5-SNAPSHOT.jar
    [19:51:36 INFO]: [Magic] Loaded 1 crafting recipes
    

    I'm going to try and clean up those warnings you pointed out, but the important bit there being the "Loaded 240 spells" .. and in-game I did /wand elder and got a wand with a ton of spells.

    And then a Hunter ate me.

    EDIT#3, And then I'm all done :D

    I forgot I removed all the spells from the Elder and, favoring the "fill" flag which maybe doesn't work in the combined configs... try "/wand fill" while holding a wand, and you ought to end up with something awesome like this:

    Uber Elder Wand

    Last edited Jul 30, 2014 by NathanWolf
  • Avatar of B3fuddled B3fuddled Jul 30, 2014 at 00:03 UTC - 1 like

    @NathanWolf: Go

    Yes.. sorry about that. I keep modifying my comments before you get to them.. I did mention I was a bit mind-addled this week. Plus I'm hopping onto my test server during "dead" times at work.

    All seems to work (love your plugin the more I work with it btw)... I got the elder wand with about 6-10 spells but none appear to be Potter spells. They only have mundane spell names.

    I'll play some more..

    Thanks

  • Avatar of NathanWolf NathanWolf Jul 29, 2014 at 23:08 UTC - 0 likes

    @PsychoFad: Go

    Just FYI, those Wolf House bugs will be fixed in the next version, thanks to you!

    https://github.com/elBukkit/MagicPlugin/commit/b155a1757de395500e814ff1205afbff0754a417 The enchanting room warp was a semi-funny typo... as funny as a typo in a schematic can be, anyway (kind of a pain to update).. if you look at the command block, it's "echanting" instead of "enchanting".

    In case you're curious how these work- the text in those command blocks is replaced by the spell when cast, if you look in spells.defaults.yml you'll see a long list of commands. This means I can change the commands without having to update the schematic... except in the case of a typo :)

    Thanks!

  • Avatar of NathanWolf NathanWolf Jul 29, 2014 at 21:21 UTC - 0 likes

    @B3fuddled: Go

    Haha, your comments are always different than how they appear in my emails XD

    So it appears that could use some cleaning up, however those should mostly be benign ..

    3:07:13 PM [WARNING] [Magic] Error loading spell: com.elmakers.mine.bukkit.potterspells.spell.ImperioSpell

    "Imperio Maxima" is a custom spell by another dev that resides in a separate plugin (PotterSpells) - to be honest it's hugely hacky (it's basically the ICU plugin wrapped in a spell) and i kind of recommend you avoid it. This will just fail silently if not present.

    The "Unknown effect type hurt" thing is a config issue... I'll track that down. "hurt" is an entity effect, so that's labelled wrong... but that's will just skip over whatever effect is trying to use that.

    And finally- the crafting.yml thing is just because there are no crafting recipes defined in the potter config- I'll add an empty yml file there so that warning won't happen.

    Otherwise- that looks ok- it *should* work! Did you get access to all the HP spells? Try /wand elder - you should get a wand with a mix of both spells.

  • Avatar of B3fuddled B3fuddled Jul 29, 2014 at 21:00 UTC - 0 likes

    @NathanWolf: Go

    Bother..My brain is addled these past few days:

    FYI: I'm getting these errors on server start, after adding the "potter" example lines in the config.yml:

    3:07:13 PM [WARNING] [Magic] Error loading spell: com.elmakers.mine.bukkit.potterspells.spell.ImperioSpell

    3:07:13 PM [WARNING] [Magic] Magic: Error loading spell imperiomaxima

    3:07:13 PM [WARNING] [Magic] Unknown effect type hurt

    and this:

    3:07:14 PM [INFO] [Magic] The embedded resource 'examples/potter/crafting.yml' cannot be found in plugins\Magic-3.4.jar

    T'anks!

    Last edited Jul 29, 2014 by B3fuddled
  • Avatar of Canibaz Canibaz Jul 29, 2014 at 17:06 UTC - 1 like

    @NathanWolf: Go

    I found how to make a Gui shop for Magic :)

Facts

Date created
Sep 18, 2011
Categories
Last update
Jul 21, 2014
Development stage
Release
Language
  • enUS
  • zhTW
License
GNU General Public License version 3 (GPLv3)
Curse link
Magic
Downloads
33,819
Recent files

Authors