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
@NathanWolf
Thanks! I decided to stick with just permissions because people will be able to turn unusable spells into me in exchange for another one or the materials to make one.
The reason I'm using this and disabling the Construct spells is because it's going to be a survival/RPG server and not a warlike server. Although, I am keeping certain ones, my only request is that chests do not get removed or at least the containers preserved during the construct process. Also, this plugin is way better in usability, because if I'm in a fight and have to keep doing /cast fling /cast heal /cast fireball I'm gonna scream. It's so difficult to do it. As well, none of the others have a displayed mana bar.
And another suggestion: base the mana off of many XP levels rather than one going down. Since Grenade by default has 55 mana, and costs 20 to use, you can have it display a 55 there, and count down by 20 so it goes 55>35>15, then regens. It will just make it easier to tell how much mana you have and to plan.
@timoteo2000
Ah, yeah, forgot about falling blocks (e.g. sandblast), sorry- those are not undoable yet.
Doing
- -Magic.cast.sandblast
Removes that spell entirely from that player or group, it's not just for /cast. It will be completely unavailable to them, even if they get a wand that has the spell on it.
The wands are configured in wands.yml, not spells.yml- there is a decent amount of documentation in the defaults file (defaults/wands.defaults.yml). What you'd be doing would amount to editing the "default" wand and removing any lines from the "spells" list you don't want.
If you plan on using crafted wands or the chest populator, it would be a good idea to do this. Otherwise players will receive spells on their wands that they can not cast (and which may be automatically removed from their wands), which is confusing and might break the randomization a bit (and is why I prefer not to use permissions when possible ;)
EDIT: And also, this is such a common request, I made a note to try and provide an easier "turn off all the construction spells" option.
I am admittedly a little baffled by why anyone would want to use this plugin with all of that turned off though... I mean there are probably better spells/wands plugins out there (Ollivander's, MagicSpells, etc) for that kinda thing, no?
@NathanWolf
I don't see which permission nodes refer to shutting off the usage of a spell from a wand, only the ones that show shutting off /cast versions of it. also, it's not documented on how to remove wands in spells.yml (even in the autocreated one, that's not shown.) auto-undo doesn't work on Sandblast then, because I have it on and that doesn't do anything to it.
Of course, I'd really just like to just disable the spells or remove the permissions.
@timoteo2000
Yup, please refer to the server admin instructions linked above (http://dev.bukkit.org/bukkit-plugins/magic/pages/admin-instructions/) for all the permission nodes.
Some other options are to make a custom spells.yml and disable all the ones you don't want players to get. Or, if it's just the construction spells you're worried about, an easy (and relatively safe) solution is to enable auto-undo in config.yml.
And, finally, you can also edit which wands show up in chests (this is off by default, btw) and which spells are enchantable- this gets a little complex, but it's basically the "random" wand template in wands.yml
I hope that helps! Let me know which way you go and I can help out more.
@elMakers:
I have the Problem. I has updated Essentials, now works it. Thank you for your help.
Bremi3
Is there any way to disallow a certain permissions group the use of a spell/wand with any permissions? I know its not recommended, but I don't really want people using construct spells on my server. Or better yet, if there is a way to prevent ConstructSpells to appear in populated chests/crafting that'd be great to. Thanks, love the plugin.
@Bremi3
What I mean is if you're using the default configs. Do not copy anything into Magic, do not edit wands.yml, spells.yml, etc.
The error you pasted is from something in wands.yml - the wands.yml file that comes with Magic is empty.. so that leads me to believe you have edited it :)
Did you try just deleting plugins/Magic (with the server stopped)?
@elMakers:
I use the default configs, which are in the "defaults" folder. Nevertheless I have deleted this config an also the others, but it still doesn't work.
@Bremi3
Do you have a custom config? It looks like the problem is in wands.yml....
Loading wands.yml [12:18:47] [Server thread/WARN]: java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String [12:18:47] [Server thread/WARN]: at com.elmakers.mine.bukkit.utilities.borrowed.ConfigurationNode.combine(Config
You have something weird in there. If it's a custom config and you'd like me to try to fix it, paste it here (PLEASE use something like pastebin this time!). If you don't have custom wands, just delete that file. Or, better yet, if you don't have any customizations- just delete plugins/Magic completely and start fresh.
@elMakers
There are a lot of errors in console:
[12:18:43] [Server thread/INFO]: [Magic] Loading Magic v2.9.3 [12:18:46] [Server thread/INFO]: [Magic] Enabling Magic v2.9.3 [12:18:47] [Server thread/INFO]: [Magic] Loading config.yml [12:18:47] [Server thread/INFO]: [Magic] Loading messages.yml [12:18:47] [Server thread/INFO]: [Magic] Loading materials.yml [12:18:47] [Server thread/INFO]: [Magic] Loading populator.yml [12:18:47] [Server thread/WARN]: java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String [12:18:47] [Server thread/WARN]: at com.elmakers.mine.bukkit.utilities.borrowed.ConfigurationNode.combine(ConfigurationNode.java:1170) [12:18:47] [Server thread/WARN]: at com.elmakers.mine.bukkit.utilities.borrowed.ConfigurationNode.combine(ConfigurationNode.java:1174) [12:18:47] [Server thread/WARN]: at com.elmakers.mine.bukkit.utilities.borrowed.ConfigurationNode.combine(ConfigurationNode.java:1174) [12:18:47] [Server thread/WARN]: at com.elmakers.mine.bukkit.utilities.borrowed.ConfigurationNode.add(ConfigurationNode.java:1187) [12:18:47] [Server thread/WARN]: at com.elmakers.mine.bukkit.plugins.magic.MagicController.loadConfigFile(MagicController.java:820) [12:18:47] [Server thread/WARN]: at com.elmakers.mine.bukkit.plugins.magic.MagicController.loadConfiguration(MagicController.java:854) [12:18:47] [Server thread/WARN]: at com.elmakers.mine.bukkit.plugins.magic.MagicController.load(MagicController.java:878) [12:18:47] [Server thread/WARN]: at com.elmakers.mine.bukkit.plugins.magic.MagicController.initialize(MagicController.java:549) [12:18:47] [Server thread/WARN]: at com.elmakers.mine.bukkit.plugins.magic.MagicPlugin.initialize(MagicPlugin.java:65) [12:18:47] [Server thread/WARN]: at com.elmakers.mine.bukkit.plugins.magic.MagicPlugin.onEnable(MagicPlugin.java:56) [12:18:47] [Server thread/WARN]: at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:218) [12:18:47] [Server thread/WARN]: at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:457) [12:18:47] [Server thread/WARN]: at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:385) [12:18:47] [Server thread/WARN]: at org.bukkit.craftbukkit.v1_7_R1.CraftServer.loadPlugin(CraftServer.java:302) [12:18:47] [Server thread/WARN]: at org.bukkit.craftbukkit.v1_7_R1.CraftServer.enablePlugins(CraftServer.java:284) [12:18:47] [Server thread/WARN]: at net.minecraft.server.v1_7_R1.DedicatedServer.init(DedicatedServer.java:134) [12:18:47] [Server thread/WARN]: at net.minecraft.server.v1_7_R1.MinecraftServer.run(MinecraftServer.java:430) [12:18:47] [Server thread/WARN]: at net.minecraft.server.v1_7_R1.ThreadServerApplication.run(SourceFile:617) [12:18:47] [Server thread/INFO]: [Magic] Loading spells.yml [12:18:47] [Server thread/INFO]: [Magic] Loading wands.yml [12:18:47] [Server thread/WARN]: java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String [12:18:47] [Server thread/WARN]: at com.elmakers.mine.bukkit.utilities.borrowed.ConfigurationNode.combine(ConfigurationNode.java:1170) [12:18:47] [Server thread/WARN]: at com.elmakers.mine.bukkit.utilities.borrowed.ConfigurationNode.combine(ConfigurationNode.java:1174) [12:18:47] [Server thread/WARN]: at com.elmakers.mine.bukkit.utilities.borrowed.ConfigurationNode.combine(ConfigurationNode.java:1174) [12:18:47] [Server thread/WARN]: at com.elmakers.mine.bukkit.utilities.borrowed.ConfigurationNode.add(ConfigurationNode.java:1187) [12:18:47] [Server thread/WARN]: at com.elmakers.mine.bukkit.plugins.magic.MagicController.loadConfigFile(MagicController.java:820) [12:18:47] [Server thread/WARN]: at com.elmakers.mine.bukkit.plugins.magic.MagicController.loadConfiguration(MagicController.java:868) [12:18:47] [Server thread/WARN]: at com.elmakers.mine.bukkit.plugins.magic.MagicController.load(MagicController.java:878) [12:18:47] [Server thread/WARN]: at com.elmakers.mine.bukkit.plugins.magic.MagicController.initialize(MagicController.java:549) [12:18:47] [Server thread/WARN]: at com.elmakers.mine.bukkit.plugins.magic.MagicPlugin.initialize(MagicPlugin.java:65) [12:18:47] [Server thread/WARN]: at com.elmakers.mine.bukkit.plugins.magic.MagicPlugin.onEnable(MagicPlugin.java:56) [12:18:47] [Server thread/WARN]: at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:218) [12:18:47] [Server thread/WARN]: at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:457) [12:18:47] [Server thread/WARN]: at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:385) [12:18:47] [Server thread/WARN]: at org.bukkit.craftbukkit.v1_7_R1.CraftServer.loadPlugin(CraftServer.java:302) [12:18:47] [Server thread/WARN]: at org.bukkit.craftbukkit.v1_7_R1.CraftServer.enablePlugins(CraftServer.java:284) [12:18:47] [Server thread/WARN]: at net.minecraft.server.v1_7_R1.DedicatedServer.init(DedicatedServer.java:134) [12:18:47] [Server thread/WARN]: at net.minecraft.server.v1_7_R1.MinecraftServer.run(MinecraftServer.java:430) [12:18:47] [Server thread/WARN]: at net.minecraft.server.v1_7_R1.ThreadServerApplication.run(SourceFile:617) [12:18:47] [Server thread/INFO]: [Magic] Magic: Loaded 106 spells and 0 wands [12:18:47] [Server thread/ERROR]: Error occurred while enabling Magic v2.9.3 (Is it up to date?) java.lang.NoClassDefFoundError: net/ess3/api/IEssentials at com.elmakers.mine.bukkit.essentials.Mailer.<init>(Mailer.java:16) [?:?] at com.elmakers.mine.bukkit.plugins.magic.MagicController.initialize(MagicController.java:564) [?:?] at com.elmakers.mine.bukkit.plugins.magic.MagicPlugin.initialize(MagicPlugin.java:65) [?:?] at com.elmakers.mine.bukkit.plugins.magic.MagicPlugin.onEnable(MagicPlugin.java:56) [?:?] at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:218) [craftbukkit.jar:git-Spigot-1203] at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:457) [craftbukkit.jar:git-Spigot-1203] at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:385) [craftbukkit.jar:git-Spigot-1203] at org.bukkit.craftbukkit.v1_7_R1.CraftServer.loadPlugin(CraftServer.java:302) [craftbukkit.jar:git-Spigot-1203] at org.bukkit.craftbukkit.v1_7_R1.CraftServer.enablePlugins(CraftServer.java:284) [craftbukkit.jar:git-Spigot-1203] at net.minecraft.server.v1_7_R1.DedicatedServer.init(DedicatedServer.java:134) [craftbukkit.jar:git-Spigot-1203] at net.minecraft.server.v1_7_R1.MinecraftServer.run(MinecraftServer.java:430) [craftbukkit.jar:git-Spigot-1203] at net.minecraft.server.v1_7_R1.ThreadServerApplication.run(SourceFile:617) [craftbukkit.jar:git-Spigot-1203] Caused by: java.lang.ClassNotFoundException: net.ess3.api.IEssentials at java.net.URLClassLoader$1.run(Unknown Source) [?:1.7.0_45] at java.net.URLClassLoader$1.run(Unknown Source) [?:1.7.0_45] at java.security.AccessController.doPrivileged(Native Method) [?:1.7.0_45] at java.net.URLClassLoader.findClass(Unknown Source) [?:1.7.0_45] at org.bukkit.plugin.java.PluginClassLoader.findClass0(PluginClassLoader.java:80) [craftbukkit.jar:git-Spigot-1203] at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:53) [craftbukkit.jar:git-Spigot-1203] at java.lang.ClassLoader.loadClass(Unknown Source) [?:1.7.0_45] at java.lang.ClassLoader.loadClass(Unknown Source) [?:1.7.0_45] ... 12 more [12:19:18] [Server thread/INFO]: [0;33;1m+> [RuntimeCompiler] [0;37;1mLoaded Magic-2.9.3.jar [m [12:19:37] [Server thread/INFO]: [Magic] Checking player data for pending undo batches [12:19:37] [Server thread/INFO]: [Magic] Loading lost wand data [12:19:37] [Server thread/INFO]: [Magic] Loading image map data from imagemaps.yml
There is no other plugin, because i delete all plugins and install them step by step again.
I hope you can help me, thanks.
Bremi3
@Bremi3
I have Essentials on my server with no issues. Are there any errors in the console, or any other plugins that could be interfering?
(Basically the same questions I asked @yoheius :)
@elMakers:
Very good plugin, but if i use it with the plugin Essentials, i couldn't use the wands. The commands like /wand etc. works, but if i leftklick the Wand, nothing happen.
(I have the same server as yoheius)
Bremi3
@NathanWolf
copy and paste this:
\u00A74 (15 spaces) Magic Development Server
To your Motd in your server properties
it would be cooler
@yoheius
Do you see startup messages from Magic? It should print how many spells and wands are loaded.
Did you customize anything- add permissions, change spells.yml, anything like that?
When you say there are no spells- the wand won't cast spells, or no spells show up in the inventory on right-click, or... both?
I don`t understand. There were no error message but I can`t add spells and when I Write. "/wand demo " I get the wand but there were no spells .Please help
@diannetea
Hrm... that looks right to me :\ Are you on 2.9.2? I suppose it's possible I broke it...
I just tested with a mob and 2.9.3, and it seemed to work ok... I'm not sure what coul dbe wrong there :\
Btw, fwiw, keep in mind you don't need a spell to be in your spells.yml unless you've customized it. This will make upgrades easier.
@NathanWolf
I had already added target: any, I have a Battle Priest class in my mob arena, but it's less useful if they can't heal others :P
@diannetea
Oops, another config change, sorry! I think you want to add
target: any
To the parameters. I changed the default value of that because all spells now support it, and most spells you don't want to accidentally direct at yourself :)
For what it's worth, each release has migration notes for stuff like this in the "caveats" section, or you can check the log
https://github.com/elBukkit/MagicPlugin/blob/master/MIGRATION.md
There should be a lot less of this after official release (planned for 3.0) 2.9.3 will be another big change, all effects are now config-driven.
EDIT: The more I think about this, I'm confused as to why you needed this change, though... let me know if adding that fixes it? Do you have a spells.yml that has all the spells in it?
It appears that heal wands are no longer healing other people, is that intentional and/or how can I change it?
@yoheius
I like that idea!
I've never used the plugin, but I'm familiar with it. I'm not entirely sure how that'd work out- it doesn't look like there's an API. If there were some way to throw wands randomly into the mix, that'd be very cool- I will PM the dev.