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;
}
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;
}
Aggregations