package net.glowstone.boss; import net.glowstone.GlowServer; import org.bukkit.entity.Player; import java.util.ArrayList; import java.util.List; import java.util.UUID; public class BossBarManager { private static BossBarManager instance; private final List<GlowBossBar> bossBars = new ArrayList<>(); private final GlowServer server; public BossBarManager(GlowServer server) { if (instance != null) { throw new RuntimeException("BossBar Manager has already been initialized."); } this.server = server; instance = this; } public List<GlowBossBar> getBossBars() { return bossBars; } public void register(GlowBossBar bossBar) { if (bossBars.contains(bossBar)) { return; } bossBars.add(bossBar); } public void unregister(GlowBossBar bossBar) { bossBar.removeAll(); bossBars.remove(bossBar); } public void clearBossBars(Player player) { for (GlowBossBar bossBar : bossBars) { bossBar.removePlayer(player); } } public GlowBossBar getBossBar(UUID uuid) { for (GlowBossBar bossBar : bossBars) { if (bossBar.getUniqueId().equals(uuid)) { return bossBar; } } return null; } public static BossBarManager getInstance() { return instance; } }