From 2da802d4b7b73ecdacfe6a02ce9197a468c75cbc Mon Sep 17 00:00:00 2001 From: KHobbits Date: Mon, 12 Mar 2012 15:00:44 +0000 Subject: [PATCH] New permission: essentials.seen.banreason With this permission players can see why a user was banned, in /seen. --- .../essentials/commands/Commandseen.java | 25 +++++++++++++------ 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandseen.java b/Essentials/src/com/earth2me/essentials/commands/Commandseen.java index 131d38f81..2783fb68e 100644 --- a/Essentials/src/com/earth2me/essentials/commands/Commandseen.java +++ b/Essentials/src/com/earth2me/essentials/commands/Commandseen.java @@ -16,6 +16,17 @@ public class Commandseen extends EssentialsCommand @Override protected void run(final Server server, final CommandSender sender, final String commandLabel, final String[] args) throws Exception + { + seen(server,sender,args,true); + } + + @Override + protected void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception + { + seen(server,user,args,user.isAuthorized("essentials.seen.banreason")); + } + + protected void seen (final Server server, final CommandSender sender, final String[] args, final boolean show) throws Exception { if (args.length < 1) { @@ -23,20 +34,20 @@ public class Commandseen extends EssentialsCommand } try { - User user = getPlayer(server, args, 0); - sender.sendMessage(_("seenOnline", user.getDisplayName(), Util.formatDateDiff(user.getLastLogin()))); + User player = getPlayer(server, args, 0); + sender.sendMessage(_("seenOnline", player.getDisplayName(), Util.formatDateDiff(player.getLastLogin()))); } catch (NoSuchFieldException e) { - User user = ess.getOfflineUser(args[0]); - if (user == null) + User player = ess.getOfflineUser(args[0]); + if (player == null) { throw new Exception(_("playerNotFound")); } - sender.sendMessage(_("seenOffline", user.getDisplayName(), Util.formatDateDiff(user.getLastLogout()))); - if (user.isBanned()) + sender.sendMessage(_("seenOffline", player.getDisplayName(), Util.formatDateDiff(player.getLastLogout()))); + if (player.isBanned()) { - sender.sendMessage(_("whoisBanned", user.getBanReason())); + sender.sendMessage(_("whoisBanned", show ? player.getBanReason() : _("true"))); } } }