Allow certain commands while in jail, but only if the user normally has access to that command.

This commit is contained in:
KHobbits 2012-12-20 22:47:49 +00:00
parent 6f28540d59
commit adb75b69c2
3 changed files with 20 additions and 11 deletions

View file

@ -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)
{

View file

@ -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);

View file

@ -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()));
}
}