From 1f5b7fed7c9b96cce7d5b178f9b5fddc1007b873 Mon Sep 17 00:00:00 2001 From: Ammar Askar Date: Fri, 20 Mar 2015 20:29:08 +0500 Subject: [PATCH] Allow explicitly hiding or unhiding with /lb hide . Addresses #526 --- .../de/diddiz/LogBlock/CommandsHandler.java | 19 +++++++++++++++---- .../java/de/diddiz/LogBlock/Consumer.java | 10 +++++++++- 2 files changed, 24 insertions(+), 5 deletions(-) diff --git a/src/main/java/de/diddiz/LogBlock/CommandsHandler.java b/src/main/java/de/diddiz/LogBlock/CommandsHandler.java index c6636c3..469aa36 100755 --- a/src/main/java/de/diddiz/LogBlock/CommandsHandler.java +++ b/src/main/java/de/diddiz/LogBlock/CommandsHandler.java @@ -189,10 +189,21 @@ public class CommandsHandler implements CommandExecutor } else if (command.equals("hide")) { if (sender instanceof Player) { if (logblock.hasPermission(sender, "logblock.hide")) { - if (Consumer.hide((Player)sender)) - sender.sendMessage(ChatColor.GREEN + "You are now hidden and aren't logged. Type '/lb hide' again to unhide"); - else - sender.sendMessage(ChatColor.GREEN + "You aren't hidden anylonger."); + if (args.length == 2) { + if (args[1].equalsIgnoreCase("on")) { + Consumer.hide((Player) sender); + sender.sendMessage(ChatColor.GREEN + "You are now hidden and aren't logged. Type /lb hide to unhide."); + } else if (args[1].equalsIgnoreCase("off")) { + Consumer.unHide((Player) sender); + sender.sendMessage(ChatColor.GREEN + "You aren't hidden any longer."); + } + } else { + if (Consumer.toggleHide((Player) sender)) { + sender.sendMessage(ChatColor.GREEN + "You are now hidden and aren't logged. Type '/lb hide' again to unhide."); + } else { + sender.sendMessage(ChatColor.GREEN + "You aren't hidden any longer."); + } + } } else sender.sendMessage(ChatColor.RED + "You aren't allowed to do this."); } else diff --git a/src/main/java/de/diddiz/LogBlock/Consumer.java b/src/main/java/de/diddiz/LogBlock/Consumer.java index 61ccc95..efedc5d 100644 --- a/src/main/java/de/diddiz/LogBlock/Consumer.java +++ b/src/main/java/de/diddiz/LogBlock/Consumer.java @@ -396,7 +396,15 @@ public class Consumer extends TimerTask return queue.size(); } - static boolean hide(Player player) { + static void hide(Player player) { + hiddenPlayers.add(player.getName().toLowerCase()); + } + + static void unHide(Player player) { + hiddenPlayers.remove(player.getName().toLowerCase()); + } + + static boolean toggleHide(Player player) { final String playerName = player.getName().toLowerCase(); if (hiddenPlayers.contains(playerName)) { hiddenPlayers.remove(playerName);