From 650e7bbd440fdd9f8221abeb6a73055163de9070 Mon Sep 17 00:00:00 2001 From: Andreas Troelsen Date: Mon, 25 Jun 2018 10:30:14 +0200 Subject: [PATCH] Remove all players from boss bars when clearing the MonsterManager. When the arena ends, the MonsterManager is cleared, which means that all references to health bars are lost. Before this, we remove all players from any boss bars to make sure that the boss bars don't stick to players upon dying. Fixes #473 --- src/main/java/com/garbagemule/MobArena/MonsterManager.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/main/java/com/garbagemule/MobArena/MonsterManager.java b/src/main/java/com/garbagemule/MobArena/MonsterManager.java index d04157f..c597298 100644 --- a/src/main/java/com/garbagemule/MobArena/MonsterManager.java +++ b/src/main/java/com/garbagemule/MobArena/MonsterManager.java @@ -1,5 +1,6 @@ package com.garbagemule.MobArena; +import com.garbagemule.MobArena.healthbar.HealthBar; import com.garbagemule.MobArena.waves.MABoss; import org.bukkit.entity.Entity; import org.bukkit.entity.LivingEntity; @@ -12,6 +13,7 @@ import java.util.HashMap; import java.util.HashSet; import java.util.List; import java.util.Map; +import java.util.Objects; import java.util.Set; public class MonsterManager @@ -43,6 +45,11 @@ public class MonsterManager } public void clear() { + bosses.values().stream() + .map(MABoss::getHealthBar) + .filter(Objects::nonNull) + .forEach(HealthBar::removeAll); + removeAll(monsters); removeAll(sheep); removeAll(golems);