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

public interface Component
extends ComponentBuilderApplicable, ComponentLike, net.kyori.examination.Examinable, HoverEventSource<Component>
A component.
Since:
4.0.0
See Also:
BlockNBTComponent, EntityNBTComponent, KeybindComponent, ScoreComponent, SelectorComponent, StorageNBTComponent, TextComponent, TranslatableComponent
  • 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

      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

      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
    • blockNBT

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

      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

      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

      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

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

      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

      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

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

      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

      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

      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

      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

      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

      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

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

      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

      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

      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

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

      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

      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

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

      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

      static @NonNull StorageNBTComponent storageNBT​(@NonNull String nbtPath, @NonNull 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

      static @NonNull StorageNBTComponent storageNBT​(@NonNull String nbtPath, boolean interpret, @NonNull 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

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

      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

      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

      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

      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

      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

      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

      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

      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

      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

      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

      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

      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

      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

      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

      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

      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

      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

      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

      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

      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

      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

      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

      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

      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

      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

      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

      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

      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

      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

      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

      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

      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

      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

      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

      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

      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

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

      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

      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

      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

      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

      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

      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

      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

      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

      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

      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

      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

      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

      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

      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

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

      @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

      @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

      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

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

      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

      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

      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

      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

      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

      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

      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

      default @NonNull Component colorIfAbsent​(@Nullable TextColor color)
      Sets the color if there isn't one set already.
      Parameters:
      color - the color
      Returns:
      this builder
      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

      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

      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

      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

      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

      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

      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

      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

      @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

      @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

      @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

      @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

      @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

      @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

      @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

      @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

      @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

      @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