Boss Bars
Constructing a Boss Bar
Section titled “Constructing a Boss Bar”Boss Bars are composed of:
- A component used for the title of the boss bar
- A number from 0 to 1 used to determine how full the boss bar should be
- A color, will be downsampled for clients <1.9
- An overlay that determines the amount of visual segments on the boss bar
Examples:
private @Nullable BossBar activeBar;
public void showMyBossBar(final @NonNull Audience target) { final Component name = Component.text("Awesome BossBar"); // Creates a red boss bar which has no progress and no notches final BossBar emptyBar = BossBar.bossBar(name, 0, BossBar.Color.RED, BossBar.Overlay.PROGRESS); // Creates a green boss bar which has 50% progress and 10 notches final BossBar halfBar = BossBar.bossBar(name, 0.5f, BossBar.Color.GREEN, BossBar.Overlay.NOTCHED_10); // etc.. final BossBar fullBar = BossBar.bossBar(name, 1, BossBar.Color.BLUE, BossBar.Overlay.NOTCHED_20);
// Send a bossbar to your audience target.showBossBar(fullBar);
// Store it locally to be able to hide it manually later this.activeBar = fullBar;}
public void hideActiveBossBar(final @NonNull Audience target) { target.hideBossBar(this.activeBar); this.activeBar = null;}
Changing an active Boss Bar
Section titled “Changing an active Boss Bar”Boss bars are mutable and listen for changes on their object, the in-game view will change automatically without having to manually refresh it!
Therefore, if this boss bar is currently active
final BossBar bossBar = BossBar.bossBar(Component.text("Cat counter"), 0, BossBar.Color.RED, BossBar.Overlay.PROGRESS);
and BossBar.name()
with a component is called
final Component newText = Component.text("Duck counter");bossBar.name(newText);
the boss bar will be updated automatically. The same thing goes for progress
, color
and overlay
.