Skip to content
vajus edited this page May 27, 2024 · 38 revisions

Magic!

Introduction Video

Note from the Author:

Hello, everyone! I have some not-great news, I am not sure when or if Magic is going to support 1.20.5

Development of this plugin has been slowed for a while now, basically reduced to maintenance and updates for new MC versions. I haven't had the time nor energy to do much else with it.

Unfortunately, 1.20.5 has several major internal changes, most particularly the treatment of NBT data, which has caused major issues for updating Magic. I've spent quite a few hours on it already but there's no real clean end or fix in sight.

So for now I am afraid I will have to say the plugin will not be updated.

This may change in the future, but I can't make any guarantees. If Magic does get updated, it will be via one of two methods:

  1. I patch up all the uses of NBT and let the plugin hobble forward full of band-aids.

  2. I re-work Magic internally to make a version that doesn't rely on MC internals, and only uses the Spigot API.

Approach #2 is one I've considered doing and even started work on several times in the past. It would be an ideal solution for me since it would make the plugin future-proof, no longer requiring updates for each new version of Spigot/Minecraft.

However, it is a lot of work and would come with several trade-offs. Probably many systems would not make the cut, such as custom mob AI and schematic loading.

Additionally, it's very unlikely that such a plugin would be backwards-compatible with existing Magic items. I would make sure that configs work and are forward-compatible (minus missing systems like mob AI), but the plugin would be unable to read NBT data saved by previous versions of the plugin. Meaning any server that wanted to move to this new version would basically have to reset all Magic items.

I know none of this is good news, but I'm hoping you understand where I am at and that I just don't have time to dedicate to the now-monumental task of keeping this plugin updated.

It's been a joy working for and with many of you over the years, and I hope you all continue to thrive, with or without Magic.

  • NathanWolf

Overview

Magic is a plugin that adds powerful magic wands and items to your server! Magic also offers a progression system, custom mobs, NPCs, crafting, image maps, and a host of other features.

READ THE FAQ BEFORE ASKING QUESTIONS


PLAYER INFO

This may not always be the case if the Server has customized the plugin. Please also refer/ask your server staff to clarify more on the plugin and how they are using it.

Using Magic

Most spellcasting in Magic is done using a magic wand item. 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.

Progression

Once you have a wand, you upgrade it by interacting with an enchanting table. For more information, see Progression.

Mechanics

Wand mechanics, progression, available wands and other features are all up to your server admins, so your experience may vary.

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

More Information

For more details, including how to use the various wand inventory modes, all crafting recipes, wands and spells on the website, with descriptions of each. Magic Web Site


DEVELOPER INFO

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.


ADMIN INFO

Plugin Demo Resource PackIntegrationCustomize

Build ServerJIRAScriptingAdmins

Additional Information

Version Compatibility

  • 1.9.1 and up: Latest Version
  • 1.9: Magic 6.0.4
  • 1.8.8 - 1.8.9: Magic 5.5.6
  • 1.8.1 - 1.8.8: Magic 5.3.3
  • 1.7.9 and older: Check DevBukkit

For further support

Downloads

Magic can be downloaded from a few different places, but it is all the same build. Magic will work on CraftBukkit or Spigot 1.7 or 1.8.

  • SpigotMC : Magic's home on SpigotMC
  • DevBukkit : Magic's home on devbukkit. Builds of Magic for older versions of Craftbukkit can be found here.
  • elMakers CI : Current dev builds of Magic can be found here. Use at your own risk! (I try to make sure it's stable)

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

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 that can be used.

The default Magic experience entails:

  • Players have access to no Magic commands
  • Players may craft wands and other magic items
  • Players earn Spell Points (SP) by using their spells
  • Players learn new spells by using SP at an enchanting table
  • A player will rank up once they've collected all spells at their current rank
  • Wands can be bought in Magic or Essentials shops and included in Essentials kits.
  • Wands are bound to the player, and no other player may wield it.
  • Players keep wands when they die
  • 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 progression paths
  • 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)

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.

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.

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

Thanks To

Magic is developed with JetBrains IntelliJ

Metrics Collection

This plugin uses bStats to collect anonymous server metrics, including the following:

  • 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/Magic/config.yml and changing "metrics_level" to 0.

Changelog

Full changelog can be viewed on here

Clone this wiki locally