I have some not-great news, tl;dr 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:
I patch up all the uses of NBT and let the plugin hobble forward full of band-aids.
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
Server Compatibility
Please make sure you download the correct version for your server:
Magic is a plugin that adds powerful magic wands, items, mobs and more to your server. With over 200 spells, a variety of wand templates, and complete customization, you can use Magic to craft a unique experience for your server.
The default experience is an "RPG lite" extension to survival. Other examples are included, such as a Harry Potter setup, Star Wars, GTA-Style guns and cars, elemental bending and more.
Magic is infinitely customizable, allowing you to script your own spells, actions, items, mobs and anything else you see done in the included example configurations.
Live Demo
If you'd like to try out Magic, please go to our development server:
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.
No, unfortunately- bukkit provides no such interface for TNT, or for projectiles (fireballs, wither, etc). You won't be able to use any of that.
You can keep "boom", direct explosions can skip block damage. If Bukkit ever provides an API (or I decide to reach into NMS) for turning off block damage for projectiles or TNT entities, I will definitely hook that up for those spells.
By default players have access to no Magic commands, and with all of the survival elements turned off (as in this "safe" config) they will have no way to get a wand, cast spells, or even know the plugin is there.
So it's up to you to make sure you only give out wands with spells you'd like players to use, and only to players you want to have them :)
If you want to be *really* sure, you can use permissions- but this gets a little messy IMO if you can avoid it. You could use "Magic.wand.use" to select who can and cannot use wands- you can also get fine-grained at the spell level if you want.
But assuming your VIP's don't give out their wands or get them stolen, this ought to work out fine.
You can also add new wand templates to wands.yml - if you want, I can try to put one together (and add it to the default config) that just has a selection of non-destructive spells. Or you can just use the airbender ones.
Depending on how often you give out wands, you could also just create each one by hand, if they only have a few spells on them.
There isn't an easy on/off switch for a totally non-destructive Magic. You'd need to make a custom configuration of some kind- and I can definitely help with that.
First I'd need to know how your players get wands, though. Are you using the crafting or enchanting mechanics at all?
Generally, anything made for building rather than destroying XD
Though some destruction spells are also undoable- explosions are not, and probably never will be (too hard...). I might try and track falling blocks (Blast, Sandblast, Toss, Volley, Collapse, SuperCollapse) at some point- but I don't really consider these "building" spells anyway.
So- pretty much anything that
A) Makes changes to the world
B) Doesn't cause explosions
C) Doesn't spawn falling block entities
Is undoable.
Offhand, a short list of Rollback-compatible spells (I should mark these on the website, maybe?):
Fill, Blob, SuperBlob, SuperPyramid, Box, SuperBox, Shell, SuperShell, Recurse, Iterate, Column, Alter, SuperAlter, Disintegrate (on blocks, no resurrecting entities), Torch, Convert, SuperConvert, Bridge, Pillar, Stalactite, Disc, SuperDisc, Dome, SuperDome, Frost, Fire/Inferno (minus that fire spreads...), Laser... I dunno, there are lots!
Some spells (like Peek, Breach, Cushion, Lava, etc) also auto-rollback after a small amount of time.
And, finally, there are a few weird exceptions, like the Tree spell- that's built using internal Bukkit/NMS code, so I can't undo that.
I think it's all pretty logical once you get the hang of it- there is a whole WorldEdit-ish side to Magic that involves building with wands, it's really what I focus on, and that's the stuff that uses the undo system.
Well if you mean auto-undo'ing spell changes, there is already an option for that :)
I did say I'd like to do the "regen land" thing (as in from the original world seed, destroying anything built there magic or otherwise) but that will be tricky.
@ghosttractor
No, unfortunately- bukkit provides no such interface for TNT, or for projectiles (fireballs, wither, etc). You won't be able to use any of that.
You can keep "boom", direct explosions can skip block damage. If Bukkit ever provides an API (or I decide to reach into NMS) for turning off block damage for projectiles or TNT entities, I will definitely hook that up for those spells.
@NathanWolf
Thank you very much for that!!
But is there a way to make tnt spells damage players not land??
@ghosttractor
Oh, ok- well in that case you should use this config (just copy straight to your config.yml if you want, or tweak as you will)
https://raw.github.com/elBukkit/MagicPlugin/master/src/main/resources/examples/config.safe.yml
By default players have access to no Magic commands, and with all of the survival elements turned off (as in this "safe" config) they will have no way to get a wand, cast spells, or even know the plugin is there.
So it's up to you to make sure you only give out wands with spells you'd like players to use, and only to players you want to have them :)
If you want to be *really* sure, you can use permissions- but this gets a little messy IMO if you can avoid it. You could use "Magic.wand.use" to select who can and cannot use wands- you can also get fine-grained at the spell level if you want.
But assuming your VIP's don't give out their wands or get them stolen, this ought to work out fine.
You can also add new wand templates to wands.yml - if you want, I can try to put one together (and add it to the default config) that just has a selection of non-destructive spells. Or you can just use the airbender ones.
Depending on how often you give out wands, you could also just create each one by hand, if they only have a few spells on them.
Let me know if I can help further! :)
@NathanWolf
I only want vip (donaters) to have wands and only simple spells
Like a rank thats called airbender which have
-force-fling-levitate-push etc..
@ghosttractor
There isn't an easy on/off switch for a totally non-destructive Magic. You'd need to make a custom configuration of some kind- and I can definitely help with that.
First I'd need to know how your players get wands, though. Are you using the crafting or enchanting mechanics at all?
@NathanWolf
Thank you for answering fast!
The thing I need from this AWESOME plugin is players not abusing it
Like spawning diamond blocks and destroying land like crazy
So I need to either remove tnt spells or make them not distroy land
Or remove the fill spell and so on
So can u find a solution? ?
@ghosttractor
Generally, anything made for building rather than destroying XD
Though some destruction spells are also undoable- explosions are not, and probably never will be (too hard...). I might try and track falling blocks (Blast, Sandblast, Toss, Volley, Collapse, SuperCollapse) at some point- but I don't really consider these "building" spells anyway.
So- pretty much anything that
A) Makes changes to the world B) Doesn't cause explosions C) Doesn't spawn falling block entities
Is undoable.
Offhand, a short list of Rollback-compatible spells (I should mark these on the website, maybe?):
Fill, Blob, SuperBlob, SuperPyramid, Box, SuperBox, Shell, SuperShell, Recurse, Iterate, Column, Alter, SuperAlter, Disintegrate (on blocks, no resurrecting entities), Torch, Convert, SuperConvert, Bridge, Pillar, Stalactite, Disc, SuperDisc, Dome, SuperDome, Frost, Fire/Inferno (minus that fire spreads...), Laser... I dunno, there are lots!
Some spells (like Peek, Breach, Cushion, Lava, etc) also auto-rollback after a small amount of time.
And, finally, there are a few weird exceptions, like the Tree spell- that's built using internal Bukkit/NMS code, so I can't undo that.
I think it's all pretty logical once you get the hang of it- there is a whole WorldEdit-ish side to Magic that involves building with wands, it's really what I focus on, and that's the stuff that uses the undo system.
I hope that helps clarify! :)
@NathanWolf
What do you mean by construction spells??
What are they??
@TheIronNation7
Awesome! You are so bouncy XD Thanks for sharing.
Fun idea, but.... I wanted to see more wand dueling :) Is this a public server?
I actually made a cops and robbers video of this video. It's http://www.youtube.com/watch?v=MeUbEEY8YyU&list=UUpoYjIf8sG24A03oVAeb5-A, and the channel is TheIronNation7
@ghosttractor
The undo system only works with construction spells. It can not undo explosions or falling blocks.
@NathanWolf
It is not undoing my spells!
I throw grenades and BOOM no undoing.
Throw blocks and plugins is like NOPE not undoing
How do i do dis??
@ghosttractor
All of the available options are in the default config file:
https://github.com/elBukkit/MagicPlugin/blob/master/src/main/resources/defaults/config.defaults.yml#L203
(So you'll want to add something like "auto_undo: 30000" to config.yml to make a 30-second auto-undo for all spells)
@NathanWolf
Where is that auto-undoing spell thingy??
@ghosttractor
Oh, sorry, I thought I did! :)
Well if you mean auto-undo'ing spell changes, there is already an option for that :)
I did say I'd like to do the "regen land" thing (as in from the original world seed, destroying anything built there magic or otherwise) but that will be tricky.
Thanks!
@NathanWolf
Auto regening the land after like 1 min to 30 seconds (changeable in the conf file) is a good one too right??
Hope you keep up the good work :)
@ghosttractor
Hm, no there isn't a way to make it not target players. I'll think about adding a global anti pvp flag.
What other question? I don't see any recent ones, sorry, I thought of answered them all?
Btw
Is there a way to make force (Spell) NOT damage/move any players??
@NathanWolf Can you please answer my question??
It is really important!
@connor1k
Oh, and Magic is incompatible with creative mode. If you're using a recent version, it will auto-eject your wands when you switch gamemodes.