Class Util

java.lang.Object
de.themoep.minedown.adventure.Util

public class Util extends Object
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static class 
     
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static net.kyori.adventure.text.ComponentBuilder
    applyFormat​(net.kyori.adventure.text.ComponentBuilder builder, Collection<net.kyori.adventure.text.format.TextDecoration> formats)
    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
    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
    static List<net.kyori.adventure.text.format.TextColor>
    createGradient​(int length, List<net.kyori.adventure.text.format.TextColor> gradient)
    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
    static 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 phase
    static double
    distance​(Color c1, Color c2)
    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.
    Use NamedTextColor.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 that
    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
    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
    static int
    indexOfNotEscaped​(String string, String chars)
    Get the index of the first occurrences of a not escaped character
    static int
    indexOfNotEscaped​(String string, String chars, int fromIndex)
    Get the index of the first occurrences of a not escaped character
    static boolean
    isDouble​(String string, int index)
    Check whether or not a character at a certain index of a string repeats itself
    static boolean
    isEscaped​(String string, int index)
    Check if a character at a certain index is escaped
    static boolean
    isFormat​(net.kyori.adventure.text.format.TextColor format)
    Check whether a certain TextColor is formatting or not
    static net.kyori.adventure.text.Component
    rgbColorsToLegacy​(net.kyori.adventure.text.Component components)
    Utility method to remove RGB colors from components.
    static void
    validate​(boolean value, String message)
    Utility method to throw an IllegalArgumentException if the value is false
    static String
    wrap​(String string, int lineLength)
    Wrap a string if it is longer than the line length and contains no new line.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • Util

      public Util()
  • Method Details

    • validate

      public static void validate(boolean value, String message) throws IllegalArgumentException
      Utility method to throw an IllegalArgumentException if the value is false
      Parameters:
      value - The value to validate
      message - 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 BaseComponent
      formats - 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)
      Apply a collection of colors/formats to a component builder
      Parameters:
      builder - The ComponentBuilder
      formats - 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 ComponentBuilder
      formats - The collection of TextColor formats to apply
      Returns:
      The component builder that was modified
    • isDouble

      public static boolean isDouble(String string, int index)
      Check whether or not a character at a certain index of a string repeats itself
      Parameters:
      string - The string to check
      index - 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 from
      ignoreParent - 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

      public static int indexOfNotEscaped(String string, String chars)
      Get the index of the first occurrences of a not escaped character
      Parameters:
      string - The string to search
      chars - The characters to search for
      Returns:
      The first unescaped index or -1 if not found
    • indexOfNotEscaped

      public static int indexOfNotEscaped(String string, String chars, int fromIndex)
      Get the index of the first occurrences of a not escaped character
      Parameters:
      string - The string to search
      chars - The characters to search for
      fromIndex - Start searching from that index
      Returns:
      The first unescaped index or -1 if not found
    • isEscaped

      public static boolean isEscaped(String string, int index)
      Check if a character at a certain index is escaped
      Parameters:
      string - The string to check
      index - 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 the index argument is not less than the length of this string.
    • wrap

      public static String wrap(String string, int lineLength)
      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 wrap
      lineLength - 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.
      Use NamedTextColor.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 public static double distance(Color c1, Color c2)
      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 A
      c2 - 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 rainbow
      phase - 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 rainbow
      phase - 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)
      Generate a gradient with certain colors
      Parameters:
      length - The length of the gradient
      gradient - 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 gradient
      gradient - The colors of the gradient.
      Returns:
      the colors in the gradient