Show us a server startup log. The require non null is irrelevant you can remove that. It doesn't make any difference, as he's in the main class...
I usually use info, and call it right from the logger: plugin.getLogger().info("Blah blah blah"); I'm all about anything that saves me some...
It's built in. The plugin instance has a "getConfig()" method which exposes the configuration object you can use to manipulate the file.
I agree with timtower, just use yaml. However don't do the data like this. You lose precision, and there is no need to manually serialize it as...
Also you don't really need to make a variable for the air. Just set the item in main hand to null: player.getEquipment().setItemInMainHand(null);...
KarimAKL's suggestion is definitely the way to go. Just wanted to say if, for some weird reason, you had to do checks of that nature, you could...
Your code is all ran together in the post. Tell us what line 79 is.
The only possible way I can think of would be to get them to use a Forge mod. Forge mods run client side, and you could have it communicate with...
I wish ChatGPT would learn that ThreadLocalRandom exists. It keeps telling people to make new Random instances, when you don't need to.
No "of course" about it; in all the years I've been doing tech support I learned very quickly to never assume competence, lol. It never hurts to...
You've been developing Minecraft plugins for two years, yet don't realize main is not a thing with them? It's weird that your compile button is...
The last item in the constructor are the arguments passed. You just need to first verify an argument was passed, then you use the args element...
As mehboss said, use UUID. Names can change, UUIDs are fixed. The people saying about disconnect, they're spot on. Any time you have a...
Not sure about tutorials. How are you tracking miners? Or have you not gotten that far yet? If I were doing a class/job type of plugin, I'd...
Yea, I try to avoid using runnables unless it's absolutely necessary. No sense adding load to the server. Yea, it's likely negligible, but it...
A dead player is still online. The appropriate thing to use is isDead() PS to clarify: I'd still leave the online check, because cancel is also...
Gotcha. Makes sense, but that kind of thing is best left for after you are more fluent with the language. Security stuff like permissions...
I'm confused; are you trying to check permissions to perform an action, or are you trying to make a permissions plugin? I assume the former even...
Glad to hear you got it. But there is a big problem; you have stopRepeater as a class scope single boolean, but you are manipulating it based on...
Nope, not at all. You cannot embed a method within a method like that. Don't let the public void run in the runnable lead you into thinking you...
Separate names with a comma.