Interface TextColor

All Superinterfaces:
Comparable<TextColor>, ComponentBuilderApplicable, net.kyori.examination.Examinable, RGBLike, StyleBuilderApplicable, TextFormat
All Known Implementing Classes:
NamedTextColor

public interface TextColor extends Comparable<TextColor>, net.kyori.examination.Examinable, RGBLike, StyleBuilderApplicable, TextFormat
A color which may be applied to a Style.

The full range of hexadecimal colors are only supported in Minecraft: Java Edition 1.16 and above. On older versions, platforms may downsample these to NamedTextColors.

This color does not include any alpha channel information.

Since:
4.0.0
See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final char
    The hex character.
    static final String
    The hex character, in String format.
  • Method Summary

    Modifier and Type
    Method
    Description
    default @NotNull String
    Gets the color, as a hex string.
    default @org.jetbrains.annotations.Range(from=0L, to=255L) int
    Get the blue component of the text colour.
    static @NotNull TextColor
    color(@org.jetbrains.annotations.Range(from=0L, to=255L) int r, @org.jetbrains.annotations.Range(from=0L, to=255L) int g, @org.jetbrains.annotations.Range(from=0L, to=255L) int b)
    Create a new text colour with the red, green, and blue components individually.
    static @NotNull TextColor
    color(float r, float g, float b)
    Create a new color with the individual components as floats.
    static @NotNull TextColor
    color(int value)
    Creates a new text colour.
    static @NotNull TextColor
    color(@NotNull HSVLike hsv)
    Creates a new text color, converting the provided HSVLike to the RGB color space.
    static @NotNull TextColor
    color(@NotNull RGBLike rgb)
    Creates a new text colour.
    default int
     
    default @NotNull Stream<? extends net.kyori.examination.ExaminableProperty>
     
    static @Nullable TextColor
    fromCSSHexString(@NotNull String string)
    Create a color from a CSS hex string (#rrggbb or #rgb).
    static @Nullable TextColor
    fromHexString(@NotNull String string)
    Create a new color from a hex string.
    default @org.jetbrains.annotations.Range(from=0L, to=255L) int
    Get the green component of the text colour.
    static @NotNull TextColor
    lerp(float t, @NotNull RGBLike a, @NotNull RGBLike b)
    Linearly interpolates between a and b by t.
    static <C extends TextColor>
    C
    nearestColorTo(@NotNull List<C> values, @NotNull TextColor any)
    Find the colour nearest to the provided colour.
    default @org.jetbrains.annotations.Range(from=0L, to=255L) int
    red()
    Get the red component of the text colour.
    default void
    styleApply(@NotNull Style.Builder style)
    Applies to style.
    int
    The color, as an RGB value packed into an int.

    Methods inherited from interface net.kyori.examination.Examinable

    examinableName, examine

    Methods inherited from interface net.kyori.adventure.util.RGBLike

    asHSV

    Methods inherited from interface net.kyori.adventure.text.format.StyleBuilderApplicable

    componentBuilderApply
  • Field Details

    • HEX_CHARACTER

      static final char HEX_CHARACTER
      The hex character.
      Since:
      4.14.0
      See Also:
    • HEX_PREFIX

      static final String HEX_PREFIX
      The hex character, in String format.
      Since:
      4.14.0
      See Also:
  • Method Details

    • color

      @NotNull static @NotNull TextColor color(int value)
      Creates a new text colour.
      Parameters:
      value - the rgb value
      Returns:
      a new text colour
      Since:
      4.0.0
    • color

      @NotNull static @NotNull TextColor color(@NotNull @NotNull RGBLike rgb)
      Creates a new text colour.
      Parameters:
      rgb - the rgb value
      Returns:
      a new text colour
      Since:
      4.0.0
    • color

      @NotNull static @NotNull TextColor color(@NotNull @NotNull HSVLike hsv)
      Creates a new text color, converting the provided HSVLike to the RGB color space.
      Parameters:
      hsv - the hsv value
      Returns:
      a new text color
      Since:
      4.6.0
      See Also:
    • color

      @NotNull static @NotNull TextColor color(@org.jetbrains.annotations.Range(from=0L, to=255L) int r, @org.jetbrains.annotations.Range(from=0L, to=255L) int g, @org.jetbrains.annotations.Range(from=0L, to=255L) int b)
      Create a new text colour with the red, green, and blue components individually.
      Parameters:
      r - red, as a value from 0 to 255
      g - green, as a value from 0 to 255
      b - blue, as a value from 0 to 255
      Returns:
      a new text colour
      Since:
      4.0.0
    • color

      @NotNull static @NotNull TextColor color(float r, float g, float b)
      Create a new color with the individual components as floats.
      Parameters:
      r - red, from [0, 1]
      g - green, within [0, 1]
      b - blue, within [0, 1]
      Returns:
      a new text colour
      Since:
      4.0.0
    • fromHexString

      @Nullable static @Nullable TextColor fromHexString(@NotNull @NotNull String string)
      Create a new color from a hex string.
      Parameters:
      string - the hex string
      Returns:
      a new text colour
      Since:
      4.0.0
    • fromCSSHexString

      @Nullable static @Nullable TextColor fromCSSHexString(@NotNull @NotNull String string)
      Create a color from a CSS hex string (#rrggbb or #rgb).
      Parameters:
      string - the hex string
      Returns:
      a new text colour
      Since:
      4.0.0
    • value

      int value()
      The color, as an RGB value packed into an int.
      Returns:
      the value
      Since:
      4.0.0
    • asHexString

      @NotNull default @NotNull String asHexString()
      Gets the color, as a hex string.
      Returns:
      a hex string
      Since:
      4.0.0
    • red

      default @org.jetbrains.annotations.Range(from=0L, to=255L) int red()
      Get the red component of the text colour.
      Specified by:
      red in interface RGBLike
      Returns:
      the red component, in the range [0x0, 0xff]
      Since:
      4.0.0
    • green

      default @org.jetbrains.annotations.Range(from=0L, to=255L) int green()
      Get the green component of the text colour.
      Specified by:
      green in interface RGBLike
      Returns:
      the green component, in the range [0x0, 0xff]
      Since:
      4.0.0
    • blue

      default @org.jetbrains.annotations.Range(from=0L, to=255L) int blue()
      Get the blue component of the text colour.
      Specified by:
      blue in interface RGBLike
      Returns:
      the blue component, in the range [0x0, 0xff]
      Since:
      4.0.0
    • lerp

      @NotNull static @NotNull TextColor lerp(float t, @NotNull @NotNull RGBLike a, @NotNull @NotNull RGBLike b)
      Linearly interpolates between a and b by t.

      This returns a color blended between color a, at t=0.0, and color b, at t=1.0.

      Parameters:
      t - the interpolation value, between 0.0 and 1.0 (both inclusive)
      a - the lower bound (t=0.0)
      b - the upper bound (t=1.0)
      Returns:
      the interpolated value, a color between the two input colors a and b
      Since:
      4.8.0
    • nearestColorTo

      @NotNull static <C extends TextColor> C nearestColorTo(@NotNull @NotNull List<C> values, @NotNull @NotNull TextColor any)
      Find the colour nearest to the provided colour.
      Type Parameters:
      C - the color type
      Parameters:
      values - the colours for matching
      any - colour to match
      Returns:
      nearest named colour. will always return a value
      Since:
      4.14.0
    • styleApply

      default void styleApply(@NotNull Style.Builder style)
      Description copied from interface: StyleBuilderApplicable
      Applies to style.
      Specified by:
      styleApply in interface StyleBuilderApplicable
      Parameters:
      style - the style builder
    • compareTo

      default int compareTo(TextColor that)
      Specified by:
      compareTo in interface Comparable<TextColor>
    • examinableProperties

      @NotNull default @NotNull Stream<? extends net.kyori.examination.ExaminableProperty> examinableProperties()
      Specified by:
      examinableProperties in interface net.kyori.examination.Examinable