I'm helping my kid learn to create Minecraft plugins, although I don't have much experience with Java or IDEA. Everything is working well so far, but in order to execute our code, we have to:
Bukkit/plugins
)I'm not sure that anything can be done about (3), but it seems to me that IDEA should be able to handle (1) & (2) in a single step. Also, we cannot presently debug using this configuration.
In Visual Studio / .NET, I would just need to specify the executable -- java/craftbukkit, in this case -- as an "external program", and it would solve all of these problems. In IDEA, though, it seems that I am supposed to add a Run Configuration, and I don't see an option which allows anything like a "host application." Instead, it wants the full classpath to the main
for Bukkit, and it isn't clear to me what that would be. I have also seen it suggested elsewhere that even this won't work without a debug build of Bukkit. but I don't really want to debug Bukkit; I just want to debug our plugin code only.
I found these instructions for remote debugging Bukkit plugins, but is that actually necessary? It doesn't solve the "two steps to run" problem; it actually makes it worse!
I realize this question is more than a year old, but I too had this problem recently and found no satisfactory answers. This is how I solved it, with help from @hunterboerner's answer.
First thing is you need to create an artifact that compiles the plugin JAR to the testing server's plugins
directory:
plugins
directory of the testing serverIf your project has no MANIFEST.MF
file:
src/main/java/
)An example artifact configuration:
Next, you need to create a Run Configuration that executes the Spigot server JAR:
An example run configuration:
After completing these steps, "Debug" the run configuration or press SHIFT+F9
. This will automatically build the plugin JAR, copy it to the testing server and execute that server with full debugging facilities, including breakpoints and hot code swapping.
If you do not have to use IntelliJ IDEA, I would suggest you to use eclipse. I worked now over two years with eclipse, without any problems. The eclipse debugger has a really good overview on all values, so I think that that is not a problem.
To solve your problem, you could try to use that tutorial from GDorn. He describes, how to debugging a bukkit plugin with server. I have not tried that, but it seems that it is going to work.
First you have to open your run configurations and create a new application configuration. In your classpath tab, you have to remove all "User Entries". Ensure that the "Bootstrap Entries" contain the JRE library. Also add two external jars, the craftbukkit.jar (Bukkit Server) and the minecraft_server.jar (Vanilla Server).
I do not know why you have to add a Vanilla Server, I read that in the tutorial, you could try it without it. Otherwise, you are able to find it here.
After that, set your working directory in the argument tab. Save it and run it.
You can all read it accurate in the tutorial link. He describes it a little bit better than my summary. You also could try to use that informations, for your IntelliJ IDEA, maybe it gives you a tip how to solve it.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With