From b8d17f466d8df07a2b6e8c0ba7a0d74f6733fe37 Mon Sep 17 00:00:00 2001 From: Esophose Date: Wed, 14 Aug 2019 22:03:37 -0600 Subject: [PATCH] Fix stackable displays sometimes endlessly stacking up armor stands --- .../java/me/goodandevil/skyblock/stackable/Stackable.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/FabledSkyBlock/Core/src/main/java/me/goodandevil/skyblock/stackable/Stackable.java b/FabledSkyBlock/Core/src/main/java/me/goodandevil/skyblock/stackable/Stackable.java index b158a86a..e93b7749 100644 --- a/FabledSkyBlock/Core/src/main/java/me/goodandevil/skyblock/stackable/Stackable.java +++ b/FabledSkyBlock/Core/src/main/java/me/goodandevil/skyblock/stackable/Stackable.java @@ -5,6 +5,7 @@ import java.util.UUID; import me.goodandevil.skyblock.utils.NumberUtil; import org.apache.commons.lang3.text.WordUtils; +import org.bukkit.Bukkit; import org.bukkit.ChatColor; import org.bukkit.Location; import org.bukkit.Material; @@ -92,6 +93,10 @@ public class Stackable { } private void updateDisplay() { + // The chunk needs to be loaded otherwise the getNearbyEntities() in removeDisplay() won't find anything + if (!this.location.getWorld().isChunkLoaded(this.location.getBlockX() >> 4, this.location.getBlockZ() >> 4)) + this.location.getChunk().load(); + if (this.size > 1) { this.createDisplay(); this.display.setCustomName(this.getCustomName()); @@ -125,7 +130,7 @@ public class Stackable { } // Find any stragglers - for (Entity entity : this.location.getWorld().getNearbyEntities(this.location.clone().add(0.5, 0.55, 0.5), 0.1, 0.5, 0.1)) + for (Entity entity : this.location.getWorld().getNearbyEntities(this.location.clone().add(0.5, 0.55, 0.5), 0.25, 0.5, 0.25)) if (entity instanceof ArmorStand) entity.remove(); }