Interface Component

All Superinterfaces:
ComponentBuilderApplicable, ComponentLike, net.kyori.examination.Examinable, HoverEventSource<Component>
All Known Subinterfaces:
BlockNBTComponent, BuildableComponent<C,​B>, EntityNBTComponent, KeybindComponent, NBTComponent<C,​B>, ScopedComponent<C>, ScoreComponent, SelectorComponent, StorageNBTComponent, TextComponent, TranslatableComponent
All Known Implementing Classes:
AbstractComponent

@NonExtendable
public interface Component
extends ComponentBuilderApplicable, ComponentLike, net.kyori.examination.Examinable, HoverEventSource<Component>
A Component is an immutable object that represents how text is displayed Minecraft clients.

Components can be thought of as the combination of:

  • The message the Component wants to display; and
  • The Style of that message.

The most basic component is the TextComponent, where the message is a simple String. However, other dynamic Components are available, which are linked to from here and you are encouraged to explore to better support your plugin/mod. Factories and builders for all available component types are provided via this interface.

Components can be serialized to and deserialized from other formats via the use of component serializers. If used within one of our natively supported platforms, the availability of such serializers may vary, consult the documentation or support for the given platform should this be the case.

Further information about Components, along with functional examples of how they can be used, can be found on our documentation.

Since:
4.0.0
See Also:
BlockNBTComponent, EntityNBTComponent, KeybindComponent, ScoreComponent, SelectorComponent, StorageNBTComponent, TextComponent, TranslatableComponent, LinearComponents
  • Method Details

    • empty

      static @NonNull TextComponent empty()
      Gets an empty component.
      Returns:
      an empty component
      Since:
      4.0.0
    • newline

      static @NonNull TextComponent newline()
      Gets a text component with a new line character as the content.
      Returns:
      a text component with a new line character as the content
      Since:
      4.0.0
    • space

      static @NonNull TextComponent space()
      Gets a text immutable component with a single space as the content.
      Returns:
      a text component with a single space as the content
      Since:
      4.0.0
    • join

      @Contract(value="_, _ -> new", pure=true) static @NonNull TextComponent join​(@NonNull ComponentLike separator, @NonNull ComponentLike @NonNull ... components)
      Joins components using separator.
      Parameters:
      separator - the separator
      components - the components
      Returns:
      a text component
      Since:
      4.0.0
    • join

      @Contract(value="_, _ -> new", pure=true) static @NonNull TextComponent join​(@NonNull ComponentLike separator, Iterable<? extends ComponentLike> components)
      Joins components using separator.
      Parameters:
      separator - the separator
      components - the components
      Returns:
      a text component
      Since:
      4.0.0
    • toComponent

      static @NonNull Collector<Component,​? extends ComponentBuilder<?,​?>,​Component> toComponent()
      Create a collector that will join components without a separator.
      Returns:
      a collector that can join components
      Since:
      4.6.0
    • toComponent

      static @NonNull Collector<Component,​? extends ComponentBuilder<?,​?>,​Component> toComponent​(@NonNull Component separator)
      Create a collector that will join components using the provided separator.
      Parameters:
      separator - the separator to join with
      Returns:
      a collector that can join components
      Since:
      4.6.0
    • blockNBT

      @Contract(pure=true) static @NonNull BlockNBTComponent.Builder blockNBT()
      Creates a block NBT component builder.
      Returns:
      a builder
      Since:
      4.0.0
    • blockNBT

      @Contract("_ -> new") static @NonNull BlockNBTComponent blockNBT​(@NonNull Consumer<? super BlockNBTComponent.Builder> consumer)
      Creates a block NBT component by applying configuration from consumer.
      Parameters:
      consumer - the builder configurator
      Returns:
      a block NBT component
      Since:
      4.0.0
    • blockNBT

      @Contract(value="_, _ -> new", pure=true) static @NonNull BlockNBTComponent blockNBT​(@NonNull String nbtPath, @NonNull BlockNBTComponent.Pos pos)
      Creates a block NBT component with a position.
      Parameters:
      nbtPath - the nbt path
      pos - the block position
      Returns:
      a block NBT component
      Since:
      4.0.0
    • blockNBT

      @Contract(value="_, _, _ -> new", pure=true) static @NonNull BlockNBTComponent blockNBT​(@NonNull String nbtPath, boolean interpret, @NonNull BlockNBTComponent.Pos pos)
      Creates a block NBT component with a position.
      Parameters:
      nbtPath - the nbt path
      interpret - whether to interpret
      pos - the block position
      Returns:
      a block NBT component
      Since:
      4.0.0
    • entityNBT

      @Contract(pure=true) static @NonNull EntityNBTComponent.Builder entityNBT()
      Creates an entity NBT component builder.
      Returns:
      a builder
      Since:
      4.0.0
    • entityNBT

      @Contract("_ -> new") static @NonNull EntityNBTComponent entityNBT​(@NonNull Consumer<? super EntityNBTComponent.Builder> consumer)
      Creates a entity NBT component by applying configuration from consumer.
      Parameters:
      consumer - the builder configurator
      Returns:
      an entity NBT component
      Since:
      4.0.0
    • entityNBT

      @Contract("_, _ -> new") static @NonNull EntityNBTComponent entityNBT​(@NonNull String nbtPath, @NonNull String selector)
      Creates a entity NBT component with a position.
      Parameters:
      nbtPath - the nbt path
      selector - the selector
      Returns:
      an entity NBT component
      Since:
      4.0.0
    • keybind

      @Contract(pure=true) static @NonNull KeybindComponent.Builder keybind()
      Creates a keybind component builder.
      Returns:
      a builder
      Since:
      4.0.0
    • keybind

      @Contract("_ -> new") static @NonNull KeybindComponent keybind​(@NonNull Consumer<? super KeybindComponent.Builder> consumer)
      Creates a keybind component by applying configuration from consumer.
      Parameters:
      consumer - the builder configurator
      Returns:
      the keybind component
      Since:
      4.0.0
    • keybind

      @Contract(value="_ -> new", pure=true) static @NonNull KeybindComponent keybind​(@NonNull String keybind)
      Creates a keybind component with a keybind.
      Parameters:
      keybind - the keybind
      Returns:
      the keybind component
      Since:
      4.0.0
    • keybind

      @Contract(value="_, _ -> new", pure=true) static @NonNull KeybindComponent keybind​(@NonNull String keybind, @NonNull Style style)
      Creates a keybind component with a keybind and styling.
      Parameters:
      keybind - the keybind
      style - the style
      Returns:
      the keybind component
      Since:
      4.0.0
    • keybind

      @Contract(value="_, _ -> new", pure=true) static @NonNull KeybindComponent keybind​(@NonNull String keybind, @Nullable TextColor color)
      Creates a keybind component with a keybind, and optional color.
      Parameters:
      keybind - the keybind
      color - the color
      Returns:
      the keybind component
      Since:
      4.0.0
    • keybind

      @Contract(value="_, _, _ -> new", pure=true) static @NonNull KeybindComponent keybind​(@NonNull String keybind, @Nullable TextColor color, TextDecoration @NonNull ... decorations)
      Creates a keybind component with a keybind, and optional color and decorations.
      Parameters:
      keybind - the keybind
      color - the color
      decorations - the decorations
      Returns:
      the keybind component
      Since:
      4.0.0
    • keybind

      @Contract(value="_, _, _ -> new", pure=true) static @NonNull KeybindComponent keybind​(@NonNull String keybind, @Nullable TextColor color, @NonNull Set<TextDecoration> decorations)
      Creates a keybind component with a keybind, and optional color and decorations.
      Parameters:
      keybind - the keybind
      color - the color
      decorations - the decorations
      Returns:
      the keybind component
      Since:
      4.0.0
    • score

      @Contract(pure=true) static @NonNull ScoreComponent.Builder score()
      Creates a score component builder.
      Returns:
      a builder
      Since:
      4.0.0
    • score

      @Contract("_ -> new") static @NonNull ScoreComponent score​(@NonNull Consumer<? super ScoreComponent.Builder> consumer)
      Creates a score component by applying configuration from consumer.
      Parameters:
      consumer - the builder configurator
      Returns:
      a score component
      Since:
      4.0.0
    • score

      @Contract(value="_, _ -> new", pure=true) static @NonNull ScoreComponent score​(@NonNull String name, @NonNull String objective)
      Creates a score component with a name and objective.
      Parameters:
      name - the score name
      objective - the score objective
      Returns:
      a score component
      Since:
      4.0.0
    • score

      @Contract(value="_, _, _ -> new", pure=true) static @NonNull ScoreComponent score​(@NonNull String name, @NonNull String objective, @Nullable String value)
      Creates a score component with a name, objective, and optional value.
      Parameters:
      name - the score name
      objective - the score objective
      value - the value
      Returns:
      a score component
      Since:
      4.0.0
    • selector

      @Contract(pure=true) static @NonNull SelectorComponent.Builder selector()
      Creates a selector component builder.
      Returns:
      a builder
      Since:
      4.0.0
    • selector

      @Contract("_ -> new") static @NonNull SelectorComponent selector​(@NonNull Consumer<? super SelectorComponent.Builder> consumer)
      Creates a selector component by applying configuration from consumer.
      Parameters:
      consumer - the builder configurator
      Returns:
      a selector component
      Since:
      4.0.0
    • selector

      @Contract(value="_ -> new", pure=true) static @NonNull SelectorComponent selector​(@NonNull String pattern)
      Creates a selector component with a pattern.
      Parameters:
      pattern - the selector pattern
      Returns:
      a selector component
      Since:
      4.0.0
    • storageNBT

      @Contract(pure=true) static @NonNull StorageNBTComponent.Builder storageNBT()
      Creates an storage NBT component builder.
      Returns:
      a builder
      Since:
      4.0.0
    • storageNBT

      @Contract("_ -> new") static @NonNull StorageNBTComponent storageNBT​(@NonNull Consumer<? super StorageNBTComponent.Builder> consumer)
      Creates a storage NBT component by applying configuration from consumer.
      Parameters:
      consumer - the builder configurator
      Returns:
      a storage NBT component
      Since:
      4.0.0
    • storageNBT

      @Contract(value="_, _ -> new", pure=true) static @NonNull StorageNBTComponent storageNBT​(@NonNull String nbtPath, @NonNull net.kyori.adventure.key.Key storage)
      Creates a storage NBT component with a path and an storage ID.
      Parameters:
      nbtPath - the nbt path
      storage - the identifier of the storage
      Returns:
      a storage NBT component
      Since:
      4.0.0
    • storageNBT

      @Contract(value="_, _, _ -> new", pure=true) static @NonNull StorageNBTComponent storageNBT​(@NonNull String nbtPath, boolean interpret, @NonNull net.kyori.adventure.key.Key storage)
      Creates a storage NBT component with a path and an storage ID.
      Parameters:
      nbtPath - the nbt path
      interpret - whether to interpret
      storage - the identifier of the storage
      Returns:
      a storage NBT component
      Since:
      4.0.0
    • text

      @Contract(pure=true) static @NonNull TextComponent.Builder text()
      Creates a text component builder.
      Returns:
      a builder
      Since:
      4.0.0
    • text

      @Contract("_ -> new") static @NonNull TextComponent text​(@NonNull Consumer<? super TextComponent.Builder> consumer)
      Creates a text component by applying configuration from consumer.
      Parameters:
      consumer - the builder configurator
      Returns:
      the text component
      Since:
      4.0.0
    • text

      @Contract(value="_ -> new", pure=true) static @NonNull TextComponent text​(@NonNull String content)
      Creates a text component with content.
      Parameters:
      content - the plain text content
      Returns:
      a text component
      Since:
      4.0.0
    • text

      @Contract(value="_, _ -> new", pure=true) static @NonNull TextComponent text​(@NonNull String content, @NonNull Style style)
      Creates a text component with content and styling.
      Parameters:
      content - the plain text content
      style - the style
      Returns:
      a text component
      Since:
      4.0.0
    • text

      @Contract(value="_, _ -> new", pure=true) static @NonNull TextComponent text​(@NonNull String content, @Nullable TextColor color)
      Creates a text component with content, and optional color.
      Parameters:
      content - the plain text content
      color - the color
      Returns:
      a text component
      Since:
      4.0.0
    • text

      @Contract(value="_, _, _ -> new", pure=true) static @NonNull TextComponent text​(@NonNull String content, @Nullable TextColor color, TextDecoration @NonNull ... decorations)
      Creates a text component with content, and optional color and decorations.
      Parameters:
      content - the plain text content
      color - the color
      decorations - the decorations
      Returns:
      a text component
      Since:
      4.0.0
    • text

      @Contract(value="_, _, _ -> new", pure=true) static @NonNull TextComponent text​(@NonNull String content, @Nullable TextColor color, @NonNull Set<TextDecoration> decorations)
      Creates a text component with content, and optional color and decorations.
      Parameters:
      content - the plain text content
      color - the color
      decorations - the decorations
      Returns:
      a text component
      Since:
      4.0.0
    • text

      @Contract(value="_ -> new", pure=true) static @NonNull TextComponent text​(boolean value)
      Creates a text component with the content of String.valueOf(boolean).
      Parameters:
      value - the boolean value
      Returns:
      a text component
      Since:
      4.0.0
    • text

      @Contract(value="_, _ -> new", pure=true) static @NonNull TextComponent text​(boolean value, @NonNull Style style)
      Creates a text component with the content of String.valueOf(boolean) and styling.
      Parameters:
      value - the boolean value
      style - the style
      Returns:
      a text component
      Since:
      4.0.0
    • text

      @Contract(value="_, _ -> new", pure=true) static @NonNull TextComponent text​(boolean value, @Nullable TextColor color)
      Creates a text component with the content of String.valueOf(boolean), and optional color.
      Parameters:
      value - the boolean value
      color - the color
      Returns:
      a text component
      Since:
      4.0.0
    • text

      @Contract(value="_, _, _ -> new", pure=true) static @NonNull TextComponent text​(boolean value, @Nullable TextColor color, TextDecoration @NonNull ... decorations)
      Creates a text component with the content of String.valueOf(boolean), and optional color and decorations.
      Parameters:
      value - the boolean value
      color - the color
      decorations - the decorations
      Returns:
      a text component
      Since:
      4.0.0
    • text

      @Contract(value="_, _, _ -> new", pure=true) static @NonNull TextComponent text​(boolean value, @Nullable TextColor color, @NonNull Set<TextDecoration> decorations)
      Creates a text component with the content of String.valueOf(boolean), and optional color and decorations.
      Parameters:
      value - the boolean value
      color - the color
      decorations - the decorations
      Returns:
      a text component
      Since:
      4.0.0
    • text

      @Contract(pure=true) static @NonNull TextComponent text​(char value)
      Creates a text component with the content of String.valueOf(char).
      Parameters:
      value - the char value
      Returns:
      a text component
      Since:
      4.0.0
    • text

      @Contract(value="_, _ -> new", pure=true) static @NonNull TextComponent text​(char value, @NonNull Style style)
      Creates a text component with the content of String.valueOf(char) and styling.
      Parameters:
      value - the char value
      style - the style
      Returns:
      a text component
      Since:
      4.0.0
    • text

      @Contract(value="_, _ -> new", pure=true) static @NonNull TextComponent text​(char value, @Nullable TextColor color)
      Creates a text component with the content of String.valueOf(char), and optional color.
      Parameters:
      value - the char value
      color - the color
      Returns:
      a text component
      Since:
      4.0.0
    • text

      @Contract(value="_, _, _ -> new", pure=true) static @NonNull TextComponent text​(char value, @Nullable TextColor color, TextDecoration @NonNull ... decorations)
      Creates a text component with the content of String.valueOf(char), and optional color and decorations.
      Parameters:
      value - the char value
      color - the color
      decorations - the decorations
      Returns:
      a text component
      Since:
      4.0.0
    • text

      @Contract(value="_, _, _ -> new", pure=true) static @NonNull TextComponent text​(char value, @Nullable TextColor color, @NonNull Set<TextDecoration> decorations)
      Creates a text component with the content of String.valueOf(char), and optional color and decorations.
      Parameters:
      value - the char value
      color - the color
      decorations - the decorations
      Returns:
      a text component
      Since:
      4.0.0
    • text

      @Contract(value="_ -> new", pure=true) static @NonNull TextComponent text​(double value)
      Creates a text component with the content of String.valueOf(double).
      Parameters:
      value - the double value
      Returns:
      a text component
      Since:
      4.0.0
    • text

      @Contract(value="_, _ -> new", pure=true) static @NonNull TextComponent text​(double value, @NonNull Style style)
      Creates a text component with the content of String.valueOf(double) and styling.
      Parameters:
      value - the double value
      style - the style
      Returns:
      a text component
      Since:
      4.0.0
    • text

      @Contract(value="_, _ -> new", pure=true) static @NonNull TextComponent text​(double value, @Nullable TextColor color)
      Creates a text component with the content of String.valueOf(double), and optional color.
      Parameters:
      value - the double value
      color - the color
      Returns:
      a text component
      Since:
      4.0.0
    • text

      @Contract(value="_, _, _ -> new", pure=true) static @NonNull TextComponent text​(double value, @Nullable TextColor color, TextDecoration @NonNull ... decorations)
      Creates a text component with the content of String.valueOf(double), and optional color and decorations.
      Parameters:
      value - the double value
      color - the color
      decorations - the decorations
      Returns:
      a text component
      Since:
      4.0.0
    • text

      @Contract(value="_, _, _ -> new", pure=true) static @NonNull TextComponent text​(double value, @Nullable TextColor color, @NonNull Set<TextDecoration> decorations)
      Creates a text component with the content of String.valueOf(double), and optional color and decorations.
      Parameters:
      value - the double value
      color - the color
      decorations - the decorations
      Returns:
      a text component
      Since:
      4.0.0
    • text

      @Contract(value="_ -> new", pure=true) static @NonNull TextComponent text​(float value)
      Creates a text component with the content of String.valueOf(float).
      Parameters:
      value - the float value
      Returns:
      a text component
      Since:
      4.0.0
    • text

      @Contract(value="_, _ -> new", pure=true) static @NonNull TextComponent text​(float value, @NonNull Style style)
      Creates a text component with the content of String.valueOf(float) and styling.
      Parameters:
      value - the float value
      style - the style
      Returns:
      a text component
      Since:
      4.0.0
    • text

      @Contract(value="_, _ -> new", pure=true) static @NonNull TextComponent text​(float value, @Nullable TextColor color)
      Creates a text component with the content of String.valueOf(float), and optional color.
      Parameters:
      value - the float value
      color - the color
      Returns:
      a text component
      Since:
      4.0.0
    • text

      @Contract(value="_, _, _ -> new", pure=true) static @NonNull TextComponent text​(float value, @Nullable TextColor color, TextDecoration @NonNull ... decorations)
      Creates a text component with the content of String.valueOf(float), and optional color and decorations.
      Parameters:
      value - the float value
      color - the color
      decorations - the decorations
      Returns:
      a text component
      Since:
      4.0.0
    • text

      @Contract(value="_, _, _ -> new", pure=true) static @NonNull TextComponent text​(float value, @Nullable TextColor color, @NonNull Set<TextDecoration> decorations)
      Creates a text component with the content of String.valueOf(float), and optional color and decorations.
      Parameters:
      value - the float value
      color - the color
      decorations - the decorations
      Returns:
      a text component
      Since:
      4.0.0
    • text

      @Contract(value="_ -> new", pure=true) static @NonNull TextComponent text​(int value)
      Creates a text component with the content of String.valueOf(int).
      Parameters:
      value - the int value
      Returns:
      a text component
      Since:
      4.0.0
    • text

      @Contract(value="_, _ -> new", pure=true) static @NonNull TextComponent text​(int value, @NonNull Style style)
      Creates a text component with the content of String.valueOf(int) and styling.
      Parameters:
      value - the int value
      style - the style
      Returns:
      a text component
      Since:
      4.0.0
    • text

      @Contract(value="_, _ -> new", pure=true) static @NonNull TextComponent text​(int value, @Nullable TextColor color)
      Creates a text component with the content of String.valueOf(int), and optional color.
      Parameters:
      value - the int value
      color - the color
      Returns:
      a text component
      Since:
      4.0.0
    • text

      @Contract(value="_, _, _ -> new", pure=true) static @NonNull TextComponent text​(int value, @Nullable TextColor color, TextDecoration @NonNull ... decorations)
      Creates a text component with the content of String.valueOf(int), and optional color and decorations.
      Parameters:
      value - the int value
      color - the color
      decorations - the decorations
      Returns:
      a text component
      Since:
      4.0.0
    • text

      @Contract(value="_, _, _ -> new", pure=true) static @NonNull TextComponent text​(int value, @Nullable TextColor color, @NonNull Set<TextDecoration> decorations)
      Creates a text component with the content of String.valueOf(int), and optional color and decorations.
      Parameters:
      value - the int value
      color - the color
      decorations - the decorations
      Returns:
      a text component
      Since:
      4.0.0
    • text

      @Contract(value="_ -> new", pure=true) static @NonNull TextComponent text​(long value)
      Creates a text component with the content of String.valueOf(long).
      Parameters:
      value - the long value
      Returns:
      a text component
      Since:
      4.0.0
    • text

      @Contract(value="_, _ -> new", pure=true) static @NonNull TextComponent text​(long value, @NonNull Style style)
      Creates a text component with the content of String.valueOf(long) and styling.
      Parameters:
      value - the long value
      style - the style
      Returns:
      a text component
      Since:
      4.0.0
    • text

      @Contract(value="_, _ -> new", pure=true) static @NonNull TextComponent text​(long value, @Nullable TextColor color)
      Creates a text component with the content of String.valueOf(long), and optional color.
      Parameters:
      value - the long value
      color - the color
      Returns:
      a text component
      Since:
      4.0.0
    • text

      @Contract(value="_, _, _ -> new", pure=true) static @NonNull TextComponent text​(long value, @Nullable TextColor color, TextDecoration @NonNull ... decorations)
      Creates a text component with the content of String.valueOf(long), and optional color and decorations.
      Parameters:
      value - the long value
      color - the color
      decorations - the decorations
      Returns:
      a text component
      Since:
      4.0.0
    • text

      @Contract(value="_, _, _ -> new", pure=true) static @NonNull TextComponent text​(long value, @Nullable TextColor color, @NonNull Set<TextDecoration> decorations)
      Creates a text component with the content of String.valueOf(long), and optional color and decorations.
      Parameters:
      value - the long value
      color - the color
      decorations - the decorations
      Returns:
      a text component
      Since:
      4.0.0
    • translatable

      @Contract(pure=true) static @NonNull TranslatableComponent.Builder translatable()
      Creates a translatable component builder.
      Returns:
      a builder
      Since:
      4.0.0
    • translatable

      @Contract("_ -> new") static @NonNull TranslatableComponent translatable​(@NonNull Consumer<? super TranslatableComponent.Builder> consumer)
      Creates a translatable component by applying configuration from consumer.
      Parameters:
      consumer - the builder configurator
      Returns:
      a translatable component
      Since:
      4.0.0
    • translatable

      @Contract(value="_ -> new", pure=true) static @NonNull TranslatableComponent translatable​(@NonNull String key)
      Creates a translatable component with a translation key.
      Parameters:
      key - the translation key
      Returns:
      a translatable component
      Since:
      4.0.0
    • translatable

      @Contract(value="_, _ -> new", pure=true) static @NonNull TranslatableComponent translatable​(@NonNull String key, @NonNull Style style)
      Creates a translatable component with a translation key and styling.
      Parameters:
      key - the translation key
      style - the style
      Returns:
      a translatable component
      Since:
      4.0.0
    • translatable

      @Contract(value="_, _ -> new", pure=true) static @NonNull TranslatableComponent translatable​(@NonNull String key, @Nullable TextColor color)
      Creates a translatable component with a translation key, and optional color.
      Parameters:
      key - the translation key
      color - the color
      Returns:
      a translatable component
      Since:
      4.0.0
    • translatable

      @Contract(value="_, _, _ -> new", pure=true) static @NonNull TranslatableComponent translatable​(@NonNull String key, @Nullable TextColor color, TextDecoration @NonNull ... decorations)
      Creates a translatable component with a translation key, and optional color and decorations.
      Parameters:
      key - the translation key
      color - the color
      decorations - the decorations
      Returns:
      a translatable component
      Since:
      4.0.0
    • translatable

      @Contract(value="_, _, _ -> new", pure=true) static @NonNull TranslatableComponent translatable​(@NonNull String key, @Nullable TextColor color, @NonNull Set<TextDecoration> decorations)
      Creates a translatable component with a translation key, and optional color and decorations.
      Parameters:
      key - the translation key
      color - the color
      decorations - the decorations
      Returns:
      a translatable component
      Since:
      4.0.0
    • translatable

      @Contract(value="_, _ -> new", pure=true) static @NonNull TranslatableComponent translatable​(@NonNull String key, @NonNull ComponentLike @NonNull ... args)
      Creates a translatable component with a translation key and arguments.
      Parameters:
      key - the translation key
      args - the translation arguments
      Returns:
      a translatable component
      Since:
      4.0.0
    • translatable

      @Contract(value="_, _, _ -> new", pure=true) static @NonNull TranslatableComponent translatable​(@NonNull String key, @NonNull Style style, @NonNull ComponentLike @NonNull ... args)
      Creates a translatable component with a translation key and styling.
      Parameters:
      key - the translation key
      style - the style
      args - the translation arguments
      Returns:
      a translatable component
      Since:
      4.0.0
    • translatable

      @Contract(value="_, _, _ -> new", pure=true) static @NonNull TranslatableComponent translatable​(@NonNull String key, @Nullable TextColor color, @NonNull ComponentLike @NonNull ... args)
      Creates a translatable component with a translation key, arguments, and optional color.
      Parameters:
      key - the translation key
      color - the color
      args - the translation arguments
      Returns:
      a translatable component
      Since:
      4.0.0
    • translatable

      @Contract(value="_, _, _, _ -> new", pure=true) static @NonNull TranslatableComponent translatable​(@NonNull String key, @Nullable TextColor color, @NonNull Set<TextDecoration> decorations, @NonNull ComponentLike @NonNull ... args)
      Creates a translatable component with a translation key, arguments, and optional color and decorations.
      Parameters:
      key - the translation key
      color - the color
      decorations - the decorations
      args - the translation arguments
      Returns:
      a translatable component
      Since:
      4.0.0
    • translatable

      @Contract(value="_, _ -> new", pure=true) static @NonNull TranslatableComponent translatable​(@NonNull String key, @NonNull List<? extends ComponentLike> args)
      Creates a translatable component with a translation key and arguments.
      Parameters:
      key - the translation key
      args - the translation arguments
      Returns:
      a translatable component
      Since:
      4.0.0
    • translatable

      @Contract(value="_, _, _ -> new", pure=true) static @NonNull TranslatableComponent translatable​(@NonNull String key, @NonNull Style style, @NonNull List<? extends ComponentLike> args)
      Creates a translatable component with a translation key and styling.
      Parameters:
      key - the translation key
      style - the style
      args - the translation arguments
      Returns:
      a translatable component
      Since:
      4.0.0
    • translatable

      @Contract(value="_, _, _ -> new", pure=true) static TranslatableComponent translatable​(@NonNull String key, @Nullable TextColor color, @NonNull List<? extends ComponentLike> args)
      Creates a translatable component with a translation key, arguments, and optional color.
      Parameters:
      key - the translation key
      color - the color
      args - the translation arguments
      Returns:
      a translatable component
      Since:
      4.0.0
    • translatable

      @Contract(value="_, _, _, _ -> new", pure=true) static @NonNull TranslatableComponent translatable​(@NonNull String key, @Nullable TextColor color, @NonNull Set<TextDecoration> decorations, @NonNull List<? extends ComponentLike> args)
      Creates a translatable component with a translation key, arguments, and optional color and decorations.
      Parameters:
      key - the translation key
      color - the color
      decorations - the decorations
      args - the translation arguments
      Returns:
      a translatable component
      Since:
      4.0.0
    • children

      @Unmodifiable @NonNull List<Component> children()
      Gets the unmodifiable list of children.
      Returns:
      the unmodifiable list of children
      Since:
      4.0.0
    • children

      @Contract(pure=true) @NonNull Component children​(@NonNull List<? extends ComponentLike> children)
      Sets the list of children.

      The contents of children will be copied.

      Parameters:
      children - the children
      Returns:
      a component with the children set
      Since:
      4.0.0
    • contains

      default boolean contains​(@NonNull Component that)
      Checks if this component contains a component.
      Parameters:
      that - the other component
      Returns:
      true if this component contains the provided component, false otherwise
      Since:
      4.0.0
    • detectCycle

      default void detectCycle​(@NonNull Component that)
      Prevents a cycle between this component and the provided component.
      Parameters:
      that - the other component
      Since:
      4.0.0
    • append

      @Contract(pure=true) @NonNull Component append​(@NonNull Component component)
      Appends a component to this component.
      Parameters:
      component - the component to append
      Returns:
      a component with the component added
      Since:
      4.0.0
    • append

      default @NonNull Component append​(@NonNull ComponentLike component)
      Appends a component to this component.
      Parameters:
      component - the component to append
      Returns:
      a component with the component added
      Since:
      4.0.0
    • append

      @Contract(pure=true) default @NonNull Component append​(@NonNull ComponentBuilder<?,​?> builder)
      Appends a component to this component.
      Parameters:
      builder - the component to append
      Returns:
      a component with the component added
      Since:
      4.0.0
    • style

      @NonNull Style style()
      Gets the style of this component.
      Returns:
      the style of this component
      Since:
      4.0.0
    • style

      @Contract(pure=true) @NonNull Component style​(@NonNull Style style)
      Sets the style of this component.
      Parameters:
      style - the style
      Returns:
      a component
      Since:
      4.0.0
    • style

      @Contract(pure=true) default @NonNull Component style​(@NonNull Consumer<Style.Builder> consumer)
      Sets the style of this component.
      Parameters:
      consumer - the style consumer
      Returns:
      a component
      Since:
      4.0.0
    • style

      @Contract(pure=true) default @NonNull Component style​(@NonNull Consumer<Style.Builder> consumer, @NonNull Style.Merge.Strategy strategy)
      Sets the style of this component.
      Parameters:
      consumer - the style consumer
      strategy - the merge strategy
      Returns:
      a component
      Since:
      4.0.0
    • style

      @Contract(pure=true) default @NonNull Component style​(@NonNull Style.Builder style)
      Sets the style of this component.
      Parameters:
      style - the style
      Returns:
      a component
      Since:
      4.0.0
    • mergeStyle

      @Contract(pure=true) default @NonNull Component mergeStyle​(@NonNull Component that)
      Merges from another style into this component's style.
      Parameters:
      that - the other style
      Returns:
      a component
      Since:
      4.0.0
    • mergeStyle

      @Contract(pure=true) default @NonNull Component mergeStyle​(@NonNull Component that, @NonNull Style.Merge @NonNull ... merges)
      Merges from another style into this component's style.
      Parameters:
      that - the other style
      merges - the style parts to merge
      Returns:
      a component
      Since:
      4.0.0
    • mergeStyle

      @Contract(pure=true) default @NonNull Component mergeStyle​(@NonNull Component that, @NonNull Set<Style.Merge> merges)
      Merges from another style into this component's style.
      Parameters:
      that - the other style
      merges - the style parts to merge
      Returns:
      a component
      Since:
      4.0.0
    • color

      default @Nullable TextColor color()
      Gets the color of this component.
      Returns:
      the color of this component
      Since:
      4.0.0
    • color

      @Contract(pure=true) default @NonNull Component color​(@Nullable TextColor color)
      Sets the color of this component.
      Parameters:
      color - the color
      Returns:
      a component
      Since:
      4.0.0
    • colorIfAbsent

      @Contract(pure=true) default @NonNull Component colorIfAbsent​(@Nullable TextColor color)
      Sets the color if there isn't one set already.
      Parameters:
      color - the color
      Returns:
      a component
      Since:
      4.0.0
    • hasDecoration

      default boolean hasDecoration​(@NonNull TextDecoration decoration)
      Tests if this component has a decoration.
      Parameters:
      decoration - the decoration
      Returns:
      true if this component has the decoration, false if this component does not have the decoration
      Since:
      4.0.0
    • decorate

      @Contract(pure=true) default @NonNull Component decorate​(@NonNull TextDecoration decoration)
      Sets the state of decoration to TextDecoration.State.TRUE on this component.
      Parameters:
      decoration - the decoration
      Returns:
      a component
      Since:
      4.0.0
    • decoration

      default @NonNull TextDecoration.State decoration​(@NonNull TextDecoration decoration)
      Gets the state of a decoration on this component.
      Parameters:
      decoration - the decoration
      Returns:
      TextDecoration.State.TRUE if this component has the decoration, TextDecoration.State.FALSE if this component does not have the decoration, and TextDecoration.State.NOT_SET if not set
      Since:
      4.0.0
    • decoration

      @Contract(pure=true) default @NonNull Component decoration​(@NonNull TextDecoration decoration, boolean flag)
      Sets the state of a decoration on this component.
      Parameters:
      decoration - the decoration
      flag - true if this component should have the decoration, false if this component should not have the decoration
      Returns:
      a component
      Since:
      4.0.0
    • decoration

      @Contract(pure=true) default @NonNull Component decoration​(@NonNull TextDecoration decoration, @NonNull TextDecoration.State state)
      Sets the value of a decoration on this component.
      Parameters:
      decoration - the decoration
      state - TextDecoration.State.TRUE if this component should have the decoration, TextDecoration.State.FALSE if this component should not have the decoration, and TextDecoration.State.NOT_SET if the decoration should not have a set value
      Returns:
      a component
      Since:
      4.0.0
    • decorations

      default @NonNull Map<TextDecoration,​TextDecoration.State> decorations()
      Gets a set of decorations this component has.
      Returns:
      a set of decorations this component has
      Since:
      4.0.0
    • decorations

      @Contract(pure=true) default @NonNull Component decorations​(@NonNull Map<TextDecoration,​TextDecoration.State> decorations)
      Sets decorations for this component's style using the specified decorations map.

      If a given decoration does not have a value explicitly set, the value of that particular decoration is not changed.

      Parameters:
      decorations - a set of default values
      Returns:
      a component
      Since:
      4.0.0
    • clickEvent

      default @Nullable ClickEvent clickEvent()
      Gets the click event of this component.
      Returns:
      the click event
      Since:
      4.0.0
    • clickEvent

      @Contract(pure=true) default @NonNull Component clickEvent​(@Nullable ClickEvent event)
      Sets the click event of this component.
      Parameters:
      event - the click event
      Returns:
      a component
      Since:
      4.0.0
    • hoverEvent

      default @Nullable HoverEvent<?> hoverEvent()
      Gets the hover event of this component.
      Returns:
      the hover event
      Since:
      4.0.0
    • hoverEvent

      @Contract(pure=true) default @NonNull Component hoverEvent​(@Nullable HoverEventSource<?> source)
      Sets the hover event of this component.
      Parameters:
      source - the hover event source
      Returns:
      a component
      Since:
      4.0.0
    • insertion

      default @Nullable String insertion()
      Gets the string to be inserted when this component is shift-clicked.
      Returns:
      the insertion string
      Since:
      4.0.0
    • insertion

      @Contract(pure=true) default @NonNull Component insertion​(@Nullable String insertion)
      Sets the string to be inserted when this component is shift-clicked.
      Parameters:
      insertion - the insertion string
      Returns:
      a component
      Since:
      4.0.0
    • hasStyling

      default boolean hasStyling()
      Tests if this component has any styling.
      Returns:
      true if this component has any styling, false if this component does not have any styling
      Since:
      4.0.0
    • replaceText

      @Contract(pure=true) @NonNull Component replaceText​(@NonNull Consumer<TextReplacementConfig.Builder> configurer)
      Finds and replaces any text with this or child Components using the configured options.
      Parameters:
      configurer - the configurer
      Returns:
      a modified copy of this component
      Since:
      4.2.0
    • replaceText

      @Contract(pure=true) @NonNull Component replaceText​(@NonNull TextReplacementConfig config)
      Finds and replaces any text with this or child Components using the provided options.
      Parameters:
      config - the replacement config
      Returns:
      a modified copy of this component
      Since:
      4.2.0
    • replaceText

      @Contract(pure=true) @Deprecated default @NonNull Component replaceText​(@NonNull String search, @Nullable ComponentLike replacement)
      Deprecated.
      for removal since 4.2.0, use replaceText(Consumer) or replaceText(TextReplacementConfig) instead.
      Finds and replaces text within any Components using a string literal.
      Parameters:
      search - a string literal
      replacement - a ComponentLike to replace each match
      Returns:
      a modified copy of this component
      Since:
      4.0.0
    • replaceText

      @Contract(pure=true) @Deprecated default @NonNull Component replaceText​(@NonNull Pattern pattern, @NonNull Function<TextComponent.Builder,​@Nullable ComponentLike> replacement)
      Deprecated.
      for removal since 4.2.0, use replaceText(Consumer) or replaceText(TextReplacementConfig) instead.
      Finds and replaces text within any TextComponents using a regex pattern.
      Parameters:
      pattern - a regex pattern
      replacement - a function to replace each match
      Returns:
      a modified copy of this component
      Since:
      4.0.0
    • replaceFirstText

      @Contract(pure=true) @Deprecated default @NonNull Component replaceFirstText​(@NonNull String search, @Nullable ComponentLike replacement)
      Deprecated.
      for removal since 4.2.0, use replaceText(Consumer) or replaceText(TextReplacementConfig) instead.
      Finds and replaces the first occurrence of text within any Components using a string literal.
      Parameters:
      search - a string literal
      replacement - a ComponentLike to replace the first match
      Returns:
      a modified copy of this component
      Since:
      4.0.0
    • replaceFirstText

      @Contract(pure=true) @Deprecated default @NonNull Component replaceFirstText​(@NonNull Pattern pattern, @NonNull Function<TextComponent.Builder,​@Nullable ComponentLike> replacement)
      Deprecated.
      for removal since 4.2.0, use replaceText(Consumer) or replaceText(TextReplacementConfig) instead.
      Finds and replaces the first occurrence of text within any TextComponents using a regex pattern.
      Parameters:
      pattern - a regex pattern
      replacement - a function to replace the first match
      Returns:
      a modified copy of this component
      Since:
      4.0.0
    • replaceText

      @Contract(pure=true) @Deprecated default @NonNull Component replaceText​(@NonNull String search, @Nullable ComponentLike replacement, int numberOfReplacements)
      Deprecated.
      for removal since 4.2.0, use replaceText(Consumer) or replaceText(TextReplacementConfig) instead.
      Finds and replaces n instances of text within any TextComponents using a string literal.
      Parameters:
      search - a string literal
      replacement - a ComponentLike to replace the first match
      numberOfReplacements - the amount of matches that should be replaced
      Returns:
      a modified copy of this component
      Since:
      4.0.0
    • replaceText

      @Contract(pure=true) @Deprecated default @NonNull Component replaceText​(@NonNull Pattern pattern, @NonNull Function<TextComponent.Builder,​@Nullable ComponentLike> replacement, int numberOfReplacements)
      Deprecated.
      for removal since 4.2.0, use replaceText(Consumer) or replaceText(TextReplacementConfig) instead.
      Finds and replaces n instances of text within any TextComponents using a regex pattern.
      Parameters:
      pattern - a regex pattern
      replacement - a function to replace each match
      numberOfReplacements - the amount of matches that should be replaced
      Returns:
      a modified copy of this component
      Since:
      4.0.0
    • replaceText

      @Contract(pure=true) @Deprecated default @NonNull Component replaceText​(@NonNull String search, @Nullable ComponentLike replacement, @NonNull IntFunction2<PatternReplacementResult> fn)
      Deprecated.
      for removal since 4.2.0, use replaceText(Consumer) or replaceText(TextReplacementConfig) instead.
      Finds and replaces n instances of text within any TextComponents using a string literal.

      Utilises an IntFunction2 to determine if each instance should be replaced.

      Parameters:
      search - a string literal
      replacement - a ComponentLike to replace the first match
      fn - a function of (index, replaced) used to determine if matches should be replaced, where "replaced" is the number of successful replacements
      Returns:
      a modified copy of this component
      Since:
      4.0.0
    • replaceText

      @Contract(pure=true) @Deprecated default @NonNull Component replaceText​(@NonNull Pattern pattern, @NonNull Function<TextComponent.Builder,​@Nullable ComponentLike> replacement, @NonNull IntFunction2<PatternReplacementResult> fn)
      Deprecated.
      for removal since 4.2.0, use replaceText(Consumer) or replaceText(TextReplacementConfig) instead.
      Finds and replaces text using a regex pattern.

      Utilises an IntFunction2 to determine if each instance should be replaced.

      Parameters:
      pattern - a regex pattern
      replacement - a function to replace the first match
      fn - a function of (index, replaced) used to determine if matches should be replaced, where "replaced" is the number of successful replacements
      Returns:
      a modified copy of this component
      Since:
      4.0.0
    • componentBuilderApply

      default void componentBuilderApply​(@NonNull ComponentBuilder<?,​?> component)
      Description copied from interface: ComponentBuilderApplicable
      Applies to component.
      Specified by:
      componentBuilderApply in interface ComponentBuilderApplicable
      Parameters:
      component - the component builder
    • asComponent

      default @NonNull Component asComponent()
      Description copied from interface: ComponentLike
      Gets a Component representation.
      Specified by:
      asComponent in interface ComponentLike
      Returns:
      a component
    • asHoverEvent

      default @NonNull HoverEvent<Component> asHoverEvent​(@NonNull UnaryOperator<Component> op)
      Description copied from interface: HoverEventSource
      Creates a hover event with value derived from this object.

      The event value will be passed through the provided callback to allow transforming the original value of the event.

      Specified by:
      asHoverEvent in interface HoverEventSource<Component>
      Parameters:
      op - transformation on value
      Returns:
      a hover event