Hallo Leute, ich programmiere gerade ein Plugins für meinen Bukkitserver. Ich habe bereits 2 funktionierende Plugins programmiert, nur dieses 3. Plugin macht probleme.
Folgendes soll passieren:
1. Spieler führt Command aus z.b. /sl sstart
2. Ein Text (serverstart) wird in eine Datei eingetragen
3. Homepage frägt diese Datei ab und fügt dementsprechend einen Eintrag in die Tabelle ein
Problem: Spieler führt den Command aus und bekommt die Meldung "An internal error occurred while attempting to perform this command"
Log:
Code:
1. Erkenntnis: args[0] == null, lösung?
Danke im Vorraus!
Folgendes soll passieren:
1. Spieler führt Command aus z.b. /sl sstart
2. Ein Text (serverstart) wird in eine Datei eingetragen
3. Homepage frägt diese Datei ab und fügt dementsprechend einen Eintrag in die Tabelle ein
Problem: Spieler führt den Command aus und bekommt die Meldung "An internal error occurred while attempting to perform this command"
Log:
org.bukkit.command.CommandException: Unhandled exception executing command 'sl' in plugin ServerLog v0.0.1
at org.bukkit.command.PluginCommand.execute(PluginCommand.java:42)
at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:168)
at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:492)
at net.minecraft.server.NetServerHandler.handleCommand(NetServerHandler.java:878)
at net.minecraft.server.NetServerHandler.chat(NetServerHandler.java:825)
at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:807)
at net.minecraft.server.Packet3Chat.handle(Packet3Chat.java:44)
at net.minecraft.server.NetworkManager.b(NetworkManager.java:276)
at net.minecraft.server.NetServerHandler.d(NetServerHandler.java:109)
at net.minecraft.server.ServerConnection.b(SourceFile:35)
at net.minecraft.server.DedicatedServerConnection.b(SourceFile:30)
at net.minecraft.server.MinecraftServer.q(MinecraftServer.java:581)
at net.minecraft.server.DedicatedServer.q(DedicatedServer.java:212)
at net.minecraft.server.MinecraftServer.p(MinecraftServer.java:474)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:406)
at net.minecraft.server.ThreadServerApplication.run(SourceFile:539)
Caused by: java.lang.ArrayIndexOutOfBoundsException: 1
at me.Garfield7.ServerLog.ServerLog.onCommand(ServerLog.java:71)
at org.bukkit.command.PluginCommand.execute(PluginCommand.java:40)
... 15 more
at org.bukkit.command.PluginCommand.execute(PluginCommand.java:42)
at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:168)
at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:492)
at net.minecraft.server.NetServerHandler.handleCommand(NetServerHandler.java:878)
at net.minecraft.server.NetServerHandler.chat(NetServerHandler.java:825)
at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:807)
at net.minecraft.server.Packet3Chat.handle(Packet3Chat.java:44)
at net.minecraft.server.NetworkManager.b(NetworkManager.java:276)
at net.minecraft.server.NetServerHandler.d(NetServerHandler.java:109)
at net.minecraft.server.ServerConnection.b(SourceFile:35)
at net.minecraft.server.DedicatedServerConnection.b(SourceFile:30)
at net.minecraft.server.MinecraftServer.q(MinecraftServer.java:581)
at net.minecraft.server.DedicatedServer.q(DedicatedServer.java:212)
at net.minecraft.server.MinecraftServer.p(MinecraftServer.java:474)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:406)
at net.minecraft.server.ThreadServerApplication.run(SourceFile:539)
Caused by: java.lang.ArrayIndexOutOfBoundsException: 1
at me.Garfield7.ServerLog.ServerLog.onCommand(ServerLog.java:71)
at org.bukkit.command.PluginCommand.execute(PluginCommand.java:40)
... 15 more
Code:
//Command sl sstop, sstart, supdate, reload, info
if(cmd.getName().equalsIgnoreCase("sl")){
if(args.length == 1 && args[0] != null){
String n1 = args[0];
if(p.hasPermission("serverlog.server.stop") || p.hasPermission("serverlog.server.*") || p.hasPermission("serverlog.*")) {
String n2 = "sstop";
if(n1 == n2){
ds.setServerStops(p.getName());
return true;
}
}
if(p.hasPermission("serverlog.server.start") || p.hasPermission("serverlog.server.*") || p.hasPermission("serverlog.*")) {
String n3 = "sstart";
if(n1 == n3){
ds.setServerStarts(p.getName());
return true;
}
}
if(p.hasPermission("serverlog.server.update") || p.hasPermission("serverlog.server.*") || p.hasPermission("serverlog.*")) {
String n4 = "supdate";
if(n1 == n4){
ds.setServerUpdate(p.getName());
return true;
}
}
if(p.hasPermission("serverlog.server.defekt") || p.hasPermission("serverlog.server.*") || p.hasPermission("serverlog.*")) {
String n5 = "sdefekt";
if(n1 == n5){
ds.setServerDefekt(p.getName());
return true;
}
}
if(p.hasPermission("serverlog.reload") || p.hasPermission("serverlog.*")) {
String n6 = "reload";
if(n1 == n6){
getServer().getPluginManager().disablePlugin(this);
getServer().getPluginManager().enablePlugin(this);
return true;
}
}
if(p.hasPermission("serverlog.info") || p.hasPermission("serverlog.*")) {
String n7 = "info";
if(n1 == n7){
p.sendMessage(ChatColor.RED + "[" + broadcastName + "]" + ChatColor.GREEN +" Dies ist das Plugin '" + descFile.getName() + "' von " + descFile.getAuthors() + "!");
p.sendMessage(ChatColor.RED + "[" + broadcastName + "]" + ChatColor.GREEN +" Dies ist die Version " + descFile.getVersion() + "");
}
}
if(p.hasPermission("serverlog.automessage") || p.hasPermission("serverlog.*")) {
String n8 = "automessage";
if(n1 == n8){
sendmessage();
return true;
}
}
}else if(args.length == 0){
p.sendMessage(ChatColor.RED + "[" + broadcastName + "]" + ChatColor.GREEN +" Dies ist das Plugin '" + descFile.getName() + "' von " + descFile.getAuthors() + "!");
p.sendMessage(ChatColor.RED + "[" + broadcastName + "]" + ChatColor.GREEN +" Dies ist die Version " + descFile.getVersion() + "");
p.sendMessage(ChatColor.RED + "[" + broadcastName + "]" + ChatColor.GREEN +" Alle Commands: info, reload, automessage, sstop, sstart, supdate, sdefekt");
return true;
}
}
if(cmd.getName().equalsIgnoreCase("sl")){
if(args.length == 1 && args[0] != null){
String n1 = args[0];
if(p.hasPermission("serverlog.server.stop") || p.hasPermission("serverlog.server.*") || p.hasPermission("serverlog.*")) {
String n2 = "sstop";
if(n1 == n2){
ds.setServerStops(p.getName());
return true;
}
}
if(p.hasPermission("serverlog.server.start") || p.hasPermission("serverlog.server.*") || p.hasPermission("serverlog.*")) {
String n3 = "sstart";
if(n1 == n3){
ds.setServerStarts(p.getName());
return true;
}
}
if(p.hasPermission("serverlog.server.update") || p.hasPermission("serverlog.server.*") || p.hasPermission("serverlog.*")) {
String n4 = "supdate";
if(n1 == n4){
ds.setServerUpdate(p.getName());
return true;
}
}
if(p.hasPermission("serverlog.server.defekt") || p.hasPermission("serverlog.server.*") || p.hasPermission("serverlog.*")) {
String n5 = "sdefekt";
if(n1 == n5){
ds.setServerDefekt(p.getName());
return true;
}
}
if(p.hasPermission("serverlog.reload") || p.hasPermission("serverlog.*")) {
String n6 = "reload";
if(n1 == n6){
getServer().getPluginManager().disablePlugin(this);
getServer().getPluginManager().enablePlugin(this);
return true;
}
}
if(p.hasPermission("serverlog.info") || p.hasPermission("serverlog.*")) {
String n7 = "info";
if(n1 == n7){
p.sendMessage(ChatColor.RED + "[" + broadcastName + "]" + ChatColor.GREEN +" Dies ist das Plugin '" + descFile.getName() + "' von " + descFile.getAuthors() + "!");
p.sendMessage(ChatColor.RED + "[" + broadcastName + "]" + ChatColor.GREEN +" Dies ist die Version " + descFile.getVersion() + "");
}
}
if(p.hasPermission("serverlog.automessage") || p.hasPermission("serverlog.*")) {
String n8 = "automessage";
if(n1 == n8){
sendmessage();
return true;
}
}
}else if(args.length == 0){
p.sendMessage(ChatColor.RED + "[" + broadcastName + "]" + ChatColor.GREEN +" Dies ist das Plugin '" + descFile.getName() + "' von " + descFile.getAuthors() + "!");
p.sendMessage(ChatColor.RED + "[" + broadcastName + "]" + ChatColor.GREEN +" Dies ist die Version " + descFile.getVersion() + "");
p.sendMessage(ChatColor.RED + "[" + broadcastName + "]" + ChatColor.GREEN +" Alle Commands: info, reload, automessage, sstop, sstart, supdate, sdefekt");
return true;
}
}
1. Erkenntnis: args[0] == null, lösung?
Danke im Vorraus!
Zuletzt bearbeitet: