fixes #475. User is no longer afk if they move. others can set afk /afk playername. needs essentials.afk.others

This commit is contained in:
ementalo 2011-07-02 23:53:54 +01:00
parent ff8564787a
commit 3a8b888e7c
2 changed files with 25 additions and 1 deletions

View file

@ -91,6 +91,12 @@ public class EssentialsPlayerListener extends PlayerListener
} }
final User user = ess.getUser(event.getPlayer()); final User user = ess.getUser(event.getPlayer());
if(user.isAfk())
{
user.setAfk(false);
ess.broadcastMessage(user.getName(), Util.format("userIsNotAway", user.getDisplayName()));
}
if (!ess.getSettings().getNetherPortalsEnabled()) if (!ess.getSettings().getNetherPortalsEnabled())
{ {
return; return;

View file

@ -17,11 +17,29 @@ public class Commandafk extends EssentialsCommand
{ {
charge(user); charge(user);
if (args.length > 0 && user.isAuthorized("essentials.afk.others"))
{
User afkUser = ess.getUser(ess.getServer().matchPlayer(args[0]));
if (afkUser != null)
{
toggleAfk(afkUser);
}
}
else
{
toggleAfk(user);
}
}
private final void toggleAfk(User user)
{
if (!user.toggleAfk()) if (!user.toggleAfk())
{ {
user.sendMessage(Util.i18n("markedAsNotAway")); user.sendMessage(Util.i18n("markedAsNotAway"));
ess.broadcastMessage(user.getName(), Util.format("userIsNotAway", user.getDisplayName())); ess.broadcastMessage(user.getName(), Util.format("userIsNotAway", user.getDisplayName()));
} else { }
else
{
user.sendMessage(Util.i18n("markedAsAway")); user.sendMessage(Util.i18n("markedAsAway"));
ess.broadcastMessage(user.getName(), Util.format("userIsAway", user.getDisplayName())); ess.broadcastMessage(user.getName(), Util.format("userIsAway", user.getDisplayName()));
} }