Package net.kyori.adventure.text.format
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 NamedTextColor
s.
This color does not include any alpha channel information.
- Since:
- 4.0.0
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final char
The hex character.static final String
The hex character, inString
format. -
Method Summary
Modifier and TypeMethodDescriptiondefault @NotNull String
Gets the color, as a hex string.default @org.jetbrains.annotations.Range(from=0L, to=255L) int
blue()
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
Creates a new text color, converting the providedHSVLike
to the RGB color space.static @NotNull TextColor
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
green()
Get the green component of the text colour.static @NotNull TextColor
Linearly interpolates betweena
andb
byt
.static <C extends TextColor>
CnearestColorTo
(@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 tostyle
.int
value()
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.text.format.StyleBuilderApplicable
componentBuilderApply
-
Field Details
-
HEX_CHARACTER
static final char HEX_CHARACTERThe hex character.- Since:
- 4.14.0
- See Also:
-
HEX_PREFIX
The hex character, inString
format.- Since:
- 4.14.0
- See Also:
-
-
Method Details
-
color
Creates a new text colour.- Parameters:
value
- the rgb value- Returns:
- a new text colour
- Since:
- 4.0.0
-
color
Creates a new text colour.- Parameters:
rgb
- the rgb value- Returns:
- a new text colour
- Since:
- 4.0.0
-
color
Creates a new text color, converting the providedHSVLike
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 255g
- green, as a value from 0 to 255b
- blue, as a value from 0 to 255- Returns:
- a new text colour
- Since:
- 4.0.0
-
color
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
Create a new color from a hex string.- Parameters:
string
- the hex string- Returns:
- a new text colour
- Since:
- 4.0.0
-
fromCSSHexString
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
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. -
green
default @org.jetbrains.annotations.Range(from=0L, to=255L) int green()Get the green component of the text colour. -
blue
default @org.jetbrains.annotations.Range(from=0L, to=255L) int blue()Get the blue component of the text colour. -
lerp
@NotNull static @NotNull TextColor lerp(float t, @NotNull @NotNull RGBLike a, @NotNull @NotNull RGBLike b) Linearly interpolates betweena
andb
byt
.This returns a color blended between color
a
, att=0.0
, and colorb
, att=1.0
.- Parameters:
t
- the interpolation value, between0.0
and1.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
andb
- 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 matchingany
- colour to match- Returns:
- nearest named colour. will always return a value
- Since:
- 4.14.0
-
styleApply
Description copied from interface:StyleBuilderApplicable
Applies tostyle
.- Specified by:
styleApply
in interfaceStyleBuilderApplicable
- Parameters:
style
- the style builder
-
compareTo
- Specified by:
compareTo
in interfaceComparable<TextColor>
-
examinableProperties
@NotNull default @NotNull Stream<? extends net.kyori.examination.ExaminableProperty> examinableProperties()- Specified by:
examinableProperties
in interfacenet.kyori.examination.Examinable
-