From 0d8d70f8dcf79daac61dd7379f9411769363b6ee Mon Sep 17 00:00:00 2001 From: OmerBenGera Date: Thu, 20 Oct 2022 23:29:45 +0300 Subject: [PATCH] Fixed mob counts reset when chunks unload while in recalculate cooldown (#1420) --- .../world/event/WorldEventsManagerImpl.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/bgsoftware/superiorskyblock/world/event/WorldEventsManagerImpl.java b/src/main/java/com/bgsoftware/superiorskyblock/world/event/WorldEventsManagerImpl.java index dbef5f43d..7c07639bd 100644 --- a/src/main/java/com/bgsoftware/superiorskyblock/world/event/WorldEventsManagerImpl.java +++ b/src/main/java/com/bgsoftware/superiorskyblock/world/event/WorldEventsManagerImpl.java @@ -76,8 +76,10 @@ public void loadChunk(Chunk chunk) { if (BuiltinModules.UPGRADES.isUpgradeTypeEnabled(UpgradeTypeEntityLimits.class)) { BukkitExecutor.sync(() -> { - if (chunk.isLoaded()) + if (chunk.isLoaded()) { + Arrays.stream(chunk.getEntities()).forEach(entityTrackingListener.get()::onEntitySpawn); island.getEntitiesTracker().recalculateEntityCounts(); + } }, 20L); } } @@ -108,8 +110,7 @@ public void unloadChunk(Chunk chunk) { if (!island.isSpawn() && !plugin.getNMSChunks().isChunkEmpty(chunk)) island.markChunkDirty(chunk.getWorld(), chunk.getX(), chunk.getZ(), true); - Arrays.stream(chunk.getEntities()).forEach(entityTrackingListener.get()::onEntitySpawn); - + Arrays.stream(chunk.getEntities()).forEach(entityTrackingListener.get()::onEntityDespawn); } }