Interface BossBar

All Superinterfaces:
net.kyori.examination.Examinable

@NonExtendable public interface BossBar extends net.kyori.examination.Examinable
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:
    • MIN_PERCENT

      @ScheduledForRemoval(inVersion="5.0.0") @Deprecated static final float MIN_PERCENT
      Deprecated.
      for removal since 4.2.0, use MIN_PROGRESS
      The minimum value the progress can be.
      Since:
      4.0.0
      See Also:
    • MAX_PERCENT

      @ScheduledForRemoval(inVersion="5.0.0") @Deprecated static final float MAX_PERCENT
      Deprecated.
      for removal since 4.2.0, use MAX_PROGRESS
      The maximum value the progress can be.
      Since:
      4.0.0
      See Also:
  • Method Details

    • bossBar

      @NotNull static @NotNull BossBar bossBar(@NotNull @NotNull ComponentLike name, float progress, @NotNull @NotNull BossBar.Color color, @NotNull @NotNull 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

      @NotNull static @NotNull BossBar bossBar(@NotNull @NotNull Component name, float progress, @NotNull @NotNull BossBar.Color color, @NotNull @NotNull 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

      @NotNull static @NotNull BossBar bossBar(@NotNull @NotNull ComponentLike name, float progress, @NotNull @NotNull BossBar.Color color, @NotNull @NotNull BossBar.Overlay overlay, @NotNull @NotNull 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

      @NotNull static @NotNull BossBar bossBar(@NotNull @NotNull Component name, float progress, @NotNull @NotNull BossBar.Color color, @NotNull @NotNull BossBar.Overlay overlay, @NotNull @NotNull 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

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

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

      @Contract("_ -> this") @NotNull @NotNull BossBar name(@NotNull @NotNull 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") @NotNull @NotNull 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
    • percent

      @ScheduledForRemoval(inVersion="5.0.0") @Deprecated default float percent()
      Deprecated.
      for removal since 4.2.0, use progress()
      Gets the progress.

      The progress is a value between 0 and 1.

      Returns:
      the progress
      Since:
      4.0.0
    • percent

      @ScheduledForRemoval(inVersion="5.0.0") @Contract("_ -> this") @Deprecated @NotNull default @NotNull BossBar percent(float progress)
      Deprecated.
      for removal since 4.2.0, use progress(float)
      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

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

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

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

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

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

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

      boolean hasFlag(@NotNull @NotNull 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") @NotNull @NotNull BossBar addFlag(@NotNull @NotNull BossBar.Flag flag)
      Adds a flag to this bossbar.
      Parameters:
      flag - the flag
      Returns:
      the bossbar
      Since:
      4.0.0
    • removeFlag

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

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

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

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

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

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

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

      @NotNull @UnmodifiableView @NotNull 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

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

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