TextColor.java 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. package me.km.chatchannel;
  2. import java.util.regex.Pattern;
  3. public enum TextColor
  4. {
  5. // vanilla stuff
  6. BLACK('0'),
  7. DARK_BLUE('1'),
  8. DARK_GREEN('2'),
  9. DARK_AQUA('3'),
  10. DARK_RED('4'),
  11. DARK_PURPLE('5'),
  12. GOLD('6'),
  13. GRAY('7'),
  14. DARK_GRAY('8'),
  15. BLUE('9'),
  16. GREEN('a'),
  17. AQUA('b'),
  18. RED('c'),
  19. LIGHT_PURPLE('d'),
  20. YELLOW('e'),
  21. WHITE('f'),
  22. OBFUSCATED('k'),
  23. BOLD('l'),
  24. STRIKETHROUGH('m'),
  25. UNDERLINE('n'),
  26. ITALIC('o'),
  27. RESET('r'),
  28. // http://chir.ag/projects/name-that-color/
  29. // new colors
  30. DARK_BROWN('g'),
  31. LIGHT_BROWN('h'),
  32. MIDNIGHT_BLUE('i'),
  33. BAHAMA_BLUE('j'),
  34. LIMEADE('p'),
  35. PISTACHIO('q'),
  36. AZURE_RADIANCE('s'),
  37. MALIBU('t'),
  38. OREGON('u'),
  39. TENN('v'),
  40. BUDDHA_GOLD('w'),
  41. SUPERNOVA('x'),
  42. POMPADOUR('y'),
  43. ELECTRIC_VIOLET('z');
  44. private static final Pattern FORMATTING_CODE_PATTERN = Pattern.compile("(?i)\u00a7[0-9A-Za-z]");
  45. private final String pattern;
  46. private TextColor(char c)
  47. {
  48. this.pattern = "§" + c;
  49. }
  50. @Override
  51. public String toString()
  52. {
  53. return pattern;
  54. }
  55. public static String getTextWithoutFormattingCodes(String text)
  56. {
  57. return FORMATTING_CODE_PATTERN.matcher(text).replaceAll("");
  58. }
  59. }