mirror of
https://github.com/TotalFreedomMC/TF-EssentialsX.git
synced 2025-08-04 11:36:24 +00:00
cancel-afk-on-interact and cancel-afk-on-move are now separate settings (#1804)
This commit is contained in:
parent
7d7c58fa7c
commit
823f1c2ee3
4 changed files with 29 additions and 17 deletions
|
@ -47,7 +47,7 @@ public class EssentialsEntityListener implements Listener {
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
attacker.updateActivity(true);
|
attacker.updateActivityOnInteract(true);
|
||||||
} else if (eAttack instanceof Projectile && eDefend instanceof Player) {
|
} else if (eAttack instanceof Projectile && eDefend instanceof Player) {
|
||||||
final Projectile projectile = (Projectile) event.getDamager();
|
final Projectile projectile = (Projectile) event.getDamager();
|
||||||
//This should return a ProjectileSource on 1.7.3 beta +
|
//This should return a ProjectileSource on 1.7.3 beta +
|
||||||
|
@ -55,7 +55,7 @@ public class EssentialsEntityListener implements Listener {
|
||||||
if (shooter instanceof Player) {
|
if (shooter instanceof Player) {
|
||||||
final User attacker = ess.getUser((Player) shooter);
|
final User attacker = ess.getUser((Player) shooter);
|
||||||
onPlayerVsPlayerDamage(event, (Player) eDefend, attacker);
|
onPlayerVsPlayerDamage(event, (Player) eDefend, attacker);
|
||||||
attacker.updateActivity(true);
|
attacker.updateActivityOnInteract(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -194,7 +194,7 @@ public class EssentialsEntityListener implements Listener {
|
||||||
if (event.getEntity() instanceof Player) {
|
if (event.getEntity() instanceof Player) {
|
||||||
final User user = ess.getUser((Player) event.getEntity());
|
final User user = ess.getUser((Player) event.getEntity());
|
||||||
if (user.isAfk()) {
|
if (user.isAfk()) {
|
||||||
user.updateActivity(true);
|
user.updateActivityOnInteract(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -99,7 +99,7 @@ public class EssentialsPlayerListener implements Listener {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
user.updateActivity(true);
|
user.updateActivityOnInteract(true);
|
||||||
user.setDisplayNick();
|
user.setDisplayNick();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -124,8 +124,8 @@ public class EssentialsPlayerListener implements Listener {
|
||||||
final Location from = event.getFrom();
|
final Location from = event.getFrom();
|
||||||
final Location origTo = event.getTo();
|
final Location origTo = event.getTo();
|
||||||
final Location to = origTo.clone();
|
final Location to = origTo.clone();
|
||||||
if (ess.getSettings().cancelAfkOnMove() && origTo.getY() >= from.getBlockY() + 1) {
|
if (origTo.getY() >= from.getBlockY() + 1) {
|
||||||
user.updateActivity(true);
|
user.updateActivityOnMove(true);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
to.setX(from.getX());
|
to.setX(from.getX());
|
||||||
|
@ -138,10 +138,10 @@ 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) {
|
||||||
user.updateActivity(true);
|
user.updateActivityOnMove(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler(priority = EventPriority.HIGHEST)
|
@EventHandler(priority = EventPriority.HIGHEST)
|
||||||
|
@ -176,7 +176,7 @@ public class EssentialsPlayerListener implements Listener {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
user.updateActivity(false);
|
user.updateActivityOnInteract(false);
|
||||||
if (!user.isHidden()) {
|
if (!user.isHidden()) {
|
||||||
user.setLastLogout(System.currentTimeMillis());
|
user.setLastLogout(System.currentTimeMillis());
|
||||||
}
|
}
|
||||||
|
@ -214,7 +214,7 @@ public class EssentialsPlayerListener implements Listener {
|
||||||
|
|
||||||
final long currentTime = System.currentTimeMillis();
|
final long currentTime = System.currentTimeMillis();
|
||||||
dUser.checkMuteTimeout(currentTime);
|
dUser.checkMuteTimeout(currentTime);
|
||||||
dUser.updateActivity(false);
|
dUser.updateActivityOnInteract(false);
|
||||||
dUser.stopTransaction();
|
dUser.stopTransaction();
|
||||||
|
|
||||||
class DelayJoinTask implements Runnable {
|
class DelayJoinTask implements Runnable {
|
||||||
|
@ -488,7 +488,7 @@ public class EssentialsPlayerListener implements Listener {
|
||||||
}
|
}
|
||||||
final User user = ess.getUser(player);
|
final User user = ess.getUser(player);
|
||||||
if (update) {
|
if (update) {
|
||||||
user.updateActivity(broadcast);
|
user.updateActivityOnInteract(broadcast);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ess.getSettings().isCommandCooldownsEnabled() && pluginCommand != null
|
if (ess.getSettings().isCommandCooldownsEnabled() && pluginCommand != null
|
||||||
|
@ -611,7 +611,7 @@ public class EssentialsPlayerListener implements Listener {
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
ess.getUser(event.getPlayer()).updateActivity(true);
|
ess.getUser(event.getPlayer()).updateActivityOnInteract(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
// This method allows the /jump lock feature to work, allows teleporting while flying #EasterEgg
|
// This method allows the /jump lock feature to work, allows teleporting while flying #EasterEgg
|
||||||
|
@ -777,7 +777,7 @@ public class EssentialsPlayerListener implements Listener {
|
||||||
@EventHandler(priority = EventPriority.LOW, ignoreCancelled = true)
|
@EventHandler(priority = EventPriority.LOW, ignoreCancelled = true)
|
||||||
public void onPlayerFishEvent(final PlayerFishEvent event) {
|
public void onPlayerFishEvent(final PlayerFishEvent event) {
|
||||||
final User user = ess.getUser(event.getPlayer());
|
final User user = ess.getUser(event.getPlayer());
|
||||||
user.updateActivity(true);
|
user.updateActivityOnInteract(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
private final class PlayerListenerPre1_12 implements Listener {
|
private final class PlayerListenerPre1_12 implements Listener {
|
||||||
|
|
|
@ -489,7 +489,7 @@ public class Settings implements net.ess3.api.ISettings {
|
||||||
disableItemPickupWhileAfk = _getDisableItemPickupWhileAfk();
|
disableItemPickupWhileAfk = _getDisableItemPickupWhileAfk();
|
||||||
registerBackInListener = _registerBackInListener();
|
registerBackInListener = _registerBackInListener();
|
||||||
cancelAfkOnInteract = _cancelAfkOnInteract();
|
cancelAfkOnInteract = _cancelAfkOnInteract();
|
||||||
cancelAfkOnMove = _cancelAfkOnMove() && cancelAfkOnInteract;
|
cancelAfkOnMove = _cancelAfkOnMove();
|
||||||
getFreezeAfkPlayers = _getFreezeAfkPlayers();
|
getFreezeAfkPlayers = _getFreezeAfkPlayers();
|
||||||
afkListName = _getAfkListName();
|
afkListName = _getAfkListName();
|
||||||
isAfkListName = !afkListName.equalsIgnoreCase("none");
|
isAfkListName = !afkListName.equalsIgnoreCase("none");
|
||||||
|
|
|
@ -545,7 +545,7 @@ public class User extends UserData implements Comparable<User>, IMessageRecipien
|
||||||
}
|
}
|
||||||
|
|
||||||
public void updateActivity(final boolean broadcast) {
|
public void updateActivity(final boolean broadcast) {
|
||||||
if (isAfk() && ess.getSettings().cancelAfkOnInteract()) {
|
if (isAfk()) {
|
||||||
setAfk(false);
|
setAfk(false);
|
||||||
if (broadcast && !isHidden()) {
|
if (broadcast && !isHidden()) {
|
||||||
setDisplayNick();
|
setDisplayNick();
|
||||||
|
@ -558,6 +558,18 @@ public class User extends UserData implements Comparable<User>, IMessageRecipien
|
||||||
lastActivity = System.currentTimeMillis();
|
lastActivity = System.currentTimeMillis();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void updateActivityOnMove(final boolean broadcast) {
|
||||||
|
if(ess.getSettings().cancelAfkOnMove()) {
|
||||||
|
updateActivity(broadcast);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void updateActivityOnInteract(final boolean broadcast) {
|
||||||
|
if(ess.getSettings().cancelAfkOnInteract()) {
|
||||||
|
updateActivity(broadcast);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void checkActivity() {
|
public void checkActivity() {
|
||||||
// Graceful time before the first afk check call.
|
// Graceful time before the first afk check call.
|
||||||
if (System.currentTimeMillis() - lastActivity <= 10000) {
|
if (System.currentTimeMillis() - lastActivity <= 10000) {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue