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
  • Field Details

  • Method Details

    • empty

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

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

      @NotNull static @NotNull 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) @NotNull static @NotNull TextComponent join​(@NotNull @NotNull ComponentLike separator, @NotNull @NotNull ComponentLike @NotNull ... 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) @NotNull static @NotNull TextComponent join​(@NotNull @NotNull 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

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

      @NotNull static @NotNull Collector<Component,​? extends ComponentBuilder<?,​?>,​Component> toComponent​(@NotNull @NotNull 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 @NotNull BlockNBTComponent.Builder blockNBT()
      Creates a block NBT component builder.
      Returns:
      a builder
      Since:
      4.0.0
    • blockNBT

      @Contract("_ -> new") @NotNull static @NotNull BlockNBTComponent blockNBT​(@NotNull @NotNull 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) @NotNull static @NotNull BlockNBTComponent blockNBT​(@NotNull @NotNull String nbtPath, @NotNull 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) @NotNull static @NotNull BlockNBTComponent blockNBT​(@NotNull @NotNull String nbtPath, boolean interpret, @NotNull 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
    • blockNBT

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

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

      @Contract("_ -> new") @NotNull static @NotNull EntityNBTComponent entityNBT​(@NotNull @NotNull 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") @NotNull static @NotNull EntityNBTComponent entityNBT​(@NotNull @NotNull String nbtPath, @NotNull @NotNull 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 @NotNull KeybindComponent.Builder keybind()
      Creates a keybind component builder.
      Returns:
      a builder
      Since:
      4.0.0
    • keybind

      @Contract("_ -> new") @NotNull static @NotNull KeybindComponent keybind​(@NotNull @NotNull 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) @NotNull static @NotNull KeybindComponent keybind​(@NotNull @NotNull 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) @NotNull static @NotNull KeybindComponent keybind​(@NotNull @NotNull String keybind, @NotNull @NotNull 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) @NotNull static @NotNull KeybindComponent keybind​(@NotNull @NotNull String keybind, @Nullable @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) @NotNull static @NotNull KeybindComponent keybind​(@NotNull @NotNull String keybind, @Nullable @Nullable TextColor color, TextDecoration @NotNull ... 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) @NotNull static @NotNull KeybindComponent keybind​(@NotNull @NotNull String keybind, @Nullable @Nullable TextColor color, @NotNull @NotNull 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 @NotNull ScoreComponent.Builder score()
      Creates a score component builder.
      Returns:
      a builder
      Since:
      4.0.0
    • score

      @Contract("_ -> new") @NotNull static @NotNull ScoreComponent score​(@NotNull @NotNull 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) @NotNull static @NotNull ScoreComponent score​(@NotNull @NotNull String name, @NotNull @NotNull 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) @Deprecated @NotNull static @NotNull ScoreComponent score​(@NotNull @NotNull String name, @NotNull @NotNull String objective, @Nullable @Nullable String value)
      Deprecated.
      since 4.7.0, not for removal, with no replacement. The value field is no longer supported in 1.16.5.
      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 @NotNull SelectorComponent.Builder selector()
      Creates a selector component builder.
      Returns:
      a builder
      Since:
      4.0.0
    • selector

      @Contract("_ -> new") @NotNull static @NotNull SelectorComponent selector​(@NotNull @NotNull 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) @NotNull static @NotNull SelectorComponent selector​(@NotNull @NotNull String pattern)
      Creates a selector component with a pattern.
      Parameters:
      pattern - the selector pattern
      Returns:
      a selector component
      Since:
      4.0.0
    • selector

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

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

      @Contract("_ -> new") @NotNull static @NotNull StorageNBTComponent storageNBT​(@NotNull @NotNull 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) @NotNull static @NotNull StorageNBTComponent storageNBT​(@NotNull @NotNull String nbtPath, @NotNull @NotNull 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) @NotNull static @NotNull StorageNBTComponent storageNBT​(@NotNull @NotNull String nbtPath, boolean interpret, @NotNull @NotNull 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
    • storageNBT

      @Contract(value="_, _, _, _ -> new", pure=true) @NotNull static @NotNull StorageNBTComponent storageNBT​(@NotNull @NotNull String nbtPath, boolean interpret, @Nullable @Nullable ComponentLike separator, @NotNull @NotNull 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
      separator - the separator
      storage - the identifier of the storage
      Returns:
      a storage NBT component
      Since:
      4.8.0
    • text

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

      @Contract("_ -> new") @NotNull static @NotNull TextComponent text​(@NotNull @NotNull 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) @NotNull static @NotNull TextComponent text​(@NotNull @NotNull 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) @NotNull static @NotNull TextComponent text​(@NotNull @NotNull String content, @NotNull @NotNull 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) @NotNull static @NotNull TextComponent text​(@NotNull @NotNull String content, @Nullable @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) @NotNull static @NotNull TextComponent text​(@NotNull @NotNull String content, @Nullable @Nullable TextColor color, TextDecoration @NotNull ... 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) @NotNull static @NotNull TextComponent text​(@NotNull @NotNull String content, @Nullable @Nullable TextColor color, @NotNull @NotNull 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) @NotNull static @NotNull 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) @NotNull static @NotNull TextComponent text​(boolean value, @NotNull @NotNull 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) @NotNull static @NotNull TextComponent text​(boolean value, @Nullable @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) @NotNull static @NotNull TextComponent text​(boolean value, @Nullable @Nullable TextColor color, TextDecoration @NotNull ... 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) @NotNull static @NotNull TextComponent text​(boolean value, @Nullable @Nullable TextColor color, @NotNull @NotNull 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) @NotNull static @NotNull 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) @NotNull static @NotNull TextComponent text​(char value, @NotNull @NotNull 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) @NotNull static @NotNull TextComponent text​(char value, @Nullable @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) @NotNull static @NotNull TextComponent text​(char value, @Nullable @Nullable TextColor color, TextDecoration @NotNull ... 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) @NotNull static @NotNull TextComponent text​(char value, @Nullable @Nullable TextColor color, @NotNull @NotNull 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) @NotNull static @NotNull 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) @NotNull static @NotNull TextComponent text​(double value, @NotNull @NotNull 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) @NotNull static @NotNull TextComponent text​(double value, @Nullable @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) @NotNull static @NotNull TextComponent text​(double value, @Nullable @Nullable TextColor color, TextDecoration @NotNull ... 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) @NotNull static @NotNull TextComponent text​(double value, @Nullable @Nullable TextColor color, @NotNull @NotNull 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) @NotNull static @NotNull 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) @NotNull static @NotNull TextComponent text​(float value, @NotNull @NotNull 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) @NotNull static @NotNull TextComponent text​(float value, @Nullable @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) @NotNull static @NotNull TextComponent text​(float value, @Nullable @Nullable TextColor color, TextDecoration @NotNull ... 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) @NotNull static @NotNull TextComponent text​(float value, @Nullable @Nullable TextColor color, @NotNull @NotNull 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) @NotNull static @NotNull 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) @NotNull static @NotNull TextComponent text​(int value, @NotNull @NotNull 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) @NotNull static @NotNull TextComponent text​(int value, @Nullable @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) @NotNull static @NotNull TextComponent text​(int value, @Nullable @Nullable TextColor color, TextDecoration @NotNull ... 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) @NotNull static @NotNull TextComponent text​(int value, @Nullable @Nullable TextColor color, @NotNull @NotNull 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) @NotNull static @NotNull 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) @NotNull static @NotNull TextComponent text​(long value, @NotNull @NotNull 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) @NotNull static @NotNull TextComponent text​(long value, @Nullable @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) @NotNull static @NotNull TextComponent text​(long value, @Nullable @Nullable TextColor color, TextDecoration @NotNull ... 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) @NotNull static @NotNull TextComponent text​(long value, @Nullable @Nullable TextColor color, @NotNull @NotNull 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 @NotNull TranslatableComponent.Builder translatable()
      Creates a translatable component builder.
      Returns:
      a builder
      Since:
      4.0.0
    • translatable

      @Contract("_ -> new") @NotNull static @NotNull TranslatableComponent translatable​(@NotNull @NotNull 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) @NotNull static @NotNull TranslatableComponent translatable​(@NotNull @NotNull 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) @NotNull static @NotNull TranslatableComponent translatable​(@NotNull @NotNull Translatable translatable)
      Creates a translatable component with a translation key.
      Parameters:
      translatable - the translatable object to get the key from
      Returns:
      a translatable component
      Since:
      4.8.0
    • translatable

      @Contract(value="_, _ -> new", pure=true) @NotNull static @NotNull TranslatableComponent translatable​(@NotNull @NotNull String key, @NotNull @NotNull 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) @NotNull static @NotNull TranslatableComponent translatable​(@NotNull @NotNull Translatable translatable, @NotNull @NotNull Style style)
      Creates a translatable component with a translation key and styling.
      Parameters:
      translatable - the translatable object to get the key from
      style - the style
      Returns:
      a translatable component
      Since:
      4.8.0
    • translatable

      @Contract(value="_, _ -> new", pure=true) @NotNull static @NotNull TranslatableComponent translatable​(@NotNull @NotNull String key, @Nullable @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) @NotNull static @NotNull TranslatableComponent translatable​(@NotNull @NotNull Translatable translatable, @Nullable @Nullable TextColor color)
      Creates a translatable component with a translation key, and optional color.
      Parameters:
      translatable - the translatable object to get the key from
      color - the color
      Returns:
      a translatable component
      Since:
      4.8.0
    • translatable

      @Contract(value="_, _, _ -> new", pure=true) @NotNull static @NotNull TranslatableComponent translatable​(@NotNull @NotNull String key, @Nullable @Nullable TextColor color, TextDecoration @NotNull ... 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) @NotNull static @NotNull TranslatableComponent translatable​(@NotNull @NotNull Translatable translatable, @Nullable @Nullable TextColor color, TextDecoration @NotNull ... decorations)
      Creates a translatable component with a translation key, and optional color and decorations.
      Parameters:
      translatable - the translatable object to get the key from
      color - the color
      decorations - the decorations
      Returns:
      a translatable component
      Since:
      4.8.0
    • translatable

      @Contract(value="_, _, _ -> new", pure=true) @NotNull static @NotNull TranslatableComponent translatable​(@NotNull @NotNull String key, @Nullable @Nullable TextColor color, @NotNull @NotNull 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) @NotNull static @NotNull TranslatableComponent translatable​(@NotNull @NotNull Translatable translatable, @Nullable @Nullable TextColor color, @NotNull @NotNull Set<TextDecoration> decorations)
      Creates a translatable component with a translation key, and optional color and decorations.
      Parameters:
      translatable - the translatable object to get the key from
      color - the color
      decorations - the decorations
      Returns:
      a translatable component
      Since:
      4.8.0
    • translatable

      @Contract(value="_, _ -> new", pure=true) @NotNull static @NotNull TranslatableComponent translatable​(@NotNull @NotNull String key, @NotNull @NotNull ComponentLike @NotNull ... 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) @NotNull static @NotNull TranslatableComponent translatable​(@NotNull @NotNull Translatable translatable, @NotNull @NotNull ComponentLike @NotNull ... args)
      Creates a translatable component with a translation key and arguments.
      Parameters:
      translatable - the translatable object to get the key from
      args - the translation arguments
      Returns:
      a translatable component
      Since:
      4.8.0
    • translatable

      @Contract(value="_, _, _ -> new", pure=true) @NotNull static @NotNull TranslatableComponent translatable​(@NotNull @NotNull String key, @NotNull @NotNull Style style, @NotNull @NotNull ComponentLike @NotNull ... 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) @NotNull static @NotNull TranslatableComponent translatable​(@NotNull @NotNull Translatable translatable, @NotNull @NotNull Style style, @NotNull @NotNull ComponentLike @NotNull ... args)
      Creates a translatable component with a translation key and styling.
      Parameters:
      translatable - the translatable object to get the key from
      style - the style
      args - the translation arguments
      Returns:
      a translatable component
      Since:
      4.8.0
    • translatable

      @Contract(value="_, _, _ -> new", pure=true) @NotNull static @NotNull TranslatableComponent translatable​(@NotNull @NotNull String key, @Nullable @Nullable TextColor color, @NotNull @NotNull ComponentLike @NotNull ... 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) @NotNull static @NotNull TranslatableComponent translatable​(@NotNull @NotNull Translatable translatable, @Nullable @Nullable TextColor color, @NotNull @NotNull ComponentLike @NotNull ... args)
      Creates a translatable component with a translation key, arguments, and optional color.
      Parameters:
      translatable - the translatable object to get the key from
      color - the color
      args - the translation arguments
      Returns:
      a translatable component
      Since:
      4.8.0
    • translatable

      @Contract(value="_, _, _, _ -> new", pure=true) @NotNull static @NotNull TranslatableComponent translatable​(@NotNull @NotNull String key, @Nullable @Nullable TextColor color, @NotNull @NotNull Set<TextDecoration> decorations, @NotNull @NotNull ComponentLike @NotNull ... 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) @NotNull static @NotNull TranslatableComponent translatable​(@NotNull @NotNull Translatable translatable, @Nullable @Nullable TextColor color, @NotNull @NotNull Set<TextDecoration> decorations, @NotNull @NotNull ComponentLike @NotNull ... args)
      Creates a translatable component with a translation key, arguments, and optional color and decorations.
      Parameters:
      translatable - the translatable object to get the key from
      color - the color
      decorations - the decorations
      args - the translation arguments
      Returns:
      a translatable component
      Since:
      4.8.0
    • translatable

      @Contract(value="_, _ -> new", pure=true) @NotNull static @NotNull TranslatableComponent translatable​(@NotNull @NotNull String key, @NotNull @NotNull 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) @NotNull static @NotNull TranslatableComponent translatable​(@NotNull @NotNull Translatable translatable, @NotNull @NotNull List<? extends ComponentLike> args)
      Creates a translatable component with a translation key and arguments.
      Parameters:
      translatable - the translatable object to get the key from
      args - the translation arguments
      Returns:
      a translatable component
      Since:
      4.8.0
    • translatable

      @Contract(value="_, _, _ -> new", pure=true) @NotNull static @NotNull TranslatableComponent translatable​(@NotNull @NotNull String key, @NotNull @NotNull Style style, @NotNull @NotNull 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) @NotNull static @NotNull TranslatableComponent translatable​(@NotNull @NotNull Translatable translatable, @NotNull @NotNull Style style, @NotNull @NotNull List<? extends ComponentLike> args)
      Creates a translatable component with a translation key and styling.
      Parameters:
      translatable - the translatable object to get the key from
      style - the style
      args - the translation arguments
      Returns:
      a translatable component
      Since:
      4.8.0
    • translatable

      @Contract(value="_, _, _ -> new", pure=true) static TranslatableComponent translatable​(@NotNull @NotNull String key, @Nullable @Nullable TextColor color, @NotNull @NotNull 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 TranslatableComponent translatable​(@NotNull @NotNull Translatable translatable, @Nullable @Nullable TextColor color, @NotNull @NotNull List<? extends ComponentLike> args)
      Creates a translatable component with a translation key, arguments, and optional color.
      Parameters:
      translatable - the translatable object to get the key from
      color - the color
      args - the translation arguments
      Returns:
      a translatable component
      Since:
      4.8.0
    • translatable

      @Contract(value="_, _, _, _ -> new", pure=true) @NotNull static @NotNull TranslatableComponent translatable​(@NotNull @NotNull String key, @Nullable @Nullable TextColor color, @NotNull @NotNull Set<TextDecoration> decorations, @NotNull @NotNull 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
    • translatable

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

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

      @Contract(pure=true) @NotNull @NotNull Component children​(@NotNull @NotNull 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​(@NotNull @NotNull Component that)
      Checks if this component contains a component.

      This method uses identity comparison when checking for contains. Use contains(Component, BiPredicate) with EQUALS if you wish to use full equality comparison.

      Parameters:
      that - the other component
      Returns:
      true if this component contains the provided component, false otherwise
      Since:
      4.0.0
    • contains

      default boolean contains​(@NotNull @NotNull Component that, @NotNull @NotNull BiPredicate<? super Component,​? super Component> equals)
      Checks if this component contains a component.
      Parameters:
      that - the other component
      equals - the equality tester
      Returns:
      true if this component contains the provided component, false otherwise
      Since:
      4.8.0
    • detectCycle

      @Deprecated default void detectCycle​(@NotNull @NotNull Component that)
      Deprecated.
      for removal since 4.7.0, with no replacement - this method is not necessary due to the fact Components are immutable
      Prevents a cycle between this component and the provided component.
      Parameters:
      that - the other component
      Since:
      4.0.0
    • append

      @Contract(pure=true) @NotNull @NotNull Component append​(@NotNull @NotNull 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

      @NotNull default @NotNull Component append​(@NotNull @NotNull 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) @NotNull default @NotNull Component append​(@NotNull @NotNull 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

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

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

      @Contract(pure=true) @NotNull default @NotNull Component style​(@NotNull @NotNull 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) @NotNull default @NotNull Component style​(@NotNull @NotNull Consumer<Style.Builder> consumer, @NotNull 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) @NotNull default @NotNull Component style​(@NotNull Style.Builder style)
      Sets the style of this component.
      Parameters:
      style - the style
      Returns:
      a component
      Since:
      4.0.0
    • mergeStyle

      @Contract(pure=true) @NotNull default @NotNull Component mergeStyle​(@NotNull @NotNull 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) @NotNull default @NotNull Component mergeStyle​(@NotNull @NotNull Component that, @NotNull Style.Merge @NotNull ... 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) @NotNull default @NotNull Component mergeStyle​(@NotNull @NotNull Component that, @NotNull @NotNull 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

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

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

      @Contract(pure=true) @NotNull default @NotNull Component colorIfAbsent​(@Nullable @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​(@NotNull @NotNull 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) @NotNull default @NotNull Component decorate​(@NotNull @NotNull 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 @NotNull TextDecoration.State decoration​(@NotNull @NotNull 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) @NotNull default @NotNull Component decoration​(@NotNull @NotNull 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) @NotNull default @NotNull Component decoration​(@NotNull @NotNull TextDecoration decoration, @NotNull 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

      @NotNull default @NotNull 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) @NotNull default @NotNull Component decorations​(@NotNull @NotNull 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

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

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

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

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

      @Nullable 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) @NotNull default @NotNull Component insertion​(@Nullable @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) @NotNull @NotNull Component replaceText​(@NotNull @NotNull 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) @NotNull @NotNull Component replaceText​(@NotNull @NotNull 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

      @ScheduledForRemoval @Contract(pure=true) @Deprecated @NotNull default @NotNull Component replaceText​(@NotNull @NotNull String search, @Nullable @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

      @ScheduledForRemoval @Contract(pure=true) @Deprecated @NotNull default @NotNull Component replaceText​(@NotNull @NotNull Pattern pattern, @NotNull @NotNull 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

      @ScheduledForRemoval @Contract(pure=true) @Deprecated @NotNull default @NotNull Component replaceFirstText​(@NotNull @NotNull String search, @Nullable @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

      @ScheduledForRemoval @Contract(pure=true) @Deprecated @NotNull default @NotNull Component replaceFirstText​(@NotNull @NotNull Pattern pattern, @NotNull @NotNull 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

      @ScheduledForRemoval @Contract(pure=true) @Deprecated @NotNull default @NotNull Component replaceText​(@NotNull @NotNull String search, @Nullable @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

      @ScheduledForRemoval @Contract(pure=true) @Deprecated @NotNull default @NotNull Component replaceText​(@NotNull @NotNull Pattern pattern, @NotNull @NotNull 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

      @ScheduledForRemoval @Contract(pure=true) @Deprecated @NotNull default @NotNull Component replaceText​(@NotNull @NotNull String search, @Nullable @Nullable ComponentLike replacement, @NotNull @NotNull 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

      @ScheduledForRemoval @Contract(pure=true) @Deprecated @NotNull default @NotNull Component replaceText​(@NotNull @NotNull Pattern pattern, @NotNull @NotNull Function<TextComponent.Builder,​@Nullable ComponentLike> replacement, @NotNull @NotNull 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​(@NotNull @NotNull ComponentBuilder<?,​?> component)
      Description copied from interface: ComponentBuilderApplicable
      Applies to component.
      Specified by:
      componentBuilderApply in interface ComponentBuilderApplicable
      Parameters:
      component - the component builder
    • asComponent

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

      @NotNull default @NotNull HoverEvent<Component> asHoverEvent​(@NotNull @NotNull 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