From adb75b69c299c37365e52b1429ebe34de2243e03 Mon Sep 17 00:00:00 2001 From: KHobbits Date: Thu, 20 Dec 2012 22:47:49 +0000 Subject: [PATCH] Allow certain commands while in jail, but only if the user normally has access to that command. --- .../src/com/earth2me/essentials/Essentials.java | 15 ++++++++++++++- Essentials/src/com/earth2me/essentials/User.java | 5 ----- .../earth2me/essentials/commands/Commandseen.java | 11 ++++++----- 3 files changed, 20 insertions(+), 11 deletions(-) diff --git a/Essentials/src/com/earth2me/essentials/Essentials.java b/Essentials/src/com/earth2me/essentials/Essentials.java index 4bd878828..5e9fbee56 100644 --- a/Essentials/src/com/earth2me/essentials/Essentials.java +++ b/Essentials/src/com/earth2me/essentials/Essentials.java @@ -368,6 +368,19 @@ public class Essentials extends JavaPlugin implements IEssentials return true; } + if (user != null && user.isJailed() && !user.isAuthorized(cmd, "essentials.jail.allow.")) + { + if (user.getJailTimeout() > 0) + { + user.sendMessage(_("playerJailedFor", user.getName(), Util.formatDateDiff(user.getJailTimeout()))); + } + else + { + user.sendMessage(_("jailMessage")); + } + return true; + } + // Run the command try { @@ -471,7 +484,7 @@ public class Essentials extends JavaPlugin implements IEssentials } return null; } - + @Override public User getOfflineUser(final String name) { diff --git a/Essentials/src/com/earth2me/essentials/User.java b/Essentials/src/com/earth2me/essentials/User.java index 1c5d04530..bb1e290f4 100644 --- a/Essentials/src/com/earth2me/essentials/User.java +++ b/Essentials/src/com/earth2me/essentials/User.java @@ -80,11 +80,6 @@ public class User extends UserData implements Comparable, IReplyTo, IUser return false; } - if (isJailed()) - { - return false; - } - try { return ess.getPermissionsHandler().hasPermission(base, node); diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandseen.java b/Essentials/src/com/earth2me/essentials/commands/Commandseen.java index fc5a1f033..5c204fda5 100644 --- a/Essentials/src/com/earth2me/essentials/commands/Commandseen.java +++ b/Essentials/src/com/earth2me/essentials/commands/Commandseen.java @@ -45,10 +45,10 @@ public class Commandseen extends EssentialsCommand : _("true") : _("false")))); sender.sendMessage(_("whoisMuted", (user.isMuted() - ? user.getMuteTimeout() > 0 - ? Util.formatDateDiff(user.getMuteTimeout()) - : _("true") - : _("false")))); + ? user.getMuteTimeout() > 0 + ? Util.formatDateDiff(user.getMuteTimeout()) + : _("true") + : _("false")))); if (extra) { sender.sendMessage(_("whoisIPAddress", user.getAddress().getAddress().toString())); @@ -71,7 +71,8 @@ public class Commandseen extends EssentialsCommand { sender.sendMessage(_("whoisIPAddress", player.getLastLoginAddress())); final Location loc = player.getLastLocation(); - if (loc != null) { + if (loc != null) + { sender.sendMessage(_("whoisLocation", loc.getWorld().getName(), loc.getBlockX(), loc.getBlockY(), loc.getBlockZ())); } }