package tc.oc.commons.bukkit.bossbar; import javax.inject.Inject; import javax.inject.Provider; import net.md_5.bungee.api.chat.BaseComponent; import org.bukkit.Server; import org.bukkit.boss.BarColor; import org.bukkit.boss.BarFlag; import org.bukkit.boss.BarStyle; import org.bukkit.boss.BossBar; import tc.oc.commons.core.chat.Components; public class BossBarFactoryImpl implements BossBarFactory { private static final BarColor DEFAULT_COLOR = BarColor.PURPLE; private final Server server; private final Provider<RenderedBossBar> renderedBossBarProvider; @Inject BossBarFactoryImpl(Server server, Provider<RenderedBossBar> renderedBossBarProvider) { this.server = server; this.renderedBossBarProvider = renderedBossBarProvider; } @Override public BossBar createBossBar(BaseComponent title, BarColor color, BarStyle style, BarFlag... flags) { return server.createBossBar(title, color, style, flags); } @Override public BossBar createBossBar() { return createBossBar(Components.blank(), DEFAULT_COLOR, BarStyle.SOLID); } @Override public BossBar createRenderedBossBar() { return renderedBossBarProvider.get(); } }