diff --git a/src/main/java/eu/mhsl/craftattack/spawn/appliances/afkTag/AfkTag.java b/src/main/java/eu/mhsl/craftattack/spawn/appliances/afkTag/AfkTag.java
index 538efcd..e9b9668 100644
--- a/src/main/java/eu/mhsl/craftattack/spawn/appliances/afkTag/AfkTag.java
+++ b/src/main/java/eu/mhsl/craftattack/spawn/appliances/afkTag/AfkTag.java
@@ -13,13 +13,12 @@ import org.bukkit.event.Listener;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 
-import java.util.List;
-import java.util.WeakHashMap;
+import java.util.*;
 
 public class AfkTag extends Appliance implements DisplayName.DisplayNamed {
-    private final WeakHashMap<Player, Long> afkTimings = new WeakHashMap<>();
+    private final HashMap<UUID, Long> afkTimings = new HashMap<>();
     private static final int updateIntervalSeconds = 30;
-    private static final int afkWhenMillis = 5 * 60 * 1000;
+    private static final int afkWhenMillis = 3 * 60 * 1000;
 
     @Override
     public void onEnable() {
@@ -33,21 +32,22 @@ public class AfkTag extends Appliance implements DisplayName.DisplayNamed {
 
     public void resetTiming(Player player) {
         boolean wasAfk = isAfk(player);
-        this.afkTimings.put(player, System.currentTimeMillis());
+        this.afkTimings.put(player.getUniqueId(), System.currentTimeMillis());
         if (wasAfk) this.updateAfkPrefix(player);
     }
 
     private void checkAfkPlayers() {
-        this.afkTimings.keySet().forEach((player) -> {
-            if(!isAfk(player)) return;
-            this.updateAfkPrefix(player);
-        });
+        this.afkTimings.keySet().stream()
+            .map(Bukkit::getPlayer)
+            .filter(Objects::nonNull)
+            .filter(this::isAfk)
+            .forEach(this::updateAfkPrefix);
     }
 
     private boolean isAfk(Player player) {
         if(player.isSleeping()) return false;
 
-        long lastTimeActive = this.afkTimings.getOrDefault(player, 0L);
+        long lastTimeActive = this.afkTimings.getOrDefault(player.getUniqueId(), 0L);
         long timeSinceLastActive = System.currentTimeMillis() - lastTimeActive;
         return timeSinceLastActive >= afkWhenMillis;
     }