Search in sources :

Example 1 with Ban

use of me.totalfreedom.totalfreedommod.banning.Ban in project TotalFreedomMod by TotalFreedom.

the class Command_doom method run.

@Override
public boolean run(final CommandSender sender, Player playerSender, Command cmd, String commandLabel, String[] args, boolean senderIsConsole) {
    if (args.length != 1) {
        return false;
    }
    final Player player = getPlayer(args[0]);
    if (player == null) {
        sender.sendMessage(FreedomCommand.PLAYER_NOT_FOUND);
        return true;
    }
    FUtil.adminAction(sender.getName(), "Casting oblivion over " + player.getName(), true);
    FUtil.bcastMsg(player.getName() + " will be completely obliviated!", ChatColor.RED);
    final String ip = player.getAddress().getAddress().getHostAddress().trim();
    // Remove from superadmin
    Admin admin = getAdmin(player);
    if (admin != null) {
        FUtil.adminAction(sender.getName(), "Removing " + player.getName() + " from the superadmin list", true);
        plugin.al.removeAdmin(admin);
    }
    // Remove from whitelist
    player.setWhitelisted(false);
    // Deop
    player.setOp(false);
    // Ban player
    Ban ban = Ban.forPlayer(player, sender);
    ban.setReason("&cFUCKOFF");
    for (String playerIp : plugin.pl.getData(player).getIps()) {
        ban.addIp(playerIp);
    }
    plugin.bm.addBan(ban);
    // Set gamemode to survival
    player.setGameMode(GameMode.SURVIVAL);
    // Clear inventory
    player.closeInventory();
    player.getInventory().clear();
    // Ignite player
    player.setFireTicks(10000);
    // Generate explosion
    player.getWorld().createExplosion(player.getLocation(), 0F, false);
    // Shoot the player in the sky
    player.setVelocity(player.getVelocity().clone().add(new Vector(0, 20, 0)));
    new BukkitRunnable() {

        @Override
        public void run() {
            // strike lightning
            player.getWorld().strikeLightning(player.getLocation());
            // kill (if not done already)
            player.setHealth(0.0);
        }
    }.runTaskLater(plugin, 2L * 20L);
    new BukkitRunnable() {

        @Override
        public void run() {
            // message
            FUtil.adminAction(sender.getName(), "Banning " + player.getName() + ", IP: " + ip, true);
            // generate explosion
            player.getWorld().createExplosion(player.getLocation(), 0F, false);
            // kick player
            player.kickPlayer(ChatColor.RED + "FUCKOFF, and get your shit together!");
        }
    }.runTaskLater(plugin, 3L * 20L);
    return true;
}
Also used : Player(org.bukkit.entity.Player) BukkitRunnable(org.bukkit.scheduler.BukkitRunnable) Admin(me.totalfreedom.totalfreedommod.admin.Admin) Vector(org.bukkit.util.Vector) Ban(me.totalfreedom.totalfreedommod.banning.Ban)

Example 2 with Ban

use of me.totalfreedom.totalfreedommod.banning.Ban in project TotalFreedomMod by TotalFreedom.

the class Command_glist method run.

@Override
public boolean run(CommandSender sender, Player playerSender, Command cmd, String commandLabel, String[] args, boolean senderIsConsole) {
    if (args.length < 1) {
        return false;
    }
    if (args.length == 1) {
        if ("purge".equals(args[0])) {
            checkRank(Rank.SENIOR_ADMIN);
            plugin.pl.purgeAllData();
            msg("Purged playerbase.");
            return true;
        }
        return false;
    }
    if (args.length < 2) {
        return false;
    }
    String username;
    final List<String> ips = new ArrayList<>();
    final Player player = getPlayer(args[1]);
    if (player == null) {
        final PlayerData entry = plugin.pl.getData(args[1]);
        if (entry == null) {
            msg("Can't find that user. If target is not logged in, make sure that you spelled the name exactly.");
            return true;
        }
        username = entry.getUsername();
        ips.addAll(entry.getIps());
    } else {
        final PlayerData entry = plugin.pl.getData(player);
        username = player.getName();
        ips.addAll(entry.getIps());
    }
    if ("ban".equals(args[0])) {
        FUtil.adminAction(sender.getName(), "Banning " + username + " and IPs: " + StringUtils.join(ips, ", "), true);
        final String reason = args.length > 2 ? StringUtils.join(args, " ", 2, args.length) : null;
        Ban ban = Ban.forPlayerName(username, sender, null, reason);
        for (String ip : ips) {
            ban.addIp(ip);
            ban.addIp(FUtil.getFuzzyIp(ip));
        }
        plugin.bm.addBan(ban);
        if (player != null) {
            player.kickPlayer(ban.bakeKickMessage());
        }
        return true;
    }
    if ("unban".equals(args[0])) {
        FUtil.adminAction(sender.getName(), "Unbanning " + username + " and IPs: " + StringUtils.join(ips, ", "), true);
        plugin.bm.removeBan(plugin.bm.getByUsername(username));
        for (String ip : ips) {
            Ban ban = plugin.bm.getByIp(ip);
            if (ban != null) {
                plugin.bm.removeBan(ban);
            }
            ban = plugin.bm.getByIp(FUtil.getFuzzyIp(ip));
            if (ban != null) {
                plugin.bm.removeBan(ban);
            }
        }
        return true;
    }
    return false;
}
Also used : Player(org.bukkit.entity.Player) ArrayList(java.util.ArrayList) PlayerData(me.totalfreedom.totalfreedommod.player.PlayerData) Ban(me.totalfreedom.totalfreedommod.banning.Ban)

Aggregations

Ban (me.totalfreedom.totalfreedommod.banning.Ban)2 Player (org.bukkit.entity.Player)2 ArrayList (java.util.ArrayList)1 Admin (me.totalfreedom.totalfreedommod.admin.Admin)1 PlayerData (me.totalfreedom.totalfreedommod.player.PlayerData)1 BukkitRunnable (org.bukkit.scheduler.BukkitRunnable)1 Vector (org.bukkit.util.Vector)1