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 Oct 30, 2015@NathanWolf
Haha! Thanks man. I'll give that a go.
-
View User Profile
-
Send Message
Posted Oct 30, 2015@ShadowWolf294
That is something else I'm hoping to make better- for now you have to set up text for each shop to use. This goes in message.yml - like this:
.. At least I think that's the problem there. I mentioned this earlier- but maybe something else is going wrong, too?
-
View User Profile
-
Send Message
Posted Oct 30, 2015@NathanWolf
I'm incredibly sorry for the thousands of questions I'm asking, it's just I can't seem to find a solution. Luckily, this question is an actual problem rather than query. :)
So I have created a spell shop which sells spells rather than upgrades like you said which works perfectly! However, when I try to create a wand shop using data from the default files and then tweaking it to my desire, it says "deducted" "You can't buy Wand". Any ideas? I've checked most things which I think could be the problem, yet my solutions seem to have no effect.
SPELLS.yml: http://pastebin.com/Uevqpyj5
WANDS.yml: http://pastebin.com/WzhdP8Jy
ENCHANTING.yml: http://pastebin.com/uXXurUxU
I'm trying to sell the FireDragonSlayer2 wand in the FireDragonSlayerWandShop spell.
-
View User Profile
-
Send Message
Posted Oct 30, 2015@NathanWolf
I really appreciate all your help! Thank you ever so much! :)
However, I think I'll stick with spell_casts to upgrade the spells for now. I'll just make it so you can buy new spells at the store rather than upgrades. Thanks for your help though! I understand it could be for nothing, but it wasn't. It made me realise that it's much tougher than it looks, developing a plugin. As I said before, keep up the work on this plugin and never stop! It can turn into something much bigger! (Can't wait till you've added skill points!)
If you ever need any ideas, come to me. :)
-
View User Profile
-
Send Message
Posted Oct 29, 2015@ShadowWolf294
Right now it's a little complicated.. I'm considering adding some simpler options to work with the skill point system that I'm planning on adding.
The best way is to look at one of the simpler example configs, like the potter configs:
https://github.com/elBukkit/MagicPlugin/blob/master/src/main/resources/examples/potter/enchanting.yml#L64
You can ignore most of what's in there, and start with the placeholder enchanting.yml you have now, but add the "spells" lists to them.
The number after each spell won't matter if you're only using shops, that's for randomization weights when enchanting. Just put "1" there. So like this...
etc.
Then just use the default "spellshop", don't try and put a list of spells in. It will automatically show the spells for the player's current path.
This is how this is all intended to be used together. The shops tie into the enchanting system, as a replacement or addition to it.
I may add support for a simple list of spells in paths, but otherwise I think that's how you'd want to set this up if you want to use the builtin functionality to its fullest.
The "worth" tags you have in spells.yml will be used to determine spell prices.
-
View User Profile
-
Send Message
Posted Oct 29, 2015@NathanWolf
Oh. Please could you explain how I would do this?
Thanks :)
-
View User Profile
-
Send Message
Posted Oct 29, 2015@ShadowWolf294
You could do that, though a single shop will do the same thing. How it would work either way:
You could make separate shops for each path (using the path_exact parameter) but there isn't a need to do that, it just forces them to have to go to a different place to get spells when they level up.
-
View User Profile
-
Send Message
Posted Oct 29, 2015@NathanWolf
Actually. Thanks, the last little few sentences about selling them separately rather than as levels. I think that might just work. To refresh my memory, correct me if I'm wrong, you said that paths only change if all spells for a path have been acquired. Correct?
As an alternative for what I am trying to achieve, could I create separate shops - 1 for each "level", separate spell levels into their own individual spells but intend for them to be as an upgrade, then when someone has acquired all the spells in a shop, upgrade their path so they can access the next shop?
-
View User Profile
-
Send Message
Posted Oct 29, 2015@ShadowWolf294
It applied to both questions, sorry :(
I think it'd be possible to modify the spell shops such that if you put levelled-up spells in there, they only show up if the player has the previous level already. But that's not how it works currently.
Paths only change automatically when a player has acquired ALL of the spells for a path- and this does not take spell levels into account, only that the players has the base spells for that path.
That said, you can change a wand's path via command if you can find some way to rig that up that works how you want. But paths and spell levels are generally not tied together, other than you can make it so a player can't automatically progress to the next level of a spell until they reach a certain path.
tl;dr - spell levels are not really intended for shops. You might be better off just making new spells, rather than trying to sell upgrades for spells.
-
View User Profile
-
Send Message
Posted Oct 29, 2015@NathanWolf
Hm. Okay. Well. Thanks for answering all these questions anyway. :)
So does that reply also apply to the path idea?
-
View User Profile
-
Send Message
Posted Oct 29, 2015@ShadowWolf294
No, sorry, there's nothing like that available right now.
-
View User Profile
-
Send Message
Posted Oct 29, 2015@NathanWolf
You're quite right there. Is there such command as:
required_spell:
Or something like it? If there isn't don't worry. I have a backup plan. Would it be possible to change one's path from being FDS to FDS_2 if they achieved a level 2 spell? Then asking for a required path to buy a level 3 spell?
-
View User Profile
-
Send Message
Posted Oct 29, 2015@ShadowWolf294
enable_automatic_spell_upgrades: false
In config.yml
Selling spell levels still won't work out very well, though, for the reasons you brought up. Players can just jump to the highest level if they save up the cash for it.
-
View User Profile
-
Send Message
Posted Oct 29, 2015@NathanWolf
Hm. Is there a way to turn off or disable automatic spell upgrades?
-
View User Profile
-
Send Message
Posted Oct 29, 2015@ShadowWolf294
Yes, exactly.
-
View User Profile
-
Send Message
Posted Oct 29, 2015@NathanWolf
Ah, I see... So what you're saying is, there's no point in selling them because people will just gain them automatically?
-
View User Profile
-
Send Message
Posted Oct 29, 2015@ShadowWolf294
https://github.com/elBukkit/MagicPlugin/wiki/Admins
You're not supposed to sell spell levels, they level automatically with use. If you sell them, there's nothing preventing players from buying them like any other spell.
-
View User Profile
-
Send Message
Posted Oct 29, 2015@NathanWolf
VVVV
-
View User Profile
-
Send Message
Posted Oct 29, 2015@NathanWolf
Thanks again! :)
EDIT: ... I can't believe I'm back. But it's just that I can't find what I'm looking for in the files. :/
Thanks! :)
-
View User Profile
-
Send Message
Posted Oct 29, 2015@ShadowWolf294
Thank you for the compliments and advice!
You could give permissions with any NPC's that can run commands. This includes Magic- see the NPC section on the wiki, regarding the "command" trait:
https://github.com/elBukkit/MagicPlugin/wiki/NPC