From 5b1f5e2ad295246c189c2b0cf0ce2a0a6fec88bb Mon Sep 17 00:00:00 2001 From: Teriuihi Date: Sun, 4 Sep 2022 21:21:08 +0200 Subject: [PATCH] Prevent adding multiple suspicious kicks for one kick --- src/main/java/com/alttd/afkdectector/AFKDetector.java | 1 + src/main/java/com/alttd/afkdectector/MessageTimer.java | 3 +-- .../java/com/alttd/afkdectector/trackers/AutoJoinTracker.java | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/alttd/afkdectector/AFKDetector.java b/src/main/java/com/alttd/afkdectector/AFKDetector.java index 2f342da..cd92f06 100755 --- a/src/main/java/com/alttd/afkdectector/AFKDetector.java +++ b/src/main/java/com/alttd/afkdectector/AFKDetector.java @@ -134,6 +134,7 @@ public class AFKDetector extends JavaPlugin implements Listener{ long lastKick = AutoJoinTracker.getInstance().getLastKick(uuid); if (lastKick + TimeUnit.SECONDS.toMillis(Config.MAXREJOINFORTRACKING) > new Date().getTime()) { + AutoJoinTracker.getInstance().setLastKick(uuid, 0); SuspiciousKickTracker skt = SuspiciousKickTracker.getInstance(); skt.addSuspiciousKick(uuid); int suspiciousKickCount = skt.getSuspiciousKickCount(uuid); diff --git a/src/main/java/com/alttd/afkdectector/MessageTimer.java b/src/main/java/com/alttd/afkdectector/MessageTimer.java index e725eb6..d9818cb 100755 --- a/src/main/java/com/alttd/afkdectector/MessageTimer.java +++ b/src/main/java/com/alttd/afkdectector/MessageTimer.java @@ -2,7 +2,6 @@ package com.alttd.afkdectector; import java.util.Date; import java.util.UUID; -import java.util.concurrent.TimeUnit; import com.alttd.afkdectector.afkplayer.AFKPlayer; import com.alttd.afkdectector.config.Config; @@ -69,7 +68,7 @@ public class MessageTimer extends BukkitRunnable { //Bukkit.dispatchCommand(Bukkit.getConsoleSender(), plugin.kickCommand.replace("%player%", player.getName())); plugin.messageTimers.remove(player.getUniqueId()); Bukkit.dispatchCommand(Bukkit.getConsoleSender(), return_placeholders(Config.KICKCOMMAND, player)); - AutoJoinTracker.getInstance().addKick(player.getUniqueId(), new Date().getTime()); + AutoJoinTracker.getInstance().setLastKick(player.getUniqueId(), new Date().getTime()); TagResolver templates = TagResolver.resolver( Placeholder.unparsed("player", player.getName()), Placeholder.unparsed("afk_time", "" + (int) Math.floor((System.currentTimeMillis() - plugin.getPlayer(player).getstandingTime()) / 60f / 1000)) diff --git a/src/main/java/com/alttd/afkdectector/trackers/AutoJoinTracker.java b/src/main/java/com/alttd/afkdectector/trackers/AutoJoinTracker.java index 79bb1b1..f98a125 100644 --- a/src/main/java/com/alttd/afkdectector/trackers/AutoJoinTracker.java +++ b/src/main/java/com/alttd/afkdectector/trackers/AutoJoinTracker.java @@ -15,7 +15,7 @@ public class AutoJoinTracker { Map lastKickedMap = new HashMap<>(); - synchronized public void addKick(UUID uuid, long time) { + synchronized public void setLastKick(UUID uuid, long time) { lastKickedMap.put(uuid, time); }