From fd14197175d360b4bcb8985612d8c52e8315ac5f Mon Sep 17 00:00:00 2001 From: fullwall Date: Thu, 28 May 2020 22:34:12 +0800 Subject: [PATCH] Account for negative max players --- .../java/net/citizensnpcs/npc/skin/SkinUpdateTracker.java | 2 +- .../src/main/java/net/citizensnpcs/util/PlayerUpdateTask.java | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/main/src/main/java/net/citizensnpcs/npc/skin/SkinUpdateTracker.java b/main/src/main/java/net/citizensnpcs/npc/skin/SkinUpdateTracker.java index 004971f2f..588edcc1e 100644 --- a/main/src/main/java/net/citizensnpcs/npc/skin/SkinUpdateTracker.java +++ b/main/src/main/java/net/citizensnpcs/npc/skin/SkinUpdateTracker.java @@ -38,7 +38,7 @@ import net.citizensnpcs.util.Util; public class SkinUpdateTracker { private final Map navigating = new WeakHashMap(25); private final Map playerTrackers = new HashMap( - Bukkit.getMaxPlayers() / 2); + Math.max(128, Bukkit.getMaxPlayers() / 2)); private final Map registries; private final NPCNavigationUpdater updater = new NPCNavigationUpdater(); diff --git a/main/src/main/java/net/citizensnpcs/util/PlayerUpdateTask.java b/main/src/main/java/net/citizensnpcs/util/PlayerUpdateTask.java index 81125e2f1..aaec3171c 100644 --- a/main/src/main/java/net/citizensnpcs/util/PlayerUpdateTask.java +++ b/main/src/main/java/net/citizensnpcs/util/PlayerUpdateTask.java @@ -12,6 +12,8 @@ import org.bukkit.entity.Player; import org.bukkit.scheduler.BukkitRunnable; public class PlayerUpdateTask extends BukkitRunnable { + private boolean playerTicking; + @Override public void cancel() { super.cancel(); @@ -48,11 +50,13 @@ public class PlayerUpdateTask extends BukkitRunnable { PLAYERS_PENDING_ADD.clear(); PLAYERS_PENDING_REMOVE.clear(); + playerTicking = true; for (Player entity : PLAYERS.values()) { if (entity.isValid()) { NMS.playerTick(entity); } } + playerTicking = false; } public static void addOrRemove(org.bukkit.entity.Entity entity, boolean remove) {