001package net.minecraft.util; 002 003import java.util.ArrayList; 004import java.util.Collection; 005import java.util.HashMap; 006import java.util.Map; 007import java.util.regex.Pattern; 008 009public enum EnumChatFormatting 010{ 011 BLACK('0'), 012 DARK_BLUE('1'), 013 DARK_GREEN('2'), 014 DARK_AQUA('3'), 015 DARK_RED('4'), 016 DARK_PURPLE('5'), 017 GOLD('6'), 018 GRAY('7'), 019 DARK_GRAY('8'), 020 BLUE('9'), 021 GREEN('a'), 022 AQUA('b'), 023 RED('c'), 024 LIGHT_PURPLE('d'), 025 YELLOW('e'), 026 WHITE('f'), 027 OBFUSCATED('k', true), 028 BOLD('l', true), 029 STRIKETHROUGH('m', true), 030 UNDERLINE('n', true), 031 ITALIC('o', true), 032 RESET('r'); 033 private static final Map field_96321_w = new HashMap(); 034 private static final Map field_96331_x = new HashMap(); 035 private static final Pattern field_96330_y = Pattern.compile("(?i)" + String.valueOf('\u00a7') + "[0-9A-FK-OR]"); 036 private final char field_96329_z; 037 private final boolean field_96303_A; 038 private final String field_96304_B; 039 040 private EnumChatFormatting(char par3) 041 { 042 this(par3, false); 043 } 044 045 private EnumChatFormatting(char par3, boolean par4) 046 { 047 this.field_96329_z = par3; 048 this.field_96303_A = par4; 049 this.field_96304_B = "\u00a7" + par3; 050 } 051 052 public char func_96298_a() 053 { 054 return this.field_96329_z; 055 } 056 057 public boolean func_96301_b() 058 { 059 return this.field_96303_A; 060 } 061 062 public boolean func_96302_c() 063 { 064 return !this.field_96303_A && this != RESET; 065 } 066 067 public String func_96297_d() 068 { 069 return this.name().toLowerCase(); 070 } 071 072 public String toString() 073 { 074 return this.field_96304_B; 075 } 076 077 public static EnumChatFormatting func_96300_b(String par0Str) 078 { 079 return par0Str == null ? null : (EnumChatFormatting)field_96331_x.get(par0Str.toLowerCase()); 080 } 081 082 public static Collection func_96296_a(boolean par0, boolean par1) 083 { 084 ArrayList arraylist = new ArrayList(); 085 EnumChatFormatting[] aenumchatformatting = values(); 086 int i = aenumchatformatting.length; 087 088 for (int j = 0; j < i; ++j) 089 { 090 EnumChatFormatting enumchatformatting = aenumchatformatting[j]; 091 092 if ((!enumchatformatting.func_96302_c() || par0) && (!enumchatformatting.func_96301_b() || par1)) 093 { 094 arraylist.add(enumchatformatting.func_96297_d()); 095 } 096 } 097 098 return arraylist; 099 } 100 101 static { 102 EnumChatFormatting[] var0 = values(); 103 int var1 = var0.length; 104 105 for (int var2 = 0; var2 < var1; ++var2) 106 { 107 EnumChatFormatting var3 = var0[var2]; 108 field_96321_w.put(Character.valueOf(var3.func_96298_a()), var3); 109 field_96331_x.put(var3.func_96297_d(), var3); 110 } 111 } 112}