diff options
author | David Panić <david@panic.tk> | 2019-04-07 22:23:38 +0200 |
---|---|---|
committer | David Panić <david@panic.tk> | 2019-04-07 22:23:38 +0200 |
commit | 7ae8d6908a77d05d2464a1e894151d2b493bc13d (patch) | |
tree | 3e3c7f7e3d982314337dba60f42820fc534001d7 /src/main/java/com/redstoner/bungeeBans/commands/UnbanIPCommand.java | |
parent | ecc4b6d999ffc5dd482fec4a76b5c63a8d0143ce (diff) |
Added IP banning support
Diffstat (limited to 'src/main/java/com/redstoner/bungeeBans/commands/UnbanIPCommand.java')
-rw-r--r-- | src/main/java/com/redstoner/bungeeBans/commands/UnbanIPCommand.java | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/src/main/java/com/redstoner/bungeeBans/commands/UnbanIPCommand.java b/src/main/java/com/redstoner/bungeeBans/commands/UnbanIPCommand.java new file mode 100644 index 0000000..c314660 --- /dev/null +++ b/src/main/java/com/redstoner/bungeeBans/commands/UnbanIPCommand.java @@ -0,0 +1,68 @@ +package com.redstoner.bungeeBans.commands; + +import com.redstoner.bungeeBans.BanManager; +import com.redstoner.bungeeBans.Util; +import com.redstoner.bungeeBans.json.IPBan; +import net.md_5.bungee.api.ChatColor; +import net.md_5.bungee.api.CommandSender; +import net.md_5.bungee.api.chat.ComponentBuilder; +import net.md_5.bungee.api.chat.TextComponent; +import net.md_5.bungee.api.plugin.Command; + +import java.io.IOException; + +public class UnbanIPCommand extends Command { + private BanManager<IPBan> bm; + + public UnbanIPCommand(BanManager<IPBan> bm) { + super("unbanip", "bungeebans.unbanip", "pardonip"); + + this.bm = bm; + } + + @Override + public void execute(CommandSender sender, String[] args) { + if (args.length != 1) { + sender.sendMessage( + new ComponentBuilder(ChatColor.RED + "Usage: ") + .append(ChatColor.AQUA + "/unbanip ") + .append(ChatColor.GOLD + "<ip> ") + .create() + ); + + return; + } + + String ip = args[0]; + + if (!Util.validateIP(ip)) { + sender.sendMessage(new TextComponent(ChatColor.RED + "Invalid IP!")); + return; + } + + IPBan ban = bm.getBan(ip); + + if (ban == null) { + sender.sendMessage(new TextComponent(ChatColor.RED + "That IP is not banned!")); + return; + } + + bm.removeBan(ban); + + try { + bm.saveBans(); + } catch (IOException e) { + sender.sendMessage(new TextComponent(ChatColor.RED + "Failed to save IP bans to file! (nothing was changed)")); + e.printStackTrace(); + + bm.addBan(ban); + return; + } + + sender.sendMessage( + new ComponentBuilder(ChatColor.GREEN + "Unbanned IP ") + .append(ChatColor.AQUA + ip) + .create() + ); + } +} |