• Es freut uns dass du in unser Minecraft Forum gefunden hast. Hier kannst du mit über 130.000 Minecraft Fans über Minecraft diskutieren, Fragen stellen und anderen helfen. In diesem Minecraft Forum kannst du auch nach Teammitgliedern, Administratoren, Moderatoren , Supporter oder Sponsoren suchen. Gerne kannst du im Offtopic Bereich unseres Minecraft Forums auch über nicht Minecraft spezifische Themen reden. Wir hoffen dir gefällt es in unserem Minecraft Forum!

Wo liegt das Problem ^^ [PLEASE HELP] [PRGRAMMIREN BUKKIT] [COMMAND]

necnuc

Redstoneengineer
Registriert
15 Dezember 2013
Beiträge
36
Diamanten
0
Minecraft
necnuc | Der Kunde
Hey Comm.
Ich brauche heute mal eure Hilfe bei einem Command der bei mir nicht funkzioniert aber ich weis nicht warum ?

Code:
package de.necnuc.cmd;

import java.io.IOException;

import org.bukkit.Bukkit;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerLoginEvent;
import org.bukkit.event.player.PlayerLoginEvent.Result;

import de.necnuc.DATA.Data;

public class CommandBan 
implements CommandExecutor ,Listener
{
	
	
	 public static void addwarn(Player targ, int anzahl){
		 
		 int Warns = Data.baninfocfg.getInt("Player." + targ + ".warns");
		 Warns += anzahl;
		 
		 Data.baninfocfg.set("Player." + targ + ".warns", Warns);
	   }

	@Override
	public boolean onCommand(CommandSender sender, Command cmd, String label,String[] args) {
       Player p = (Player)sender;

       if(cmd.getName().equalsIgnoreCase("Warn")){
    	   if(!(p.hasPermission("MZS.BANSTATE"))){
    		   p.sendMessage(Data.messinfocfg.getString("Messages.NoPermission"));
    	   } else {
    	   
    	   if(args.length > 2){
    		   p.sendMessage("§c/warn <player> <grund>");
    	   } else {
    		
    		   Player target = Bukkit.getPlayer(args[0]);
    		   String grund = args[1].replace("&", "§");
    		   
    		   if(Data.baninfocfg.getString("Player." + target + ".warns") == null){
    			   Data.baninfocfg.set("Player." + target + ".warns", 0);
    			   Data.baninfocfg.set("Player." + target + ".banstate", false);
    			   try {
					Data.baninfocfg.save(Data.baninfo);
				} catch (IOException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
    		   } 
    		   
    		   String mess = Data.messinfocfg.getString("Messages.Warn").replace("&", "§").replace("%target", target.getName()).replace("%player", p.getName()).replace("%grund", grund);
    		   
    		   Bukkit.broadcastMessage(mess);
    		   
    		  this.addwarn(target, 1);
    		  
    		  if(Data.baninfocfg.getInt("Player." + target + ".warns") == 10){
    			  Data.baninfocfg.set("Player." + target + ".banstate", true);
    			  Bukkit.getOfflinePlayer("System").getPlayer().kickPlayer(target.getName());
    		  } else 
              if(Data.baninfocfg.getInt("Player." + target + ".warns") == 9){
            	  target.sendMessage("§cDas ist jetzt dein 9. Warn, 1 Warn noch und du wirst automatich gebannt !");
            	  
           	   try {
   				Data.baninfocfg.save(Data.baninfo);
   			} catch (IOException e) {
   				// TODO Auto-generated catch block
   				e.printStackTrace();
   			}
            	  
              }
    		   
    		   try {
				Data.baninfocfg.save(Data.baninfo);
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
    		   
    	   }
    	   }
       }
		
		
       if(cmd.getName().equalsIgnoreCase("Ban")){
    	   if(!(p.hasPermission("MZS.BANSTATE"))){
    		   p.sendMessage(Data.messinfocfg.getString("Messages.NoPermission"));
    	   } else {
    	   Player target = Bukkit.getPlayer(args[0]);
    	   Data.baninfocfg.set("Player." + target + ".banstate", true);
    	   Bukkit.getOfflinePlayer("System").getPlayer().kickPlayer(target.getName());
    	   try {
			Data.baninfocfg.save(Data.baninfo);
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
    	   }
       }
		return false;
	}
	
	
	@EventHandler
	public void onBanKick(PlayerLoginEvent e){
		Player jlp = e.getPlayer();
		if(Data.baninfocfg.getBoolean("Player." + jlp.getName() + "banstate") == true){
			e.disallow(Result.KICK_BANNED, Data.messinfocfg.getString("Messages.CantJoinBanned"));
		}
	}
	
	

}
 

necnuc

Redstoneengineer
Registriert
15 Dezember 2013
Beiträge
36
Diamanten
0
Minecraft
necnuc | Der Kunde
Error

Code:
[12:15:03] [Server thread/INFO]: necnuc issued server command: /ban
[12:15:03] [Server thread/ERROR]: null
org.bukkit.command.CommandException: Unhandled exception executing command 'ban' in plugin MZS v0.1
	at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
	at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:175) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
	at org.bukkit.craftbukkit.v1_7_R1.CraftServer.dispatchCommand(CraftServer.java:683) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
	at net.minecraft.server.v1_7_R1.PlayerConnection.handleCommand(PlayerConnection.java:952) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
	at net.minecraft.server.v1_7_R1.PlayerConnection.a(PlayerConnection.java:814) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
	at net.minecraft.server.v1_7_R1.PacketPlayInChat.a(PacketPlayInChat.java:28) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
	at net.minecraft.server.v1_7_R1.PacketPlayInChat.handle(PacketPlayInChat.java:47) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
	at net.minecraft.server.v1_7_R1.NetworkManager.a(NetworkManager.java:146) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
	at net.minecraft.server.v1_7_R1.ServerConnection.c(SourceFile:134) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
	at net.minecraft.server.v1_7_R1.MinecraftServer.u(MinecraftServer.java:655) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
	at net.minecraft.server.v1_7_R1.DedicatedServer.u(DedicatedServer.java:250) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
	at net.minecraft.server.v1_7_R1.MinecraftServer.t(MinecraftServer.java:545) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
	at net.minecraft.server.v1_7_R1.MinecraftServer.run(MinecraftServer.java:457) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
	at net.minecraft.server.v1_7_R1.ThreadServerApplication.run(SourceFile:617) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
Caused by: java.lang.ArrayIndexOutOfBound***ception: 0
	at de.necnuc.cmd.CommandBan.onCommand(CommandBan.java:95) ~[?:?]
	at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
	... 13 more

- - - Aktualisiert - - -

Code:
[12:26:23] [Server thread/INFO]: Plattio issued server command: /ban
[12:26:23] [Server thread/ERROR]: null
org.bukkit.command.CommandException: Unhandled exception executing command 'ban' in plugin MZS v0.1
	at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
	at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:175) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
	at org.bukkit.craftbukkit.v1_7_R1.CraftServer.dispatchCommand(CraftServer.java:683) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
	at net.minecraft.server.v1_7_R1.PlayerConnection.handleCommand(PlayerConnection.java:952) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
	at net.minecraft.server.v1_7_R1.PlayerConnection.a(PlayerConnection.java:814) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
	at net.minecraft.server.v1_7_R1.PacketPlayInChat.a(PacketPlayInChat.java:28) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
	at net.minecraft.server.v1_7_R1.PacketPlayInChat.handle(PacketPlayInChat.java:47) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
	at net.minecraft.server.v1_7_R1.NetworkManager.a(NetworkManager.java:146) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
	at net.minecraft.server.v1_7_R1.ServerConnection.c(SourceFile:134) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
	at net.minecraft.server.v1_7_R1.MinecraftServer.u(MinecraftServer.java:655) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
	at net.minecraft.server.v1_7_R1.DedicatedServer.u(DedicatedServer.java:250) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
	at net.minecraft.server.v1_7_R1.MinecraftServer.t(MinecraftServer.java:545) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
	at net.minecraft.server.v1_7_R1.MinecraftServer.run(MinecraftServer.java:457) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
	at net.minecraft.server.v1_7_R1.ThreadServerApplication.run(SourceFile:617) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
Caused by: java.lang.ArrayIndexOutOfBound***ception: 0
	at de.necnuc.cmd.CommandBan.onCommand(CommandBan.java:95) ~[?:?]
	at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
	... 13 more













Code:
package de.necnuc.cmd;

import java.io.IOException;

import org.bukkit.Bukkit;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerLoginEvent;
import org.bukkit.event.player.PlayerLoginEvent.Result;

import de.necnuc.DATA.Data;

public class CommandBan 
implements CommandExecutor ,Listener
{
	
	
	 public static void addwarn(Player targ, int anzahl){
		 
		 int Warns = Data.baninfocfg.getInt("Player." + targ + ".warns");
		 Warns += anzahl;
		 
		 Data.baninfocfg.set("Player." + targ + ".warns", Warns);
	   }

	@Override
	public boolean onCommand(CommandSender sender, Command cmd, String label,String[] args) {
       Player p = (Player)sender;

       if(cmd.getName().equalsIgnoreCase("Warn")){
    	   if(!(p.hasPermission("MZS.BANSTATE"))){
    		   p.sendMessage(Data.messinfocfg.getString("Messages.NoPermission"));
    	   } else {
    	   
    	   if(args.length > 2){
    		   p.sendMessage("§c/warn <player> <grund>");
    	   } else if(args.length < 2){
    		
    		   Player target = Bukkit.getPlayer(args[0]);
    		   String grund = args[1].replace("&", "§");
    		   
    		   if(Data.baninfocfg.getString("Player." + target + ".warns") == null){
    			   Data.baninfocfg.set("Player." + target + ".warns", 0);
    			   Data.baninfocfg.set("Player." + target + ".banstate", false);
    			   try {
					Data.baninfocfg.save(Data.baninfo);
				} catch (IOException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
    		   } 
    		   
    		   String mess = Data.messinfocfg.getString("Messages.Warn").replace("&", "§").replace("%target", target.getName()).replace("%player", p.getName()).replace("%grund", grund);
    		   
    		   Bukkit.broadcastMessage(mess);
    		   
    		  this.addwarn(target, 1);
    		  
    		  if(Data.baninfocfg.getInt("Player." + target + ".warns") == 10){
    			  Data.baninfocfg.set("Player." + target + ".banstate", true);
    			  Bukkit.getOfflinePlayer("System").getPlayer().kickPlayer(target.getName());
    		  } else 
              if(Data.baninfocfg.getInt("Player." + target + ".warns") == 9){
            	  target.sendMessage("§cDas ist jetzt dein 9. Warn, 1 Warn noch und du wirst automatich gebannt !");
            	  
           	   try {
   				Data.baninfocfg.save(Data.baninfo);
   			} catch (IOException e) {
   				// TODO Auto-generated catch block
   				e.printStackTrace();
   			}
            	  
              }
    		   
    		   try {
				Data.baninfocfg.save(Data.baninfo);
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
    		   
    	   }
    	   }
       }
		
		
       if(cmd.getName().equalsIgnoreCase("Ban")){
    	   if(!(p.hasPermission("MZS.BANSTATE"))){
    		   p.sendMessage(Data.messinfocfg.getString("Messages.NoPermission"));
    	   } else if(args.length < 1){
    	   Player target = Bukkit.getPlayer(args[0]);
    	   Data.baninfocfg.set("Player." + target + ".banstate", true);
    	   Bukkit.getOfflinePlayer("System").getPlayer().kickPlayer(target.getName());
    	   try {
			Data.baninfocfg.save(Data.baninfo);
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
    	   }
       }
		return false;
	}
	
	
	@EventHandler
	public void onBanKick(PlayerLoginEvent e){
		Player jlp = e.getPlayer();
		if(Data.baninfocfg.getBoolean("Player." + jlp.getName() + "banstate") == true){
			e.disallow(Result.KICK_BANNED, Data.messinfocfg.getString("Messages.CantJoinBanned"));
		}
	}
	
	

}
 
Oben