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:

example: 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

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

  • Avatar of NathanWolf NathanWolf Mar 05, 2015 at 01:32 UTC - 0 likes

    Magic 4.3 Released

    Besides the NPC features and the spell upgrade GUI, there are a lot of good bugfixes in here, so I recommend you grab it!

    BFAK:1034,0c13cf5d490f7c7bab438f2c4298c44509c85d916593cec4815c2ae51a52ecf6

  • Avatar of NathanWolf NathanWolf Mar 03, 2015 at 13:35 UTC - 0 likes

    @LordBoos: Go

    Yes you can! I recently made it a fully-feature waypoint/exploration-unlock system. My survival server's configs are now up on github if you want to take a look how it's done ...

    Spell config - Recall works with existing warps, either from Essentials or Commandbook:

    https://github.com/elBukkit/MagicPlugin/blob/master/src/main/resources/examples/elworld/spells.yml#L85

    Note the "locked" parameters, this will make the warps hidden by default.

    And then I use WGRegionCommands to unlock waypoints as players enter regions:

    https://github.com/elBukkit/MagicPlugin/blob/master/src/main/resources/examples/elworld/regions.cmd

    (I've taken to saving my custom flags like this, because unfortunately they get lost if I accidentally start the server without Magic or WGCustomFlags)

    You can also use custom icons for the recall waypoints, I don't have an example of that in there since creating the icons is a good bit of work :)

    Last edited Mar 03, 2015 by NathanWolf
  • Avatar of LordBoos LordBoos Mar 03, 2015 at 12:26 UTC - 0 likes

    @NathanWolf: Go

    Nice! You can actually add locations to Recall? :O

  • Avatar of NathanWolf NathanWolf Mar 02, 2015 at 23:06 UTC - 0 likes

    Magic 4.3 - Magic NPCs

    Magic 4.3 is going to have an NPC trait for use with the Citizens plugin. This trait will let you set up NPCs that cast spells when a player right-clicks them. Great for healers, teleporters, or anything else you can imagine.

    I am also making some specific "spells" that aren't really meant to be spells, but rather used by NPCs - such as the "Spell Level Up Guide" spell, "upgrades". See this video for more info:

  • Avatar of LordBoos LordBoos Mar 02, 2015 at 22:26 UTC - 1 like

    @NathanWolf: Go

    I've just seen it in another plugin and I really liked it :D particles were spawning in circles one by one and it looked awesome (especially with lava and water drip, which "rained in spirals around the player). But even just lowering tick interval to make halo look more persistent would be great.

    Thank for your time. :)

  • Avatar of NathanWolf NathanWolf Mar 02, 2015 at 21:38 UTC - 0 likes

    @LordBoos: Go

    That'd be cool! :)

    I'll see what I can do- the 1/s thing I knew was going to be an issue ... but it's kind of tied to the wand "tick" which is generally 1/s. I've been thinking about increasing that anyway though so mana regen is smoother.

    The one by one thing I dunno about either ... I think if I was going to go that far, I might just make it so you can put an EffectLib effect on it and call it a day :D

  • Avatar of LordBoos LordBoos Mar 02, 2015 at 21:21 UTC - 0 likes

    @NathanWolf: Go

    Nice halo effect! But still can be improved in my opinion. I thought, that if you could set lesser interval than 1s and possibly if particles could spawn in circles one by one like every tick or two, it would look even better than now!

  • Avatar of NathanWolf NathanWolf Mar 02, 2015 at 16:23 UTC - 0 likes

    @Lightyblue9: Go

    Yes, there is, like here:

    https://github.com/elBukkit/MagicPlugin/blob/master/src/main/resources/defaults/wands.defaults.yml#L493

    If you start adding your own custom wands to wands.yml, you can make them start with whatever spells and levels you like.

    A "levelled up" spell has a name like "blink|2" - where that separator character is a pipe (shift+backslash, normally).

    You can also use "/mgive blink|2" to spawn a Level 2 Blink spell, or "/wandp @p add blink|2" to add it directly to a wand.

    Spells don't generally downgrade, so the above won't do anything for a wand that already has Blink Level 2 or above.

  • Avatar of Lightyblue9 Lightyblue9 Mar 02, 2015 at 16:16 UTC - 0 likes

    @NathanWolf thanks! Also is there a way to have different wands have different level spells? Like one wand have missile level 1 without level ups, and another level 2 without level ups?

  • Avatar of NathanWolf NathanWolf Mar 02, 2015 at 16:00 UTC - 0 likes

    @Lightyblue9: Go

    Oh, and if you don't want crafting I'd suggest adding "enable_crafting: false" to config.yml to turn it off- no security through obscurity :)

    You can also do "enable_enchanting: false" if you don't want them to be able to upgrade via an enchanting table.

Facts

Date created
Sep 18, 2011
Categories
Last update
Mar 05, 2015
Development stage
Release
Language
  • enUS
  • koKR
  • zhTW
License
GNU General Public License version 3 (GPLv3)
Curse link
Magic
Downloads
49,418
Recent files

Authors