aboutsummaryrefslogtreecommitdiffstats
path: root/bukkit/src/main/java
diff options
context:
space:
mode:
authorKrakenied <Krakenied1@gmail.com>2024-02-29 14:17:32 +0100
committerLeonardo Bishop <13875753+LMBishop@users.noreply.github.com>2024-03-09 16:14:45 +0000
commit91b094f31cc26087b20f79a99d441ab23b426482 (patch)
treebe6a175591ef00007b61e3da298b1130a0910251 /bukkit/src/main/java
parent587172c903124e8c6589453347bf632fb5b01673 (diff)
Improve PAPI refresh-ticks option behavior
Diffstat (limited to 'bukkit/src/main/java')
-rw-r--r--bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/PlaceholderAPIEvaluateTaskType.java8
1 files changed, 5 insertions, 3 deletions
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<Task, Integer> refreshTicksMap = new WeakHashMap<>();
+ private final WeakHashMap<Player, WeakHashMap<Task, Integer>> 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<Task, Integer> 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");