Interface Component

All Superinterfaces:
ComponentBuilderApplicable, ComponentLike, HoverEventSource<Component>, StyleGetter, StyleSetter<Component>
All Known Subinterfaces:
BlockNBTComponent, EntityNBTComponent, KeybindComponent, NBTComponent<C>, ObjectComponent, ScopedComponent<C>, ScoreComponent, SelectorComponent, StorageNBTComponent, TextComponent, TranslatableComponent, VirtualComponent

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.

Note: although this interface is sealed, new implementations may be added at any time as and when needed.

Since:
4.0.0
See Also:
  • Field Details

  • Method Details

    • empty

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

      static 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 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(pure=true) static Component join(JoinConfiguration.Builder configBuilder, ComponentLike... components)
      Joins components using the configuration in configBuilder.
      Parameters:
      configBuilder - the join configuration
      components - the components
      Returns:
      the resulting component
      Since:
      4.14.0
      See Also:
    • join

      @Contract(pure=true) static Component join(JoinConfiguration.Builder configBuilder, Iterable<? extends ComponentLike> components)
      Joins components using the configuration in configBuilder.
      Parameters:
      configBuilder - the join configuration
      components - the components
      Returns:
      the resulting component
      Since:
      4.14.0
      See Also:
    • join

      @Contract(pure=true) static Component join(JoinConfiguration config, ComponentLike... components)
      Joins components using the configuration in config.
      Parameters:
      config - the join configuration
      components - the components
      Returns:
      the resulting component
      Since:
      4.9.0
      See Also:
    • join

      @Contract(pure=true) static Component join(JoinConfiguration config, Iterable<? extends ComponentLike> components)
      Joins components using the configuration in config.
      Parameters:
      config - the join configuration
      components - the components
      Returns:
      the resulting component
      Since:
      4.9.0
      See Also:
    • toComponent

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

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

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

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

      @Contract(value="_, _, _ -> new", pure=true) static BlockNBTComponent blockNBT(String nbtPath, boolean interpret, 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) static BlockNBTComponent blockNBT(String nbtPath, boolean interpret, @Nullable ComponentLike separator, 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 EntityNBTComponent.Builder entityNBT()
      Creates an entity NBT component builder.
      Returns:
      a builder
      Since:
      4.0.0
    • entityNBT

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

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

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

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

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

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

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

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

      @Contract(value="_, _ -> new", pure=true) static KeybindComponent keybind(KeybindComponent.KeybindLike 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.9.0
    • keybind

      @Contract(value="_, _, _ -> new", pure=true) static KeybindComponent keybind(String keybind, @Nullable TextColor color, 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
    • keybind

      @Contract(value="_, _, _ -> new", pure=true) static KeybindComponent keybind(KeybindComponent.KeybindLike keybind, @Nullable TextColor color, 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.9.0
    • keybind

      @Contract(value="_, _, _ -> new", pure=true) static KeybindComponent keybind(String keybind, @Nullable TextColor color, 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
    • keybind

      @Contract(value="_, _, _ -> new", pure=true) static KeybindComponent keybind(KeybindComponent.KeybindLike keybind, @Nullable TextColor color, 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.9.0
    • object

      @Contract(pure=true) static ObjectComponent.Builder object()
      Creates an object component builder.
      Returns:
      a builder
      Since:
      4.25.0
    • object

      @Contract("_ -> new") static ObjectComponent object(Consumer<? super ObjectComponent.Builder> consumer)
      Creates an object component by applying configuration from consumer.
      Parameters:
      consumer - the builder configurator
      Returns:
      an object component
      Since:
      4.25.0
    • object

      @Contract(value="_ -> new", pure=true) static ObjectComponent object(ObjectContents objectContents)
      Creates an object component with the given contents.
      Parameters:
      objectContents - the contents
      Returns:
      an object component
      Since:
      4.25.0
    • score

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

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

      @Contract(value="_, _ -> new", pure=true) static ScoreComponent score(String name, 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

      @Obsolete @Contract(value="_, _, _ -> new", pure=true) static ScoreComponent score(String name, String objective, @Nullable String value)
      Creates a score component with a name and objective.
      Parameters:
      name - the score name
      objective - the score objective
      value - the score value
      Returns:
      a score component
      Since:
      4.0.0
      Obsolete since Minecraft
      1.16.5, no longer supported
    • selector

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

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

      @Contract(value="_ -> new", pure=true) static SelectorComponent selector(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) static SelectorComponent selector(String pattern, @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 StorageNBTComponent.Builder storageNBT()
      Creates an storage NBT component builder.
      Returns:
      a builder
      Since:
      4.0.0
    • storageNBT

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

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

      @Contract(value="_, _, _ -> new", pure=true) static StorageNBTComponent storageNBT(String nbtPath, boolean interpret, 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) static StorageNBTComponent storageNBT(String nbtPath, boolean interpret, @Nullable ComponentLike separator, 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 TextComponent.Builder text()
      Creates a text component builder.
      Returns:
      a builder
      Since:
      4.0.0
    • textOfChildren

      static TextComponent textOfChildren(ComponentLike... components)
      Creates a text component with components as the children.
      Parameters:
      components - the children
      Returns:
      a text component
      Since:
      4.10.0
    • text

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      @Contract(value="_, _, _ -> new", pure=true) static TextComponent text(long value, @Nullable TextColor color, 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
    • text

      @Contract(value="_, _, _ -> new", pure=true) static TextComponent text(long value, @Nullable TextColor color, 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
    • virtual

      @Contract(value="_, _ -> new", pure=true) static <C> VirtualComponent virtual(Class<C> contextType, VirtualComponentRenderer<C> renderer)
      Creates a virtual component.
      Type Parameters:
      C - the context type
      Parameters:
      contextType - the context type
      renderer - the renderer
      Returns:
      a virtual component
      Since:
      4.18.0
    • virtual

      @Contract(value="_, _, _ -> new", pure=true) static <C> VirtualComponent virtual(Class<C> contextType, VirtualComponentRenderer<C> renderer, Style style)
      Creates a virtual component with a value.
      Type Parameters:
      C - the context type
      Parameters:
      contextType - the context type
      renderer - the renderer
      style - the style
      Returns:
      a virtual component
      Since:
      4.18.0
    • virtual

      @Contract(value="_, _, _ -> new", pure=true) static <C> VirtualComponent virtual(Class<C> contextType, VirtualComponentRenderer<C> renderer, StyleBuilderApplicable... style)
      Creates a virtual component with a value.
      Type Parameters:
      C - the context type
      Parameters:
      contextType - the context type
      renderer - the renderer
      style - the style elements
      Returns:
      a virtual component
      Since:
      4.18.0
    • virtual

      @Contract(value="_, _, _ -> new", pure=true) static <C> VirtualComponent virtual(Class<C> contextType, VirtualComponentRenderer<C> renderer, Iterable<StyleBuilderApplicable> style)
      Creates a virtual component with a value.
      Type Parameters:
      C - the context type
      Parameters:
      contextType - the context type
      renderer - the renderer
      style - the style elements
      Returns:
      a virtual component
      Since:
      4.18.0
    • translatable

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

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

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

      @Contract(value="_ -> new", pure=true) static TranslatableComponent translatable(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) static TranslatableComponent translatable(String key, @Nullable String fallback)
      Creates a translatable component with a translation key and an optional fallback string.
      Parameters:
      key - the translation key
      fallback - the fallback string
      Returns:
      a translatable component
      Since:
      4.13.0
      Since Minecraft:
      1.19.4
    • translatable

      @Contract(value="_, _ -> new", pure=true) static TranslatableComponent translatable(Translatable translatable, @Nullable String fallback)
      Creates a translatable component with a translation key and an optional fallback string.
      Parameters:
      translatable - the translatable object to get the key from
      fallback - the fallback string
      Returns:
      a translatable component
      Since:
      4.13.0
      Since Minecraft:
      1.19.4
    • translatable

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

      @Contract(value="_, _ -> new", pure=true) static TranslatableComponent translatable(Translatable translatable, 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) static TranslatableComponent translatable(String key, @Nullable String fallback, Style style)
      Creates a translatable component with a translation key, optional fallback string, and styling.
      Parameters:
      key - the translation key
      fallback - the fallback string
      style - the style
      Returns:
      a translatable component
      Since:
      4.13.0
      Since Minecraft:
      1.19.4
    • translatable

      @Contract(value="_, _, _ -> new", pure=true) static TranslatableComponent translatable(Translatable translatable, @Nullable String fallback, Style style)
      Creates a translatable component with a translation key, optional fallback string, and styling.
      Parameters:
      translatable - the translatable object to get the key from
      fallback - the fallback string
      style - the style
      Returns:
      a translatable component
      Since:
      4.13.0
      Since Minecraft:
      1.19.4
    • translatable

      @Contract(value="_, _, _ -> new", pure=true) static TranslatableComponent translatable(String key, @Nullable String fallback, StyleBuilderApplicable... style)
      Creates a translatable component with a translation key, optional fallback string, and styling.
      Parameters:
      key - the translation key
      fallback - the fallback string
      style - the style
      Returns:
      a translatable component
      Since:
      4.13.0
      Since Minecraft:
      1.19.4
    • translatable

      @Contract(value="_, _, _ -> new", pure=true) static TranslatableComponent translatable(Translatable translatable, @Nullable String fallback, Iterable<StyleBuilderApplicable> style)
      Creates a translatable component with a translation key, optional fallback string, and styling.
      Parameters:
      translatable - the translatable object to get the key from
      fallback - the fallback string
      style - the style
      Returns:
      a translatable component
      Since:
      4.13.0
      Since Minecraft:
      1.19.4
    • translatable

      @Contract(value="_, _, _ -> new", pure=true) static TranslatableComponent translatable(String key, @Nullable String fallback, ComponentLike... args)
      Creates a translatable component with a translation key, optional fallback string, and arguments.
      Parameters:
      key - the translation key
      fallback - the fallback string
      args - the translation arguments
      Returns:
      a translatable component
      Since:
      4.13.0
      Since Minecraft:
      1.19.4
    • translatable

      @Contract(value="_, _, _ -> new", pure=true) static TranslatableComponent translatable(Translatable translatable, @Nullable String fallback, ComponentLike... args)
      Creates a translatable component with a translation key, optional fallback string, and arguments.
      Parameters:
      translatable - the translatable object to get the key from
      fallback - the fallback string
      args - the translation arguments
      Returns:
      a translatable component
      Since:
      4.13.0
      Since Minecraft:
      1.19.4
    • translatable

      @Contract(value="_, _, _, _ -> new", pure=true) static TranslatableComponent translatable(String key, @Nullable String fallback, Style style, ComponentLike... args)
      Creates a translatable component with a translation key, optional fallback string, and styling.
      Parameters:
      key - the translation key
      fallback - the fallback string
      style - the style
      args - the translation arguments
      Returns:
      a translatable component
      Since:
      4.13.0
      Since Minecraft:
      1.19.4
    • translatable

      @Contract(value="_, _, _, _ -> new", pure=true) static TranslatableComponent translatable(Translatable translatable, @Nullable String fallback, Style style, ComponentLike... args)
      Creates a translatable component with a translation key, optional fallback string, and styling.
      Parameters:
      translatable - the translatable object to get the key from
      fallback - the fallback string
      style - the style
      args - the translation arguments
      Returns:
      a translatable component
      Since:
      4.13.0
      Since Minecraft:
      1.19.4
    • translatable

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

      @Contract(value="_, _, _, _ -> new", pure=true) static TranslatableComponent translatable(Translatable translatable, @Nullable String fallback, Style style, List<? extends ComponentLike> args)
      Creates a translatable component with a translation key, optional fallback string, and arguments.
      Parameters:
      translatable - the translatable object to get the key from
      fallback - the fallback string
      style - the style
      args - the translation arguments
      Returns:
      a translatable component
      Since:
      4.8.0
      Since Minecraft:
      1.19.4
    • translatable

      @Contract(value="_, _, _, _ -> new", pure=true) static TranslatableComponent translatable(String key, @Nullable String fallback, List<? extends ComponentLike> args, Iterable<StyleBuilderApplicable> style)
      Creates a translatable component with a translation key, optional fallback string, and arguments.
      Parameters:
      key - the translation key
      fallback - the fallback string
      args - the translation arguments
      style - the style
      Returns:
      a translatable component
      Since:
      4.0.0
      Since Minecraft:
      1.19.4
    • translatable

      @Contract(value="_, _, _, _ -> new", pure=true) static TranslatableComponent translatable(Translatable translatable, @Nullable String fallback, List<? extends ComponentLike> args, Iterable<StyleBuilderApplicable> style)
      Creates a translatable component with a translation key, optional fallback string, and arguments.
      Parameters:
      translatable - the translatable object to get the key from
      fallback - the fallback string
      args - the translation arguments
      style - the style
      Returns:
      a translatable component
      Since:
      4.8.0
      Since Minecraft:
      1.19.4
    • translatable

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

      @Contract(value="_, _, _, _ -> new", pure=true) static TranslatableComponent translatable(Translatable translatable, @Nullable String fallback, List<? extends ComponentLike> args, StyleBuilderApplicable... style)
      Creates a translatable component with a translation key, optional fallback string, and arguments.
      Parameters:
      translatable - the translatable object to get the key from
      fallback - the fallback string
      args - the translation arguments
      style - the style
      Returns:
      a translatable component
      Since:
      4.8.0
      Since Minecraft:
      1.19.4
    • translatable

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

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

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

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

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

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

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

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

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

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

      @Contract(pure=true) Component children(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(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(Component that, 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
    • append

      @Contract(pure=true) default Component append(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 Component append(ComponentLike like)
      Appends a component to this component.
      Parameters:
      like - the component to append
      Returns:
      a component with the component added
      Since:
      4.0.0
    • append

      @Contract(pure=true) default Component append(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
    • appendNewline

      @Contract(pure=true) default Component appendNewline()
      Appends a newline to this component.
      Returns:
      a component with the newline added
      Since:
      4.12.0
    • appendSpace

      @Contract(pure=true) default Component appendSpace()
      Appends a space to this component.
      Returns:
      a component with the space added
      Since:
      4.12.0
    • append

      @Contract(pure=true) default Component append(ComponentLike... components)
      Appends components to this component.
      Parameters:
      components - the children to add
      Returns:
      a component with the children added to the existing children
      Since:
      4.20.0
    • append

      @Contract(pure=true) default Component append(List<? extends ComponentLike> components)
      Appends a list of components to this component.
      Parameters:
      components - the children to add
      Returns:
      a component with the children added to the existing children
      Since:
      4.20.0
    • applyFallbackStyle

      @Contract(pure=true) default Component applyFallbackStyle(Style style)
      Apply a fallback style for this component and its children.

      This method can be used to set the "default" style for a component, whilst still allowing children of the component to override the style.

      Parameters:
      style - style to be used as a fallback
      Returns:
      the styled component
      Since:
      4.10.0
    • applyFallbackStyle

      @Contract(pure=true) default Component applyFallbackStyle(StyleBuilderApplicable... style)
      Apply a fallback style for this component and its children.

      This method can be used to set the "default" style for a component, whilst still allowing children of the component to override the style.

      Parameters:
      style - style to be used as a fallback
      Returns:
      the styled component
      Since:
      4.10.0
    • style

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

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

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

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

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

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

      @Contract(pure=true) default Component mergeStyle(Component that, 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
    • mergeStyle

      @Contract(pure=true) default Component mergeStyle(Component that, 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
    • font

      default @Nullable Key font()
      Gets the font.
      Specified by:
      font in interface StyleGetter
      Returns:
      the font of this component
      Since:
      4.10.0
    • font

      default Component font(@Nullable Key key)
      Sets the font.
      Specified by:
      font in interface StyleSetter<Component>
      Parameters:
      key - a font
      Returns:
      a component
      Since:
      4.10.0
    • color

      default @Nullable TextColor color()
      Gets the color of this component.
      Specified by:
      color in interface StyleGetter
      Returns:
      the color of this component
      Since:
      4.0.0
    • shadowColor

      default @Nullable ShadowColor shadowColor()
      Description copied from interface: StyleGetter
      Gets the shadow color.
      Specified by:
      shadowColor in interface StyleGetter
      Returns:
      the shadow color
    • color

      @Contract(pure=true) default Component color(@Nullable TextColor color)
      Sets the color of this component.
      Specified by:
      color in interface StyleSetter<Component>
      Parameters:
      color - the color
      Returns:
      a component
      Since:
      4.0.0
    • colorIfAbsent

      @Contract(pure=true) default Component colorIfAbsent(@Nullable TextColor color)
      Sets the color if there isn't one set already.
      Specified by:
      colorIfAbsent in interface StyleSetter<Component>
      Parameters:
      color - the color
      Returns:
      a component
      Since:
      4.0.0
    • shadowColor

      @Contract(pure=true) default Component shadowColor(@Nullable ARGBLike argb)
      Sets the shadow color of this component.
      Specified by:
      shadowColor in interface StyleSetter<Component>
      Parameters:
      argb - the color
      Returns:
      a component
      Since:
      4.18.0
    • shadowColorIfAbsent

      @Contract(pure=true) default Component shadowColorIfAbsent(@Nullable ARGBLike argb)
      Sets the shadow color if there isn't one set already.
      Specified by:
      shadowColorIfAbsent in interface StyleSetter<Component>
      Parameters:
      argb - the color
      Returns:
      a component
      Since:
      4.18.0
    • hasDecoration

      default boolean hasDecoration(TextDecoration decoration)
      Tests if this component has a decoration.
      Specified by:
      hasDecoration in interface StyleGetter
      Parameters:
      decoration - the decoration
      Returns:
      true if this component has the decoration, false if this component does not have the decoration
      Since:
      4.0.0
    • decorate

      @Contract(pure=true) default Component decorate(TextDecoration decoration)
      Sets the state of decoration to TextDecoration.State.TRUE on this component.
      Specified by:
      decorate in interface StyleSetter<Component>
      Parameters:
      decoration - the decoration
      Returns:
      a component
      Since:
      4.0.0
    • decoration

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

      @Contract(pure=true) default Component decoration(TextDecoration decoration, boolean flag)
      Sets the state of a decoration on this component.
      Specified by:
      decoration in interface StyleSetter<Component>
      Parameters:
      decoration - the decoration
      flag - true if this component should have the decoration, false if this component should not have the decoration
      Returns:
      a component
      Since:
      4.0.0
    • decoration

      @Contract(pure=true) default Component decoration(TextDecoration decoration, TextDecoration.State state)
      Sets the value of a decoration on this component.
      Specified by:
      decoration in interface StyleSetter<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
    • decorationIfAbsent

      default Component decorationIfAbsent(TextDecoration decoration, TextDecoration.State state)
      Sets the state of a decoration on this component to state if the current state of the decoration is TextDecoration.State.NOT_SET.
      Specified by:
      decorationIfAbsent in interface StyleSetter<Component>
      Parameters:
      decoration - the decoration
      state - the state
      Returns:
      a component
      Since:
      4.12.0
    • decorations

      default Map<TextDecoration, TextDecoration.State> decorations()
      Gets a map of decorations this component has.
      Specified by:
      decorations in interface StyleGetter
      Returns:
      a map of decorations this component has
      Since:
      4.0.0
    • decorations

      @Contract(pure=true) default Component decorations(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.

      Specified by:
      decorations in interface StyleSetter<Component>
      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.
      Specified by:
      clickEvent in interface StyleGetter
      Returns:
      the click event
      Since:
      4.0.0
    • clickEvent

      @Contract(pure=true) default Component clickEvent(@Nullable ClickEvent<?> event)
      Sets the click event of this component.
      Specified by:
      clickEvent in interface StyleSetter<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.
      Specified by:
      hoverEvent in interface StyleGetter
      Returns:
      the hover event
      Since:
      4.0.0
    • hoverEvent

      @Contract(pure=true) default Component hoverEvent(@Nullable HoverEventSource<?> source)
      Sets the hover event of this component.
      Specified by:
      hoverEvent in interface StyleSetter<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.
      Specified by:
      insertion in interface StyleGetter
      Returns:
      the insertion string
      Since:
      4.0.0
    • insertion

      @Contract(pure=true) default Component insertion(@Nullable String insertion)
      Sets the string to be inserted when this component is shift-clicked.
      Specified by:
      insertion in interface StyleSetter<Component>
      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) default Component replaceText(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) default Component replaceText(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
    • compact

      default Component compact()
      Create a new component with any redundant style elements or children removed.
      Returns:
      the optimized component
      Since:
      4.9.0
    • compact

      default Component compact(@Nullable Style parentStyle)
      Create a new component with any redundant style elements or children removed. It is assumed that the component will inherit the given parentStyle.
      Parameters:
      parentStyle - the style of the parent of this component
      Returns:
      the optimized component
      Since:
      4.25.0
    • iterable

      default Iterable<Component> iterable(ComponentIteratorType type, ComponentIteratorFlag @Nullable ... flags)
      Returns an iterable view of this component.
      Parameters:
      type - the type
      flags - the flags
      Returns:
      the iterable
      Since:
      4.9.0
    • iterable

      Returns an iterable view of this component.
      Parameters:
      type - the type
      flags - the flags
      Returns:
      the iterable
      Since:
      4.9.0
    • iterator

      default Iterator<Component> iterator(ComponentIteratorType type, ComponentIteratorFlag @Nullable ... flags)
      Returns an iterator for this component.

      As components are immutable, this iterator does not support removal.

      Parameters:
      type - the type
      flags - the flags
      Returns:
      the iterator
      Since:
      4.9.0
    • iterator

      Returns an iterator for this component.

      As components are immutable, this iterator does not support removal.

      Parameters:
      type - the type
      flags - the flags
      Returns:
      the iterator
      Since:
      4.9.0
    • spliterator

      default Spliterator<Component> spliterator(ComponentIteratorType type, ComponentIteratorFlag @Nullable ... flags)
      Returns a spliterator for this component.

      The resulting spliterator has the Spliterator.IMMUTABLE, Spliterator.NONNULL and Spliterator.ORDERED characteristics.

      Parameters:
      type - the type
      flags - the flags
      Returns:
      the spliterator
      Since:
      4.9.0
    • spliterator

      Returns a spliterator for this component.

      The resulting spliterator has the Spliterator.IMMUTABLE, Spliterator.NONNULL and Spliterator.ORDERED characteristics.

      Parameters:
      type - the type
      flags - the flags
      Returns:
      the spliterator
      Since:
      4.9.0
    • toBuilder

      ComponentBuilder<?,?> toBuilder()
      Returns a builder for this component.
      Returns:
      the builder
      Since:
      4.26.0
    • componentBuilderApply

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

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

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