From 21ed4b09fd4ac6065213a33425d40246bd927395 Mon Sep 17 00:00:00 2001 From: Auxilor Date: Sat, 24 Apr 2021 17:55:57 +0100 Subject: [PATCH] Added extra check to boss bars --- .../ecobosses/bosses/tick/tickers/BossBarTicker.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/eco-core/core-plugin/src/main/java/com/willfp/ecobosses/bosses/tick/tickers/BossBarTicker.java b/eco-core/core-plugin/src/main/java/com/willfp/ecobosses/bosses/tick/tickers/BossBarTicker.java index 06c7b06..635853d 100644 --- a/eco-core/core-plugin/src/main/java/com/willfp/ecobosses/bosses/tick/tickers/BossBarTicker.java +++ b/eco-core/core-plugin/src/main/java/com/willfp/ecobosses/bosses/tick/tickers/BossBarTicker.java @@ -2,8 +2,10 @@ package com.willfp.ecobosses.bosses.tick.tickers; import com.willfp.ecobosses.bosses.EcoBoss; import com.willfp.ecobosses.bosses.tick.BossTicker; +import org.bukkit.Bukkit; import org.bukkit.attribute.Attribute; import org.bukkit.boss.BossBar; +import org.bukkit.boss.KeyedBossBar; import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Player; import org.jetbrains.annotations.NotNull; @@ -38,7 +40,7 @@ public class BossBarTicker implements BossTicker { bossBar.setProgress(entity.getHealth() / entity.getAttribute(Attribute.GENERIC_MAX_HEALTH).getValue()); if (tick % 40 == 0) { - bossBar.getPlayers().forEach(bossBar::removePlayer); + bossBar.removeAll(); entity.getNearbyEntities(radius, radius, radius).forEach(entity1 -> { if (entity1 instanceof Player) { bossBar.addPlayer((Player) entity1); @@ -51,7 +53,8 @@ public class BossBarTicker implements BossTicker { public void onDeath(@NotNull final EcoBoss boss, @NotNull final LivingEntity entity, final long tick) { - bossBar.getPlayers().forEach(bossBar::removePlayer); + bossBar.removeAll(); bossBar.setVisible(false); + Bukkit.removeBossBar(((KeyedBossBar) bossBar).getKey()); } }