package me.km.commands; import com.mojang.authlib.GameProfile; import me.km.api.Utils; import me.km.api.GlobalText; import me.km.api.Module; import me.km.api.ModuleCommand; import java.util.Date; import me.km.KajetansMod; import me.km.permissions.Permissions; import net.minecraft.command.ICommandSender; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.server.management.UserListBansEntry; import net.minecraft.util.text.TextComponentString; public class CommandTempBan extends ModuleCommand { public CommandTempBan(Module m) { super("tempban", m); super.setDescription("Bannt einen Spiele temporär"); super.setUsage("/tempban "); super.setPermission(Permissions.TEMP_BAN); } @Override public boolean execute(ICommandSender cs, String[] arg) { if(arg.length <= 4) { return false; } Date date = new Date(System.currentTimeMillis()); try { long days = Integer.parseInt(arg[1]) * 86400000l; long hours = Integer.parseInt(arg[2]) * 3600000l; long minutes = Integer.parseInt(arg[3]) * 60000l; if(days < 0 || hours < 0 || minutes < 0) { throw new NumberFormatException(); } date.setTime(date.getTime() + days + hours + minutes); } catch(NumberFormatException ex) { this.getModule().send(cs, GlobalText.noNaturalNumber()); return true; } GameProfile affectedPlayer = KajetansMod.playerbank.getDataBank().getOfflinePlayer(arg[0]); if(affectedPlayer == null) { this.getModule().send(cs, GlobalText.cantFindPlayer(arg[0])); return true; } String time = arg[1] + " Tage, " + arg[2] + " Stunden und " + arg[3] + " Minuten"; if(arg[1].equals("1")) { time = time.replace("Tage", "Tag"); } if(arg[2].equals("1")) { time = time.replace("Stunden", "Stunde"); } if(arg[3].equals("1")) { time = time.replace("Minuten", "Minute"); } String message = Utils.connectSpaces(arg, 4); this.getModule().sendBroadcast("§4" + affectedPlayer.getName() + " §cwurde von §4" + cs.getName() + "§c für " + time + " gebannt, weil: §4" + message); UserListBansEntry bans = new UserListBansEntry(affectedPlayer, null, cs.getName(), date, message); KajetansMod.server.getPlayerList().getBannedPlayers().addEntry(bans); EntityPlayerMP p = KajetansMod.server.getPlayerList().getPlayerByUUID(affectedPlayer.getId()); if(p != null) { p.connection.disconnect(new TextComponentString("§4Du §cwurdest von §4" + cs.getName() + "§c für " + time + " gebannt, weil: §4" + message)); } return true; } }