From 0d0ad7d9478d2242deacd849241d7016851a02e9 Mon Sep 17 00:00:00 2001 From: ZeroEpoch1969 <13510767+ZeroEpoch1969@users.noreply.github.com> Date: Wed, 25 Jul 2018 15:06:19 -0700 Subject: [PATCH] This is 2018 --- .../totalfreedommod/command/Command_gtfo.java | 2 +- .../command/Command_purgeall.java | 2 +- .../command/Command_unban.java | 58 +++++++++++++++++++ src/main/resources/config.yml | 3 +- 4 files changed, 61 insertions(+), 4 deletions(-) create mode 100644 src/main/java/me/totalfreedom/totalfreedommod/command/Command_unban.java diff --git a/src/main/java/me/totalfreedom/totalfreedommod/command/Command_gtfo.java b/src/main/java/me/totalfreedom/totalfreedommod/command/Command_gtfo.java index bc6a8284..77600a60 100644 --- a/src/main/java/me/totalfreedom/totalfreedommod/command/Command_gtfo.java +++ b/src/main/java/me/totalfreedom/totalfreedommod/command/Command_gtfo.java @@ -18,7 +18,7 @@ import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; @CommandPermissions(level = Rank.SUPER_ADMIN, source = SourceType.BOTH, blockHostConsole = true) -@CommandParameters(description = "Bans a player", usage = "/ [reason] [-nrb]") +@CommandParameters(description = "Bans a player", usage = "/ [reason] [-nrb]", aliases = "ban") public class Command_gtfo extends FreedomCommand { diff --git a/src/main/java/me/totalfreedom/totalfreedommod/command/Command_purgeall.java b/src/main/java/me/totalfreedom/totalfreedommod/command/Command_purgeall.java index f70c1c97..c2176bfa 100644 --- a/src/main/java/me/totalfreedom/totalfreedommod/command/Command_purgeall.java +++ b/src/main/java/me/totalfreedom/totalfreedommod/command/Command_purgeall.java @@ -9,7 +9,7 @@ import org.bukkit.entity.Player; import org.bukkit.potion.PotionEffect; @CommandPermissions(level = Rank.SUPER_ADMIN, source = SourceType.BOTH) -@CommandParameters(description = "Superadmin command - Purge everything! (except for bans).", usage = "/") +@CommandParameters(description = "Purge everything! (except for bans).", usage = "/") public class Command_purgeall extends FreedomCommand { diff --git a/src/main/java/me/totalfreedom/totalfreedommod/command/Command_unban.java b/src/main/java/me/totalfreedom/totalfreedommod/command/Command_unban.java new file mode 100644 index 00000000..558312b0 --- /dev/null +++ b/src/main/java/me/totalfreedom/totalfreedommod/command/Command_unban.java @@ -0,0 +1,58 @@ +package me.totalfreedom.totalfreedommod.command; + +import java.util.ArrayList; +import java.util.List; +import me.totalfreedom.totalfreedommod.banning.Ban; +import me.totalfreedom.totalfreedommod.player.PlayerData; +import me.totalfreedom.totalfreedommod.rank.Rank; +import me.totalfreedom.totalfreedommod.util.FUtil; +import org.apache.commons.lang3.StringUtils; +import org.bukkit.command.Command; +import org.bukkit.command.CommandSender; +import org.bukkit.entity.Player; + +@CommandPermissions(level = Rank.SUPER_ADMIN, source = SourceType.BOTH) +@CommandParameters(description = "Unbans a player", usage = "/ ") +public class Command_unban extends FreedomCommand +{ + + @Override + public boolean run(CommandSender sender, Player playerSender, Command cmd, String commandLabel, String[] args, boolean senderIsConsole) + { + if (args.length == 1) + { + String username; + final List ips = new ArrayList<>(); + final PlayerData entry = plugin.pl.getData(args[0]); + + if (entry == null) + { + msg("Can't find that user."); + return true; + } + + username = entry.getUsername(); + ips.addAll(entry.getIps()); + + 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; + } +} diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index 35f44b33..57fe9eeb 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -119,7 +119,6 @@ blocked_commands: # Disabled commands - 'n:b:/time:Server-side time changing is disabled. Please use /ptime to set your own personal time.' - 'n:b:/gamemode:Use /creative and /survival to set your gamemode.' - - 'n:b:/ban:_' - 'n:b:/pardon:_' - 'n:b:/ban-ip:_' - 'n:b:/pardon-ip:_' @@ -237,7 +236,7 @@ flatlands: # Admin-Only Mode admin_only_mode: false -# Protected Areas - Protect areas so that only superadmins can directly modify blocks in those areas. WorldEdit and other such plugins might bypass this. +# Protected Areas - Protect areas so that only admins can directly modify blocks in those areas. WorldEdit and other such plugins might bypass this. protectarea: enabled: true auto_protect_spawnpoints: true