Magic

Server Compatibility
Please make sure you download the correct version for your server:
- 1.20.5 and Up => Latest Build
- 1.9 => Magic-10.9.8 (or latest Magic-Legacy build)
-
1.8.8: => Magic-5.5.6
-
1.8.3: => Magic-5.3.3
-
1.7.x => Magic-CB1.x
-
Earlier: => Check Compatibility in Files Section
Need Help? First Try:
-
Check the FAQ
-
Read the rest of the wiki
-
Check the reference manual for configuration options
-
Check the config info page for spell, wand and other info
-
Find examples in the builtin configs
-
Check your logs for errors
If you can't find what you're looking for, come join us on Discord for help or ideas!
Found a bug? Have a Feature Request?
- Use our issue tracker
Overview
Live Demo
Tutorial Videos
More Information
Please see the Magic home page on github for up-to-date information!
Metrics Collection
This plugin uses bstats for metrics collection. The information sent to bstats.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

-
View User Profile
-
Send Message
Posted May 14, 2014@KnightcraftRPGServer
Use the "restricted" list- add something like this to materials.yml:
I'd love to know what you feel needs to be added to that list. I'm hoping to make Magic viable on an economy-based server, even with all the crazy construction magic.
This will restrict usage of these materials by non-OP-wands in any way. This includes schematics, copy, clone, replicate, Repair, etc.
Additionally, only some very common materials will be given naturally to wands:
https://github.com/elBukkit/MagicPlugin/blob/master/src/main/resources/defaults/wands.defaults.yml#L369
Again, let me know if you feel like any of those are too valuable to be naturally obtainable on an enchanting table.
The Absorb spell, copy, replicate and clone brushes are no longer naturally available, even though they adhere to the restricted material list.
-
View User Profile
-
Send Message
Posted May 14, 2014@Silversbane
Well that's good news!
And yeah some of those are not right- they have to match the (sometimes odd) Bukkit enum names, underscores and all (though it's not case-sensitive)
https://raw.githubusercontent.com/Bukkit/Bukkit/master/src/main/java/org/bukkit/Material.java
So NETHER_WARTS, SLIME_BALL and SNOW_BALL.
However, nether_warts may suffer from the same issue as sulphur, sugar and pumpkin seeds:
http://jira.elmakers.com/browse/MAGIC-78
(er, note, maybe it's nether_stalk that will have the issue... I forget the difference between the two)
I've slated this for 3.2, which I hope to release soonish, and I'll try and get this fix into a dev build ASAP. It feels like one of those things that's probably a one-line code fix, but I just need to get in and figure it out.
I suppose in the meantime if you want, you can change any of the special icons in config.yml to ones you don't plan on using for reagents:
-
View User Profile
-
Send Message
Posted May 14, 2014Hi again. How can I disable materials? Ive had a look in the materials config and do not understand how.
-
View User Profile
-
Send Message
Posted May 14, 2014@NathanWolf
Okay so now with the newest version it works for both worldguard and magic working together. So we are back to the reagents list: Here are a few that don't work at all:
SLIMEBALL shows as air
NETHER_WART shows as air
SNOWBALL shows as air
Am I just using the wrong names ? even when having the item it still says I have no air and won't let me cast.
-
View User Profile
-
Send Message
Posted May 14, 2014I updated magic to newest available on this page 3.1.1 and worldguard is running at 5.9 where do I get the 5.9.1 snapshot? Want to jump on my server to check out the reagents system and this broken worldguard? Let me know
-
View User Profile
-
Send Message
Posted May 14, 2014@mewen25
Ah, yes. This is an internal Bukkit issue, it also affects lots of other plugins interacting with wands.
Please go vote for this issue if you'd like to see it fixed for real!
https://bukkit.atlassian.net/browse/BUKKIT-3221
I've submitted a PR to the Bukkit Dev team that will provide an API so I (and other devs) can make custom items that will be respected as real items.
-
View User Profile
-
Send Message
Posted May 14, 2014Don't Worry i fixed it If anyone has this problem its because your in creative
-
View User Profile
-
Send Message
Posted May 14, 2014Really good!. Just On my Server Whenever you go into your inventory the wand loses its enchant effect and can't cast spells :( if you could help that would be great :D
-
View User Profile
-
Send Message
Posted May 14, 2014@Silversbane
Well it does play nice, is the odd thing. I'm trying to figure out what could be different about your setup.
I am specifically using this version: v5.9.1-SNAPSHOT:1296-4422d53,master
I've always used WG, it's the first plugin I ever integrated with.
What I meant by "Do you have some worlds that are unmanaged?" - does WorldGuard have a per-world configuration? Is it possible to have it completely ignore a specific world, in which case maybe I don't get a region manager for that world?
The latest dev build has some safeguards for this problem and should not throw NPEs anymore, but without knowing the root cause I fear I'm potentially skipping permission checks in some weird case where I should be doing them.
-
View User Profile
-
Send Message
Posted May 14, 2014@KnightcraftRPGServer
You can use the "duration" parameter on Fly and Levitate.
There is no way to make spells only visible to certain players, unfortunately. If you want a spell gone, you have to disable it completely (remove it for everyone).
The wand's inventory is also the wand's ... well, inventory. If an item is not there, the wand doesn't have that spell anymore. So I can't just hide them.
I'll try and think of a way to fix this, but I really don't want some newbie holding an awesome wand to make the wand get all jacked up.
-
View User Profile
-
Send Message
Posted May 14, 2014@NathanWolf
I am using WorldGuard 5.9 Do you have some worlds that are unmanaged? Not sure what you mean by that question. I know I don't have any regions in that world and almost all my flags for Worldguard are turned off by default.
Let me know what I can do to get your plugin to play nice with WorldGuard. Thanks
-
View User Profile
-
Send Message
Posted May 14, 2014Is there a way for spells that players can't use to be hidden please? Also How can I limit the flying spells to a certain time limit?
-
View User Profile
-
Send Message
Posted May 14, 2014@Silversbane
This looks like a problem with spells that are doing PVP checks, but I'm not sure what's up. You're using WorldGuard? The specific error is in interacting with the WG API, it seems:
That second line is generating the error, meaning I'm getting a null regionManager back from WG- something I don't expect. Do you have some worlds that are unmanaged? Is that even possible?
I'll have to fix the reagents to go through a different naming call, that should be easy. Otherwise sugar, sulphur, sugar, nether wart and pumpkin seeds will all be renamed to their corresponding brushes (erase, copy, clone and replicate).
-
View User Profile
-
Send Message
Posted May 14, 2014Having trouble with certain spells. See below for the log of why. Let me know what I can do to fix this. Also I finished the first iteration of giving all spells a list of reagents and using Rebalance villagers to buy and sell those reagents. Once I get some more testing I will send it your way.
Spells that do not work that I have tested: BOOM - not working Front - not working Sandblast - not working Fireball - not working Shrink - not working
Error:
Then a problem with reagents: NETHER_WART - not working SULPHUR - not named correctly is calling it erase
-
View User Profile
-
Send Message
Posted May 14, 2014@HannahEliz92
Well Cure is supposed to do 10% health, Heal is full health- Cure also removes negative potion effects, and Heal feeds you. So they are a bit different.
But you also need to update to the latest Magic dev build for them to work at all.. otherwise they're both the same old Heal spell.
This is the most complete spell customization reference I have: https://github.com/elBukkit/MagicPlugin/blob/master/SPELLS.md
There are links in the "legend" to the enums that make up all the values. You want "effect" for the Bukkit effects - "particle" is my own enum since there's no built-in API for that. That doc should spell it all out pretty nicely.
One great trick for testing the particle effects, use "/wand configure effect_particle <tab>". It will show all the options and let you preview them live in game (the wand uses a RingEffect) on a timer).
The TrailEffect works two ways, depending on the spell that's cast with it:
1. It makes a trail from the source to the target. This is the most common case as nearly all spells in Magic are targeting spells. In this case, "length" is ignored, determined by the length of the line segment between the two points. (Mathematical!). You can still tweak the other properties like "iterations" (how many times to play an effect between the two points).
2. It makes a trail from the source that is "length" blocks long. This is used for spells that don't specifically target, like Grenade, Arrow, Push.
I'd really like to integrate with EffectLib, and I plan to eventually. My original intention was to keep adding new effect player types, but I think I'm good with the two defaults if I can tie into EffectLib to add 30 more if you're willing to download it.
Unfortunately EffectLib isn't Mavenized so I can't do that yet without making Magic difficult for other devs to build... working on it!.
Anyway, what I think you really want is just a better effect trail? I'll see if I can make it fuller or something, but... yah when I see EffectLib's Helix and other trail types, it makes me just wanna give up and use that XD
Oh, and, right, lastly- yes, I do! I'd like for the Boon spell to work that way eventually. My plan is to adjust the PotionEffectSpell in two ways:
The second part is nearly ready, I did the gruntwork to make the wand regen buffs use potioneffects... as it turns out, not sure that's going to work out (health regen is nuts), but it does mean I have a good system for repeatedly renewing a short-lived potion effect now :)
-
View User Profile
-
Send Message
Posted May 14, 2014Also are there ways of making particle spells... proper particle spells! Say I want to use reddust particle effect for a beam like spell and 'Legnth' doesn't increase its length how could I go about extending the particle effect since the effect plays but doesn't go much further than a few blocks :/
Also on your SPELLS CUSTOMIZATION you have a link to particle effects yet it only has sound effects and most of the default minecraft particle effect names aren't working with effect trail.
And lastly are there any plans for passive spells? Spells that take up a small ammount of mana regen/upkeep for a buff but you toggle it on and off instead of casting it after effects run out.
Thanks! Hannah
-
View User Profile
-
Send Message
Posted May 14, 2014So I have tried testing out Cure and Heal, what does 'worth' do? So Cure still fully heals no mater what I put into Ammount or Percentage and Heal does nothing :S
-
View User Profile
-
Send Message
Posted May 13, 2014With a lot of help from @Xikage (this required some code changes in both of our plugins to really make work well), I've been working up some cool MythicMobs integration for my Survival server:
As always, I'm sharing the live versions of all of my configs if you want to play with it. You'll need a very recent dev build of Magic, and ... well I think you may need a dev build of MythicMobs, too, so you may have to wait a little bit!
This uses MythicMobs's "cmd" skill to "/castp", so it's not a direct plugin integration (which is cool). The special thing, though- it's not just telling Magic "cast the spell here, target here" - it's telling Magic "cast the spell as Entity id 12345". So Magic knows which Entity is casting the spell, and treats that Entity like a full-blown Mage.
This means you can cast the new Counterspell on it to rollback its spell casts, you can Curse it to prevent from casting spells for a while. Each boss mob shows up independently on dynmap (yeah I need to time out the spell cast markers). Hunters will stalk them down with Player-level priority. It's pretty cool, so far I'm liking it and I think it adds a huge new element to my server.
-
View User Profile
-
Send Message
Posted May 13, 2014@NathanWolf
Thanks elMakers,
Decided to take a step back from magic for now, although I am going to venture away from web design and learn some Java. Maybe I can jump on the band wagon and chip in soon. I just got my MTA in software dev for .NET, so hopefully I'l pick it up quick
As for the IRC, pretty sure you need to have a dedicated machine. You can buy yourself a cheap linux VPS (I Can pm you about it and such) and just run it off there for about $5 a month and sometimes cheaper
-
View User Profile
-
Send Message
Posted May 13, 2014@HannahEliz92
(moved from PM:) So is there a way to get a spell that boosts health? I have tried effect_healthboost but that doesn't work and there are no examples of it in the default configs
I think "effect_health_boost" should work for increasing max health, though I haven't tried that myself. That's a fun idea, I should make Boon do that?
I moved this conversation from PM because it's had some really good questions in it :)
Hannah also motivated me to add the "Cure" spell, which brought with it several new options for making HealSpell variants:
Hannah also motivated me to add "Shields", which is kind of a placeholder spell. It's a simple auto-undo/target-self variant of Shell at the moment, but when 1.8 comes my plan is to make it use Barrier blocks (assuming this doesn't do anything weird).