From 91b094f31cc26087b20f79a99d441ab23b426482 Mon Sep 17 00:00:00 2001 From: Krakenied Date: Thu, 29 Feb 2024 14:17:32 +0100 Subject: Improve PAPI refresh-ticks option behavior --- .../tasktype/type/dependent/PlaceholderAPIEvaluateTaskType.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'bukkit/src/main/java/com/leonardobishop') diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/PlaceholderAPIEvaluateTaskType.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/PlaceholderAPIEvaluateTaskType.java index d83ba7aa..f6c71602 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/PlaceholderAPIEvaluateTaskType.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/PlaceholderAPIEvaluateTaskType.java @@ -22,7 +22,7 @@ import java.util.concurrent.CompletableFuture; public final class PlaceholderAPIEvaluateTaskType extends BukkitTaskType { private final BukkitQuestsPlugin plugin; - private final WeakHashMap refreshTicksMap = new WeakHashMap<>(); + private final WeakHashMap> refreshTicksMap = new WeakHashMap<>(); private WrappedTask poll; public PlaceholderAPIEvaluateTaskType(BukkitQuestsPlugin plugin) { @@ -89,7 +89,9 @@ public final class PlaceholderAPIEvaluateTaskType extends BukkitTaskType { Integer refreshTicks = (Integer) task.getConfigValue("refresh-ticks"); if (refreshTicks != null) { int currentTick = Bukkit.getCurrentTick(); - Integer lastRefreshTicks = refreshTicksMap.get(task); + + WeakHashMap playerRefreshTicksMap = refreshTicksMap.computeIfAbsent(player, k -> new WeakHashMap<>()); + Integer lastRefreshTicks = playerRefreshTicksMap.get(task); if (lastRefreshTicks != null) { int ticksSinceLastRefresh = currentTick - lastRefreshTicks; @@ -100,7 +102,7 @@ public final class PlaceholderAPIEvaluateTaskType extends BukkitTaskType { } } - refreshTicksMap.put(task, currentTick); + playerRefreshTicksMap.put(task, currentTick); } String placeholder = (String) task.getConfigValue("placeholder"); -- cgit v1.2.3-70-g09d2