necnuc
Redstoneengineer
Hey Comm.
Ich brauche heute mal eure Hilfe bei einem Command der bei mir nicht funkzioniert aber ich weis nicht warum ?
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"));
}
}
}