So ya, I can't even get it to load. I don't know what I'm doing wrong -.- Code: [SEVERE] Could not load 'plugins\Splosion.jar' in folder 'plugins': java.lang.NoClassDefFoundError: Skycraft/Splosion/bin/com/kuzi117/splosion/Splosion (wrong name: com/kuzi117/splosion/Splosion) at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClassCond(Unknown Source) at java.lang.ClassLoader.defineClass(Unknown Source) at java.security.SecureClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.access$000(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:36) at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:24) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Unknown Source) at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:167) at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:194) at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:117) at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:101) at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:218) at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:205) at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:145) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:265) at net.minecraft.server.ThreadServerApplication.run(SourceFile:394)
Well, it says in the 2nd line "Wrong name :... " Try making sure the name is right, it looks as if your class is not being found. Make sure your plugin.yml is right, it should be like so: Code: name: Splosion main: com.kuzi117.splosion.Splosion version: 1.0 ##Commands: (if you are using them) Also make sure your class is called Splosion, the file name and the class line inside.
I fixed that error, but now there's this new one. Ask me for other info if you need more stuff from me. Code: [SEVERE] Could not load 'plugins\Splosion.jar' in folder 'plugins': java.lang.ClassNotFoundException: com.kuzi117.splosion.Splosion at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:36) at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:24) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Unknown Source) at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:167) at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:194) at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:117) at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:101) at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:218) at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:205) at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:145) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:265) at net.minecraft.server.ThreadServerApplication.run(SourceFile:394)
I pm'd you. Fixed, thanks Jako New bug, and I feel like this one's even dumber than the last. When executed from player Code: [SEVERE] null org.bukkit.command.CommandException: Unhandled exception executing command 'splode' in plugin Splosion v0.1 at org.bukkit.command.PluginCommand.execute(PluginCommand.java:37) at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:128) at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:287) at net.minecraft.server.NetServerHandler.handleCommand(NetServerHandler.java:712) at net.minecraft.server.NetServerHandler.chat(NetServerHandler.java:678) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:671) at net.minecraft.server.Packet3Chat.a(Packet3Chat.java:32) at net.minecraft.server.NetworkManager.b(NetworkManager.java:226) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:75) at net.minecraft.server.NetworkListenThread.a(SourceFile:105) at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:399) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:309) at net.minecraft.server.ThreadServerApplication.run(SourceFile:422) Caused by: java.lang.ArrayIndexOutOfBoundsException: 0 at com.kuzi117.splosion.Splosion.onCommand(Splosion.java:35) at org.bukkit.command.PluginCommand.execute(PluginCommand.java:35) ... 12 more When executed from console Code: [WARNING] Unexpected exception while parsing console command org.bukkit.command.CommandException: Unhandled exception executing command 'splode' in plugin Splosion v0.1 at org.bukkit.command.PluginCommand.execute(PluginCommand.java:37) at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:128) at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:279) at net.minecraft.server.MinecraftServer.b(MinecraftServer.java:428) at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:413) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:309) at net.minecraft.server.ThreadServerApplication.run(SourceFile:422) Caused by: java.lang.ArrayIndexOutOfBoundsException: 0 at com.kuzi117.splosion.Splosion.onCommand(Splosion.java:35) at org.bukkit.command.PluginCommand.execute(PluginCommand.java:35) ... 6 more Any ideas? EDIT by Moderator: merged posts, please use the edit button instead of double posting.
It seems you want to excecute a command, in which you are using args[0]'s. but since these args are null, it gives an error.
I totally am. And I did not know that. Thank you. EDIT: Still broken with these errors: From console: Code: [WARNING] Unexpected exception while parsing console command org.bukkit.command.CommandException: Unhandled exception executing command 'splode' in plugin Splosion v0.1 at org.bukkit.command.PluginCommand.execute(PluginCommand.java:37) at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:128) at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:279) at net.minecraft.server.MinecraftServer.b(MinecraftServer.java:428) at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:413) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:309) at net.minecraft.server.ThreadServerApplication.run(SourceFile:422) Caused by: java.lang.ArrayIndexOutOfBoundsException: 1 at com.kuzi117.splosion.Splosion.onCommand(Splosion.java:35) at org.bukkit.command.PluginCommand.execute(PluginCommand.java:35) ... 6 more From player: Code: [SEVERE] null org.bukkit.command.CommandException: Unhandled exception executing command 'splode' in plugin Splosion v0.1 at org.bukkit.command.PluginCommand.execute(PluginCommand.java:37) at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:128) at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:287) at net.minecraft.server.NetServerHandler.handleCommand(NetServerHandler.java:712) at net.minecraft.server.NetServerHandler.chat(NetServerHandler.java:678) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:671) at net.minecraft.server.Packet3Chat.a(Packet3Chat.java:32) at net.minecraft.server.NetworkManager.b(NetworkManager.java:226) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:75) at net.minecraft.server.NetworkListenThread.a(SourceFile:105) at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:399) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:309) at net.minecraft.server.ThreadServerApplication.run(SourceFile:422) Caused by: java.lang.ArrayIndexOutOfBoundsException: 1 at com.kuzi117.splosion.Splosion.onCommand(Splosion.java:35) at org.bukkit.command.PluginCommand.execute(PluginCommand.java:35) ... 12 more
You should really check if the args are there before trying to read them. In layman's terms, you are asking your plugin to read a note and tell you what is says, and your plugin is getting quite confused because there is no note.
Yes, to prevent this, you are going to want to check your args.length. Code: public void onCommand(blah) { if (args.length() == 0) { //sender.sendMessage will send a message to the player if that is the sender or the console. sender.sendMessage(ChatColor.RED + "To correctly dance, type /dance now, or /dance at noon"); } if (args.length() == 1) { //Do something taking 1 argument ("/dance now") } if (args.length() == 2) { //Do something taking 2 arguments ("/dance at noon") } } Hope that helps, -Jako
Could I do: Code: if(args.length >= 1) { List<Player> matchedPlayers = server.matchPlayer(args[1]); if(matchedPlayers.get(0).toString().length() > 0) { //Do stuff } else { sender.sendMessage("A player with a name containing" + args[1] + "could not be found."); } } } else { sender.sendMessage("Learn to use it right."); return true; } EDIT: The onCommand puts the first argument like, "/command [argument]", in args[1]? Is that what I'm supposed to get out of this?
That's what I thought, I misunderstood @Lolmewn and thought that args[0] was always assinged null. That's why I was surprised. Anyways, I get it to work fine now for executing with an argument after I basically rewrote the whole thing since I had written it so messly, but now despite having this code: Code: if (args == null) { sender.sendMessage("Welcome to splode"); sender.sendMessage("Usage is /splode [playername]"); return true; } I generate this error: Code: [SEVERE] null org.bukkit.command.CommandException: Unhandled exception executing command 'splode' in plugin Splosion v0.2 at org.bukkit.command.PluginCommand.execute(PluginCommand.java:37) at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:128) at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:287) at net.minecraft.server.NetServerHandler.handleCommand(NetServerHandler.java:712) at net.minecraft.server.NetServerHandler.chat(NetServerHandler.java:678) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:671) at net.minecraft.server.Packet3Chat.a(Packet3Chat.java:32) at net.minecraft.server.NetworkManager.b(NetworkManager.java:226) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:75) at net.minecraft.server.NetworkListenThread.a(SourceFile:105) at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:399) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:309) at net.minecraft.server.ThreadServerApplication.run(SourceFile:422) Caused by: java.lang.ArrayIndexOutOfBoundsException: 0 at com.kuzi117.splosion.Splosion.onCommand(Splosion.java:39) at org.bukkit.command.PluginCommand.execute(PluginCommand.java:35) ... 12 more
Code:java if(sender instanceof ConsoleCommandSender){ //from console}else{ //from player or other CommandSender, could be from other plugin} or Code:java if(!(sender instanceof Player)){ //not from Player}else{ //from Player}