/* * (non-Javadoc) * * @see * be.Balor.Manager.ACCommands#execute(org.bukkit.command.CommandSender, * java.lang.String[]) */ @Override public void execute(final CommandSender sender, final CommandArgs args) throws ActionNotPermitedException, PlayerNotFound { if (Utils.isPlayer(sender)) { final Player p = (Player) sender; String msg = ""; Set<String> wp; if (args.hasFlag('a')) { if (!PermissionManager.hasPerm(sender, tpAll.getBukkitPerm())) { return; } wp = WorldManager.getInstance().getAllWarpList(); } else { wp = ACWorld.getWorld(p.getWorld()).getWarpList(); } sender.sendMessage(ChatColor.GOLD + "Warp Point(s) : " + ChatColor.WHITE + wp.size()); for (final String name : wp) { msg += name + ", "; if (msg.length() >= ACMinecraftFontWidthCalculator.chatwidth) { sender.sendMessage(msg); msg = ""; } } if (!msg.equals("")) { if (msg.endsWith(", ")) { msg = msg.substring(0, msg.lastIndexOf(",")); } sender.sendMessage(msg); } } }
/* * (non-Javadoc) * * @see * be.Balor.Manager.ACCommands#execute(org.bukkit.command.CommandSender, * java.lang.String[]) */ @Override public void execute(final CommandSender sender, final CommandArgs args) throws ActionNotPermitedException, PlayerNotFound { final Player toBan = Utils.getPlayer(args.getString(0)); final HashMap<String, String> replace = new HashMap<String, String>(); String message = ""; String banPlayerString; if (toBan != null) { banPlayerString = toBan.getName(); if (!Utils.checkImmunity(sender, toBan)) { Utils.sI18n(sender, "insufficientLvl"); return; } } else { banPlayerString = args.getString(0); } Integer tmpBan = null; if (args.length >= 2) { if (args.hasFlag('m')) { message = LocaleManager.getInstance() .get("kickMessages", args.getValueFlag('m'), "player", banPlayerString); } try { final int tmpIntTime = Utils.timeParser(args.getString(args.length - 1)); if (tmpIntTime != -1) { tmpBan = tmpIntTime; } } catch (final NotANumberException e) { Utils.sI18n(sender, "NaN", "number", args.getString(args.length - 1)); return; } if (message == null || (message != null && message.isEmpty())) { message = ""; if (tmpBan == null) { for (int i = 1; i < args.length; i++) { message += args.getString(i) + " "; } } else { for (int i = 1; i < args.length - 1; i++) { message += args.getString(i) + " "; } } } if (message.isEmpty()) { message += " You have been banned "; if (!Utils.isPlayer(sender, false)) { message += "by Server Admin"; } else { message += "by " + ChatColor.stripColor(Utils.getPlayerName((Player) sender)); } } } else { if (message.isEmpty()) { message = "You have been banned "; if (!Utils.isPlayer(sender, false)) { message += "by Server Admin"; } else { message += "by " + ChatColor.stripColor(Utils.getPlayerName((Player) sender)); } } } message = message.trim(); replace.put("player", banPlayerString); replace.put("reason", message); final Matcher ipv4 = Utils.REGEX_IP_V4.matcher(banPlayerString); final Matcher inaccurateIp = Utils.REGEX_INACCURATE_IP_V4.matcher(banPlayerString); if (tmpBan != null) { message += " (Banned for " + tmpBan + " minutes)"; replace.put("reason", message); ITempBan ban; if (inaccurateIp.find()) { if (!ipv4.find()) { replace.clear(); replace.put("ip", banPlayerString); LocaleHelper.INACC_IP.sendLocale(sender, replace); return; } ban = new TempBannedIP(banPlayerString, message, tmpBan * 60 * 1000); ACHelper.getInstance().banPlayer(ban); } else { ban = new TempBannedPlayer(banPlayerString, message, tmpBan * 60 * 1000); ACHelper.getInstance().banPlayer(ban); } ACPluginManager.getScheduler() .runTaskLaterAsynchronously( getPlugin(), new UnBanTask(ban, true), Utils.secInTick * 60 * tmpBan); } else { if (inaccurateIp.find()) { if (!ipv4.find()) { replace.clear(); replace.put("ip", banPlayerString); LocaleHelper.INACC_IP.sendLocale(sender, replace); return; } ACHelper.getInstance().banPlayer(new BannedIP(banPlayerString, message)); } else { ACHelper.getInstance().banPlayer(new BannedPlayer(banPlayerString, message)); } } ACPlayer.getPlayer(toBan).setPower(Type.KICKED); if (toBan != null) { final String finalmsg = message; final Player finalToKick = toBan; ACPluginManager.scheduleSyncTask( new Runnable() { @Override public void run() { finalToKick.kickPlayer(finalmsg); } }); } Utils.broadcastMessage(Utils.I18n("ban", replace)); }