diff options
author | KHobbits <rob@khobbits.co.uk> | 2012-12-20 22:47:49 +0000 |
---|---|---|
committer | KHobbits <rob@khobbits.co.uk> | 2012-12-20 22:53:52 +0000 |
commit | adb75b69c299c37365e52b1429ebe34de2243e03 (patch) | |
tree | 1f301df86108b0eb30f5f1f64edba606ececbf6e | |
parent | 6f28540d592c40d9397b39660b394de68b1336b4 (diff) | |
download | Essentials-adb75b69c299c37365e52b1429ebe34de2243e03.tar Essentials-adb75b69c299c37365e52b1429ebe34de2243e03.tar.gz Essentials-adb75b69c299c37365e52b1429ebe34de2243e03.tar.lz Essentials-adb75b69c299c37365e52b1429ebe34de2243e03.tar.xz Essentials-adb75b69c299c37365e52b1429ebe34de2243e03.zip |
Allow certain commands while in jail, but only if the user normally has access to that command.
Notes
Notes:
essentials.jail.allow.<command>
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<User>, 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())); } } |