Interface BossBar


public sealed interface BossBar
Represents an in-game bossbar which can be shown to the client.

A bossbar consists of:

name
the title of the bossbar
progress
a number in the range [0,1] representing how much of the bossbar should be filled
color
the BossBar.Color of the bossbar; platforms may downsample this for versions below Java Edition 1.9
overlay
BossBar.Overlays decide if the bossbar is continuous or split into segments
flags(optional)
BossBar.Flags are extra actions that can be triggered whenever the bossbar is displayed
Since:
4.0.0
  • Field Details

    • MIN_PROGRESS

      static final float MIN_PROGRESS
      The minimum value the progress can be.
      Since:
      4.2.0
      See Also:
    • MAX_PROGRESS

      static final float MAX_PROGRESS
      The maximum value the progress can be.
      Since:
      4.2.0
      See Also:
  • Method Details

    • bossBar

      static BossBar bossBar(ComponentLike name, float progress, BossBar.Color color, BossBar.Overlay overlay)
      Creates a new bossbar.
      Parameters:
      name - the name
      progress - the progress, between 0 and 1
      color - the color
      overlay - the overlay
      Returns:
      a bossbar
      Throws:
      IllegalArgumentException - if progress is less than 0 or greater than 1
      Since:
      4.3.0
    • bossBar

      static BossBar bossBar(Component name, float progress, BossBar.Color color, BossBar.Overlay overlay)
      Creates a new bossbar.
      Parameters:
      name - the name
      progress - the progress, between 0 and 1
      color - the color
      overlay - the overlay
      Returns:
      a bossbar
      Throws:
      IllegalArgumentException - if progress is less than 0 or greater than 1
      Since:
      4.0.0
    • bossBar

      static BossBar bossBar(ComponentLike name, float progress, BossBar.Color color, BossBar.Overlay overlay, Set<BossBar.Flag> flags)
      Creates a new bossbar.
      Parameters:
      name - the name
      progress - the progress, between 0 and 1
      color - the color
      overlay - the overlay
      flags - the flags
      Returns:
      a bossbar
      Throws:
      IllegalArgumentException - if progress is less than 0 or greater than 1
      Since:
      4.3.0
    • bossBar

      static BossBar bossBar(Component name, float progress, BossBar.Color color, BossBar.Overlay overlay, Set<BossBar.Flag> flags)
      Creates a new bossbar.
      Parameters:
      name - the name
      progress - the progress, between 0 and 1
      color - the color
      overlay - the overlay
      flags - the flags
      Returns:
      a bossbar
      Throws:
      IllegalArgumentException - if progress is less than 0 or greater than 1
      Since:
      4.0.0
    • name

      Component name()
      Gets the name.
      Returns:
      the name
      Since:
      4.0.0
    • name

      @Contract("_ -> this") default BossBar name(ComponentLike name)
      Sets the name.
      Parameters:
      name - the name
      Returns:
      the bossbar
      Since:
      4.3.0
    • name

      @Contract("_ -> this") BossBar name(Component name)
      Sets the name.
      Parameters:
      name - the name
      Returns:
      the bossbar
      Since:
      4.0.0
    • progress

      float progress()
      Gets the progress.

      The progress is a value between 0 and 1.

      Returns:
      the progress
      Since:
      4.0.0
    • progress

      @Contract("_ -> this") BossBar progress(float progress)
      Sets the progress.

      The progress is a value between 0 and 1.

      Parameters:
      progress - the progress
      Returns:
      the bossbar
      Throws:
      IllegalArgumentException - if progress is less than 0 or greater than 1
      Since:
      4.0.0
    • color

      BossBar.Color color()
      Gets the color.
      Returns:
      the color
      Since:
      4.0.0
    • color

      @Contract("_ -> this") BossBar color(BossBar.Color color)
      Sets the color.
      Parameters:
      color - the color
      Returns:
      the bossbar
      Since:
      4.0.0
    • overlay

      BossBar.Overlay overlay()
      Gets the overlay.
      Returns:
      the overlay
      Since:
      4.0.0
    • overlay

      @Contract("_ -> this") BossBar overlay(BossBar.Overlay overlay)
      Sets the overlay.
      Parameters:
      overlay - the overlay
      Returns:
      the bossbar
      Since:
      4.0.0
    • flags

      @UnmodifiableView Set<BossBar.Flag> flags()
      Gets the flags.
      Returns:
      the flags
      Since:
      4.0.0
    • flags

      @Contract("_ -> this") BossBar flags(Set<BossBar.Flag> flags)
      Sets the flags.
      Parameters:
      flags - the flags
      Returns:
      the bossbar
      Since:
      4.0.0
    • hasFlag

      boolean hasFlag(BossBar.Flag flag)
      Checks if this bossbar has a flag.
      Parameters:
      flag - the flag
      Returns:
      true if this bossbar has the flag, false otherwise
      Since:
      4.0.0
    • addFlag

      @Contract("_ -> this") BossBar addFlag(BossBar.Flag flag)
      Adds a flag to this bossbar.
      Parameters:
      flag - the flag
      Returns:
      the bossbar
      Since:
      4.0.0
    • removeFlag

      @Contract("_ -> this") BossBar removeFlag(BossBar.Flag flag)
      Removes a flag from this bossbar.
      Parameters:
      flag - the flag
      Returns:
      the bossbar
      Since:
      4.0.0
    • addFlags

      @Contract("_ -> this") BossBar addFlags(BossBar.Flag... flags)
      Adds flags to this bossbar.
      Parameters:
      flags - the flags
      Returns:
      the bossbar
      Since:
      4.0.0
    • removeFlags

      @Contract("_ -> this") BossBar removeFlags(BossBar.Flag... flags)
      Removes flags from this bossbar.
      Parameters:
      flags - the flags
      Returns:
      the bossbar
      Since:
      4.0.0
    • addFlags

      @Contract("_ -> this") BossBar addFlags(Iterable<BossBar.Flag> flags)
      Adds flags to this bossbar.
      Parameters:
      flags - the flags
      Returns:
      the bossbar
      Since:
      4.0.0
    • removeFlags

      @Contract("_ -> this") BossBar removeFlags(Iterable<BossBar.Flag> flags)
      Removes flags from this bossbar.
      Parameters:
      flags - the flags
      Returns:
      the bossbar
      Since:
      4.0.0
    • addListener

      @Contract("_ -> this") BossBar addListener(BossBar.Listener listener)
      Adds a listener.
      Parameters:
      listener - a listener
      Returns:
      the bossbar
      Since:
      4.0.0
    • removeListener

      @Contract("_ -> this") BossBar removeListener(BossBar.Listener listener)
      Removes a listener.
      Parameters:
      listener - a listener
      Returns:
      the bossbar
      Since:
      4.0.0
    • viewers

      @UnmodifiableView Iterable<? extends BossBarViewer> viewers()
      Gets an unmodifiable view of the viewers of this bossbar.

      The returned value may be empty if this method is unsupported.

      Returns:
      an unmodifiable view of the viewers of this bossbar
      Since:
      4.14.0
    • addViewer

      default BossBar addViewer(Audience viewer)
      Show this bossbar to viewer.
      Parameters:
      viewer - the viewer
      Returns:
      the bossbar
      Since:
      4.14.0
      See Also:
    • removeViewer

      default BossBar removeViewer(Audience viewer)
      Hide this bossbar from viewer.
      Parameters:
      viewer - the viewer
      Returns:
      the bossbar
      Since:
      4.14.0
      See Also: