From 3801d8ecbdb174a516f3e8d4fd496f7fda4c6cd3 Mon Sep 17 00:00:00 2001 From: Brianna Date: Thu, 27 Jun 2019 15:06:35 -0400 Subject: [PATCH] Newly placed spawners will now spawn the correct amounts. --- .../ultimatestacker/spawner/SpawnerStack.java | 23 +++++++++++-------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/songoda/ultimatestacker/spawner/SpawnerStack.java b/src/main/java/com/songoda/ultimatestacker/spawner/SpawnerStack.java index a9f93e3..ddeb6f2 100644 --- a/src/main/java/com/songoda/ultimatestacker/spawner/SpawnerStack.java +++ b/src/main/java/com/songoda/ultimatestacker/spawner/SpawnerStack.java @@ -3,6 +3,7 @@ package com.songoda.ultimatestacker.spawner; import com.songoda.ultimatestacker.UltimateStacker; import com.songoda.ultimatestacker.utils.Reflection; import com.songoda.ultimatestacker.utils.ServerVersion; +import org.bukkit.Bukkit; import org.bukkit.Location; import org.bukkit.block.CreatureSpawner; @@ -27,16 +28,18 @@ public class SpawnerStack { public void setAmount(int amount) { this.amount = amount; - int count = 4 * amount; - int maxNearby = amount > 6 ? amount + 3 : 6; - CreatureSpawner creatureSpawner = (CreatureSpawner)location.getBlock().getState(); - if (UltimateStacker.getInstance().isServerVersionAtLeast(ServerVersion.V1_12)) { - creatureSpawner.setMaxNearbyEntities(maxNearby); - creatureSpawner.setSpawnCount(count); - } else { - Reflection.updateSpawner(creatureSpawner, count, maxNearby); - } - creatureSpawner.update(); + Bukkit.getScheduler().runTaskLater(UltimateStacker.getInstance(), () -> { + int count = 4 * amount; + int maxNearby = amount > 6 ? amount + 3 : 6; + CreatureSpawner creatureSpawner = (CreatureSpawner) location.getBlock().getState(); + if (UltimateStacker.getInstance().isServerVersionAtLeast(ServerVersion.V1_12)) { + creatureSpawner.setMaxNearbyEntities(maxNearby); + creatureSpawner.setSpawnCount(count); + } else { + Reflection.updateSpawner(creatureSpawner, count, maxNearby); + } + creatureSpawner.update(); + }, 1L); } @Override