1
0
mirror of https://github.com/essentials/Essentials.git synced 2025-08-22 22:34:43 +02:00

Revert "Revert "New config option 'cancel-afk-on-move' - Set to false you don't use afk." -- This should fix afk mode."

This reverts commit 14a8092f02.

Another attempt at adding 'cancel-afk-on-move' toggle.
This commit is contained in:
KHobbits
2012-05-06 23:38:04 +01:00
parent 3f119b2a04
commit 0baaf193c8
4 changed files with 38 additions and 14 deletions

View File

@@ -73,15 +73,15 @@ public class EssentialsPlayerListener implements Listener
@EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true) @EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true)
public void onPlayerMove(final PlayerMoveEvent event) public void onPlayerMove(final PlayerMoveEvent event)
{ {
if (event.getFrom().getBlockX() == event.getTo().getBlockX() if ((!ess.getSettings().cancelAfkOnMove() && !ess.getSettings().getFreezeAfkPlayers())
&& event.getFrom().getBlockZ() == event.getTo().getBlockZ() || event.getFrom().getBlockX() == event.getTo().getBlockX()
&& event.getFrom().getBlockY() == event.getTo().getBlockY()) && event.getFrom().getBlockZ() == event.getTo().getBlockZ()
&& event.getFrom().getBlockY() == event.getTo().getBlockY())
{ {
return; return;
} }
final User user = ess.getUser(event.getPlayer()); final User user = ess.getUser(event.getPlayer());
if (user.isAfk() && ess.getSettings().getFreezeAfkPlayers()) if (user.isAfk() && ess.getSettings().getFreezeAfkPlayers())
{ {
final Location from = event.getFrom(); final Location from = event.getFrom();
@@ -99,7 +99,6 @@ public class EssentialsPlayerListener implements Listener
} }
return; return;
} }
final Location afk = user.getAfkPosition(); final Location afk = user.getAfkPosition();
if (afk == null || !event.getTo().getWorld().equals(afk.getWorld()) || afk.distanceSquared(event.getTo()) > 9) if (afk == null || !event.getTo().getWorld().equals(afk.getWorld()) || afk.distanceSquared(event.getTo()) > 9)
{ {
@@ -419,7 +418,7 @@ public class EssentialsPlayerListener implements Listener
final User user = ess.getUser(event.getWhoClicked()); final User user = ess.getUser(event.getWhoClicked());
final User invOwner = ess.getUser(event.getView().getPlayer()); final User invOwner = ess.getUser(event.getView().getPlayer());
if (user.isInvSee() && (!user.isAuthorized("essentials.invsee.modify") if (user.isInvSee() && (!user.isAuthorized("essentials.invsee.modify")
|| invOwner.isAuthorized("essentials.invsee.preventmodify"))) || invOwner.isAuthorized("essentials.invsee.preventmodify")))
{ {
event.setCancelled(true); event.setCancelled(true);
} }

View File

@@ -146,6 +146,8 @@ public interface ISettings extends IConf
boolean getFreezeAfkPlayers(); boolean getFreezeAfkPlayers();
boolean cancelAfkOnMove();
boolean areDeathMessagesEnabled(); boolean areDeathMessagesEnabled();
public void setDebug(boolean debug); public void setDebug(boolean debug);

View File

@@ -385,6 +385,8 @@ public class Settings implements ISettings
teleportInvulnerability = _isTeleportInvulnerability(); teleportInvulnerability = _isTeleportInvulnerability();
disableItemPickupWhileAfk = _getDisableItemPickupWhileAfk(); disableItemPickupWhileAfk = _getDisableItemPickupWhileAfk();
registerBackInListener = _registerBackInListener(); registerBackInListener = _registerBackInListener();
cancelAfkOnMove = _cancelAfkOnMove();
getFreezeAfkPlayers = _getFreezeAfkPlayers();
itemSpawnBl = _getItemSpawnBlacklist(); itemSpawnBl = _getItemSpawnBlacklist();
kits = _getKits(); kits = _getKits();
chatFormats.clear(); chatFormats.clear();
@@ -654,12 +656,30 @@ public class Settings implements ISettings
{ {
return config.getLong("auto-afk-kick", -1); return config.getLong("auto-afk-kick", -1);
} }
private boolean getFreezeAfkPlayers;
@Override @Override
public boolean getFreezeAfkPlayers() public boolean getFreezeAfkPlayers()
{
return getFreezeAfkPlayers;
}
private boolean _getFreezeAfkPlayers()
{ {
return config.getBoolean("freeze-afk-players", false); return config.getBoolean("freeze-afk-players", false);
} }
private boolean cancelAfkOnMove;
@Override
public boolean cancelAfkOnMove()
{
return cancelAfkOnMove;
}
private boolean _cancelAfkOnMove()
{
return config.getBoolean("cancel-afk-on-move", true);
}
@Override @Override
public boolean areDeathMessagesEnabled() public boolean areDeathMessagesEnabled()
@@ -691,7 +711,6 @@ public class Settings implements ISettings
{ {
return config.getBoolean("world-teleport-permissions", false); return config.getBoolean("world-teleport-permissions", false);
} }
private boolean registerBackInListener; private boolean registerBackInListener;
@Override @Override
@@ -704,7 +723,6 @@ public class Settings implements ISettings
{ {
return config.getBoolean("register-back-in-listener", false); return config.getBoolean("register-back-in-listener", false);
} }
private boolean disableItemPickupWhileAfk; private boolean disableItemPickupWhileAfk;
@Override @Override

View File

@@ -272,6 +272,11 @@ freeze-afk-players: false
# Enable this, when you don't want people idling in mob traps. # Enable this, when you don't want people idling in mob traps.
disable-item-pickup-while-afk: false disable-item-pickup-while-afk: false
# Should we automatically remove afk status when the player moves?
# Player will be removed from afk on chat/command reguardless of this setting.
# Disable this to reduce server lag.
cancel-afk-on-move: true
# You can disable the death messages of minecraft here # You can disable the death messages of minecraft here
death-messages: true death-messages: true