Package de.themoep.minedown.adventure
Class Util
java.lang.Object
de.themoep.minedown.adventure.Util
-
Nested Class Summary
Nested Classes -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic net.kyori.adventure.text.ComponentBuilder
applyFormat(net.kyori.adventure.text.ComponentBuilder builder, Collection<net.kyori.adventure.text.format.TextDecoration> formats)
Deprecated.static net.kyori.adventure.text.ComponentBuilder
applyFormat(net.kyori.adventure.text.ComponentBuilder builder, Map<net.kyori.adventure.text.format.TextDecoration,Boolean> formats)
Apply a collection of colors/formats to a component builderstatic net.kyori.adventure.text.Component
applyFormat(net.kyori.adventure.text.Component component, Collection<net.kyori.adventure.text.format.TextDecoration> formats)
Apply a collection of colors/formats to a componentstatic List<net.kyori.adventure.text.format.TextColor>
createGradient(int length, List<net.kyori.adventure.text.format.TextColor> gradient)
Deprecated.static List<net.kyori.adventure.text.format.TextColor>
createGradient(long length, List<net.kyori.adventure.text.format.TextColor> gradient)
Generate a gradient with certain colorsstatic List<net.kyori.adventure.text.format.TextColor>
createRainbow(int length, int phase)
Deprecated.static List<net.kyori.adventure.text.format.TextColor>
createRainbow(long length, int phase)
Generate a rainbow with a certain length and phasestatic double
Deprecated.Doesn't use perceived brightness (HSV) but simply takes the distance between RGB.static net.kyori.adventure.text.format.NamedTextColor
getClosestLegacy(net.kyori.adventure.text.format.TextColor textColor)
Deprecated.UseNamedTextColor.nearestTo(TextColor)
static net.kyori.adventure.text.format.TextFormat
getFormatFromLegacy(char code)
Get a TextFormat from its legacy color code as kyori-text-api does not support thatstatic Set<net.kyori.adventure.text.format.TextDecoration>
getFormats(net.kyori.adventure.text.Component component, boolean ignoreParent)
Get a set of TextColor formats all formats that a component includesstatic char
getLegacyFormatChar(net.kyori.adventure.text.format.TextFormat format)
Get the legacy color code from its format as kyori-text-api does not support thatstatic int
indexOfNotEscaped(String string, String chars)
Get the index of the first occurrences of a not escaped characterstatic int
indexOfNotEscaped(String string, String chars, int fromIndex)
Get the index of the first occurrences of a not escaped characterstatic boolean
Check whether or not a character at a certain index of a string repeats itselfstatic boolean
Check if a character at a certain index is escapedstatic boolean
isFormat(net.kyori.adventure.text.format.TextColor format)
Check whether a certain TextColor is formatting or notstatic net.kyori.adventure.text.Component
rgbColorsToLegacy(net.kyori.adventure.text.Component components)
Utility method to remove RGB colors from components.static void
Utility method to throw an IllegalArgumentException if the value is falsestatic String
Wrap a string if it is longer than the line length and contains no new line.
-
Constructor Details
-
Util
public Util()
-
-
Method Details
-
validate
Utility method to throw an IllegalArgumentException if the value is false- Parameters:
value
- The value to validatemessage
- The message for the exception- Throws:
IllegalArgumentException
- Thrown if the value is false
-
applyFormat
public static net.kyori.adventure.text.Component applyFormat(net.kyori.adventure.text.Component component, Collection<net.kyori.adventure.text.format.TextDecoration> formats)Apply a collection of colors/formats to a component- Parameters:
component
- The BaseComponentformats
- The collection of TextColor formats to apply- Returns:
- The component that was modified
-
applyFormat
@Deprecated public static net.kyori.adventure.text.ComponentBuilder applyFormat(net.kyori.adventure.text.ComponentBuilder builder, Collection<net.kyori.adventure.text.format.TextDecoration> formats)Deprecated.Apply a collection of colors/formats to a component builder- Parameters:
builder
- The ComponentBuilderformats
- The collection of TextColor formats to apply- Returns:
- The component builder that was modified
-
applyFormat
public static net.kyori.adventure.text.ComponentBuilder applyFormat(net.kyori.adventure.text.ComponentBuilder builder, Map<net.kyori.adventure.text.format.TextDecoration,Boolean> formats)Apply a collection of colors/formats to a component builder- Parameters:
builder
- The ComponentBuilderformats
- The collection of TextColor formats to apply- Returns:
- The component builder that was modified
-
isDouble
Check whether or not a character at a certain index of a string repeats itself- Parameters:
string
- The string to checkindex
- The index at which to check the character- Returns:
- Whether or not the character at that index repeated itself
-
isFormat
public static boolean isFormat(net.kyori.adventure.text.format.TextColor format)Check whether a certain TextColor is formatting or not- Parameters:
format
- The TextColor to check- Returns:
true
if it's a format,false
if it's a color
-
getFormats
public static Set<net.kyori.adventure.text.format.TextDecoration> getFormats(net.kyori.adventure.text.Component component, boolean ignoreParent)Get a set of TextColor formats all formats that a component includes- Parameters:
component
- The component to get the formats fromignoreParent
- Whether or not to include the parent's format (TODO: Does kyori-text not handle this?)- Returns:
- A set of all the format TextColors that the component includes
-
indexOfNotEscaped
Get the index of the first occurrences of a not escaped character- Parameters:
string
- The string to searchchars
- The characters to search for- Returns:
- The first unescaped index or -1 if not found
-
indexOfNotEscaped
Get the index of the first occurrences of a not escaped character- Parameters:
string
- The string to searchchars
- The characters to search forfromIndex
- Start searching from that index- Returns:
- The first unescaped index or
-1
if not found
-
isEscaped
Check if a character at a certain index is escaped- Parameters:
string
- The string to checkindex
- The index of the character in the string to check- Returns:
- Whether or not the character is escaped (uneven number of backslashes in front of char mains it is escaped)
- Throws:
IndexOutOfBoundsException
- if theindex
argument is not less than the length of this string.
-
wrap
Wrap a string if it is longer than the line length and contains no new line. Will try to wrap at spaces between words.- Parameters:
string
- The string to wraplineLength
- The max length of a line- Returns:
- The wrapped string
-
rgbColorsToLegacy
public static net.kyori.adventure.text.Component rgbColorsToLegacy(net.kyori.adventure.text.Component components)Utility method to remove RGB colors from components. This modifies the input array!- Parameters:
components
- The components to remove the rgb colors from- Returns:
- The modified components (same as input).
-
getClosestLegacy
@Deprecated public static net.kyori.adventure.text.format.NamedTextColor getClosestLegacy(net.kyori.adventure.text.format.TextColor textColor)Deprecated.UseNamedTextColor.nearestTo(TextColor)
Get the legacy color closest to a certain RGB color- Parameters:
textColor
- The color to get the closest legacy color for- Returns:
- The closest legacy color
-
distance
Deprecated.Doesn't use perceived brightness (HSV) but simply takes the distance between RGB. Do not rely on this, I twill look ugly!Get the distance between two colors- Parameters:
c1
- Color Ac2
- Color B- Returns:
- The distance or 0 if they are equal
-
getFormatFromLegacy
public static net.kyori.adventure.text.format.TextFormat getFormatFromLegacy(char code)Get a TextFormat from its legacy color code as kyori-text-api does not support that- Parameters:
code
- The legacy char- Returns:
- The TextFormat or null if none found with that char
-
getLegacyFormatChar
public static char getLegacyFormatChar(net.kyori.adventure.text.format.TextFormat format)Get the legacy color code from its format as kyori-text-api does not support that- Parameters:
format
- The format- Returns:
- The legacy color code or null if none found with that char
-
createRainbow
@Deprecated public static List<net.kyori.adventure.text.format.TextColor> createRainbow(int length, int phase)Deprecated.Generate a rainbow with a certain length and phase- Parameters:
length
- The length of the rainbowphase
- The phase of the rainbow.- Returns:
- the colors in the rainbow
-
createRainbow
public static List<net.kyori.adventure.text.format.TextColor> createRainbow(long length, int phase)Generate a rainbow with a certain length and phase- Parameters:
length
- The length of the rainbowphase
- The phase of the rainbow.- Returns:
- the colors in the rainbow
-
createGradient
@Deprecated public static List<net.kyori.adventure.text.format.TextColor> createGradient(int length, List<net.kyori.adventure.text.format.TextColor> gradient)Deprecated.Generate a gradient with certain colors- Parameters:
length
- The length of the gradientgradient
- The colors of the gradient.- Returns:
- the colors in the gradient
-
createGradient
public static List<net.kyori.adventure.text.format.TextColor> createGradient(long length, List<net.kyori.adventure.text.format.TextColor> gradient)Generate a gradient with certain colors- Parameters:
length
- The length of the gradientgradient
- The colors of the gradient.- Returns:
- the colors in the gradient
-
applyFormat(ComponentBuilder, Map)