/* * (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 String timeOut = args.getValueFlag('t'); final Player player = Utils.getUser(sender, args, permNode); if (player != null) { final HashMap<String, String> replace = new HashMap<String, String>(); replace.put("player", Utils.getPlayerName(player)); final ACPlayer acp = ACPlayer.getPlayer(player); if (acp.hasPower(Type.GOD)) { acp.removePower(Type.GOD); Utils.sI18n(player, "godDisabled"); if (!player.equals(sender)) { Utils.sI18n(sender, "godDisabledTarget", replace); } } else { acp.setPower(Type.GOD); Utils.sI18n(player, "godEnabled"); if (!player.equals(sender)) { Utils.sI18n(sender, "godEnabledTarget", replace); } if (timeOut == null) { return; } int timeOutValue; try { timeOutValue = Integer.parseInt(timeOut); } catch (final Exception e) { Utils.sI18n(sender, "NaN", "number", timeOut); return; } ACPluginManager.getScheduler() .runTaskLaterAsynchronously( ACPluginManager.getCorePlugin(), new RemovePowerTask(acp, Type.GOD, sender), Utils.secInTick * ConfigEnum.SCALE_TIMEOUT.getInt() * timeOutValue); } } }
/* * (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)); }