Magic
Server Compatibility
Please make sure you download the correct version for your server:
-
1.9.3 and up => Latest 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
Doubt that will work. StarterKit works (since it works with in-game items, saving your inventory as a kit) and Essentials kits work (since Magic has special integration with Essentials)
mainly so New players spawn with a wand instead of me giving them one
Idk if this is the right place to ask this but I was trying to add a wand to /kit wizard but when i wrote the item id in i realized it was the same as a hoe so when i did /kit wizard it gave me a hoe instead can you help me?
and I'm using Essentials
Put "wand:wand" in the kit, that ought to work. Or maybe "wand:default", depending on your configs and what version of Magic you have.
Basically it's "wand:<name of magic item>" to put a Magic item in an Essentials kit (or [Buy] sign, whatever)
@Jacob9299
(1) See the engineershop for an example of this, basically just give the shop a list of spells to sell.
(2) Currently, no. That'd be a barter/trade system and I don't really have that. Hoping to implement it eventually. I recommend the Shopkeepers plugin if you want something like that now.
Well, ok, maybe- if ryo is Vault currently then you can do it. Each shop can use one of: Item (emeralds by default, you can change this but it can only be one item type), Vault currency, SP or XP.
(3) In spells.yml, just add two lines like this to disable spells:
Make sure you're not trying to edit the default files, it doesn't do anything.
(4) /magic load
(5) Look in messages.defaults.yml, that contains all of the in-game text. Like everything in Magic you don't edit this file, you add what you want to change to messages.yml. In this case you want to add a section that looks like this:
https://github.com/elBukkit/MagicPlugin/blob/master/Magic/src/main/resources/defaults/messages/paths.yml#L1
(6) Don't edit the defaults. It says this in a big warning at the top of all of the default files, and all over the docs. That's not how it works.
Thanks a ton! ! I have a few more questions though. Sorry for asking too much. (1) How do I make an NPC sell a specific spells (separate from the ranking NPC spell shops)? So if I wanted, I could make an NPC sell only the sticky bomb spell which is seperate from the spells that are available in the ranking system. Or, if I wanted, I could make the NPC sell only bomb-related spells. (2) Can I make spells cost different types of currency? This goes along with the previous question where I would like to make separate spells from the ranking system. I want the spells in the ranking system to be bought with CD (SP) and the separate spells to be bought with gold ryo (in game currency to buy items as well). (3) How do I delete the spells I don't want from the default spells? When I deleted them and reloaded the server, the spells were still there. (4) I haven't created spells yet but if I encounter a problem in the future, how do I load the spells so that they can be used on the server? (Just in case) (5) How do you change the names of the ranks? So I want to change beginner to Academy Student. And where is it in the files? I can't find it. (6) Additional problem: Every time I make a change to the plugin, it doesn't work and resets. What do I do?
@Jacob9299
(1) See here for how to set up NPCs:
https://github.com/elBukkit/MagicPlugin/wiki/NPC
The NPC system in Magic is basically just allowing NPCs to cast spells. And so, shops are implemented as spells.
You can use the spellshop spell to let players buy spells for their current Wand path. This is the same spell that is cast when interacting with an enchant table:
https://github.com/elBukkit/MagicPlugin/blob/master/Magic/src/main/resources/defaults/spells/spellshop.yml
(2) You can make your own shops, just like making spells. Start with the wandshop as an example:
https://github.com/elBukkit/MagicPlugin/blob/master/Magic/src/main/resources/defaults/spells/wandshop.yml
(3) The easiest way to do this is to override the base_wand template, which all wand items inherit:
https://github.com/elBukkit/MagicPlugin/blob/master/Magic/src/main/resources/defaults/wands/base.yml
So in your wands.yml, add this:
That will swap the drop button and right-click functions.
(4) Each spell has a "worth" property that defines its cost. So, for instance, to change the cost of blink, put this in spells.yml:
(5) Magic shops aren't really made for bartering/trading. It's something I'd love to improve one day, but for now it can only work with a physical currency made up of a single unique item (emeralds by default). So make a shop use items, add something like this to spells.yml:
To change the item used, add this to config.yml:
... that ought to work, though if it doesn't, let me know. Might be a bug I need to fix in how maps are parsed from yaml.
(6) All text is generally found in messages.yml:
See here:
https://github.com/elBukkit/MagicPlugin/blob/master/Magic/src/main/resources/defaults/messages/misc.yml
So you might want to do something like:
Thanks for replying! I do have a few questions: (1) How do I make NPCs sell the spells in a GUI? (2) How do I make an NPC sell starter wands with only 1 or 2 spells? (which players can then add more spells by earning them) (3)How do I make all starter wands in right click mode without players having to do /wand mode_rightclick (and no one can change it)? (4) How do I change the price of spells? (5) How do I change the item that is required to buy spells? On the plugin, it has SP but I want to change it to a bound item from the inventory. Most likely paper, until I make 3d models for currency. (6) How do I change the SP abbreviation that displays on the description on the spells and throughout the plugin itself to something like "CD" or something (7) What's mana and can I completely remove it from being used to buy spells? (8) How do I make an NPC sell a specific spell (separate from the ranking NPC spell shops)? So if I wanted, I could make an NPC sell only the sticky bomb spell. Or, if I wanted, I could make the NPC sell only bomb-related spells.
@kuko1234
Different spells have different numbers of levels. Some have no upgrades, others go as high as five, I think.
The ocarina is craftable, the recipe is in the configs here (website with crafting recipes looks kind of broken)
https://github.com/elBukkit/MagicPlugin/blob/master/Magic/src/main/resources/defaults/crafting/ocarina.yml
The RP doesn't change anything anymore except chainmail armor and unbreakable items. It does not change any sounds at all, it only adds new sounds.
Hello, I really like this plugin, but I have few questions about it:
1. How many levels can a spell earn? 2. Is ocarina obtainable item? Saw it in the items spreadsheet but i cant craft it in any way 3. Does resource pack change sounds in-game or only textures of the items mentioned above?
I couldn't figure this out by myself, i would appreciate any help
@Jacob9299
Hi!
No coding is required for making new spells in Magic. Unfortunately I don't have any real tutorials to get you started. You can check out the customization section of the wiki for a general overview:
https://github.com/elBukkit/MagicPlugin/wiki/Customization
The best way to learn is by example. Take a simple spell, like Magic Missile, copy it and start tweaking. Or just look through the default spells and try to write a new one from scratch based on what you see. All of the default spells are here:
https://github.com/elBukkit/MagicPlugin/tree/master/Magic/src/main/resources/defaults/spells
You will need to put your new spell in a file in plugins/Magic/spells or just add it to plugins/Magic/spells.yml - give it a new key name, that's the top-level Yaml block such as "missile:".
Always keep an eye on server logs for any errors.
Once you've added a spell, you can use "/magic load" in-game to try it out and to reload as you tweak it.
It can be daunting, but if you start out small and build up you can do it, there is a lot of power and flexibility there!
I hope that helps some, don't hesitate to come back with specific questions.
please
update i realy realy realy want it to my 1.11 server pleaseeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
Hi NathanWolf! Your plugin is awesome! I have a few questions though. How would I be able to add my own spells to the list? I'm not familiar with Java coding but I am familiar with the magic spell plugin.
please update
@Atrelyu
Sorry for the lateness of my reply.. I may have confused things here. When I was talking about "classes" before, I meant spell classes. So, for instance, the Portal spell was never converted to the action system:
https://github.com/elBukkit/MagicPlugin/blob/master/Magic/src/main/resources/defaults/spells/portal.yml#L6
If I spell has a "class" like that at the top-level, then it doesn't support actions and won't have an actions list. It's behavior is written in code, not configs.
Actions also have classes, this is where it gets confusing but these are different. You do need "class: Torch" in the actions list, this is what tells the plugin which action you actually want. Actions can also take parameters and have sub-actions, which is why they are not just a list of class names, but an object with a "class" property. I hope that makes sense!
The Spread action does make a cone, but I may not be understanding what you're after. You want a projectile to shoot forward, then one to the right, one to the left, one behind- that kind of thing?
What you're describing for Wave is how it works :) I just never got it working that well, it doesn't look as nice as I'd like.
https://github.com/elBukkit/MagicPlugin/blob/master/Magic/src/main/resources/defaults/spells/wave.yml#L12
Instead of Repeat, it uses Line- but it's the same basic idea, just repeat something with a delay for each step so it looks like an animation.
@GeorgeMelikyan
You can customize this, by editing wands.yml. You would need to do something like this:
Note that this will make the wands not play so nicely with dual-wielding, since you're putting it back to using right-click instead of the drop button. No real way around that though if you want them to be able to drop them.
Alternately, in config.yml, you you can put this:
That will let them drop wands by dragging them out of the inventory, but the drop button (e.g. Q) will still work as normal.
@AronFast
Generally that's controlled by a PVP plugin. Can they hit each other normally? Do you have WorldGuard, PVPManager or some other plugin that would be preventing PvP damage?
@ProWco
All configs are up on github, or in the plugin itself. Easiest way is probably to look here:
https://github.com/elBukkit/MagicPlugin/tree/master/Magic/src/main/resources/examples/potter
Hello! Thanks for the great plugin! I have one question: is it possible to allow players to throw magical items(wand of mage armor, a broom, etc.)?
Hello there! I really love this plugin! But there is one problem: Players can't damage eachother! I don't know if there is a line in the config file that disables/enables magic PvP? Thanks for the help
Excuse me one question. In your example potter you have tons of wands and spells, Where i can found all this wands and spells in the config? Because i wanna edit some wands change the ids of the items and maybe translate in spanish... So i need found the potter wands and spells config for edit where i can found this buddy?
Thanks for the help.
Ok I think I got it, you basically took the whole code and split it into a lot of micro-pieces so you can assemble spells with no coding.
But since the Actions pretty much replaced classes, it means that most coding that used to be like this: actions: cast: - class: Torch
Could be written like this? actions: cast: - actions: Torch
Actions pretty much determine the behavior about what the spell would do but I don't know about their Classes.
Another thing is, I know the Spread variable makes that launched proyectiles "spred" around the origin. But how about if I would like to shoot 3 proyectiles in a cone? Let's say 3 fireballs, so for example: Origin: o Directions: / | \ / | \
I guess I should use some kind of X,Y,Z parameters? And regarding about the wave spell, how about if the spell just move foward? Like if we were looking pictures per frame. It starts at position 1 (frame 1) then it dissapears and re-appears at position 2 (frame 2) and so on. It should give a movement feeling, like when you draw some pictures on multiple papers and they move it very quickly, just like cartoons does!. Maybe adding a Repeat action and re-execute the spell but some lines in front of the last wave. I hope I've explained myself correctly!