001 package net.minecraft.src; 002 003 import java.util.ArrayList; 004 import java.util.HashMap; 005 import java.util.Iterator; 006 import java.util.List; 007 import java.util.Map; 008 import java.util.Map.Entry; 009 010 public class FlatGeneratorInfo 011 { 012 private final List field_82655_a = new ArrayList(); 013 private final Map field_82653_b = new HashMap(); 014 private int field_82654_c = 0; 015 016 public int func_82648_a() 017 { 018 return this.field_82654_c; 019 } 020 021 public void func_82647_a(int par1) 022 { 023 this.field_82654_c = par1; 024 } 025 026 public Map func_82644_b() 027 { 028 return this.field_82653_b; 029 } 030 031 public List func_82650_c() 032 { 033 return this.field_82655_a; 034 } 035 036 public void func_82645_d() 037 { 038 int var1 = 0; 039 FlatLayerInfo var3; 040 041 for (Iterator var2 = this.field_82655_a.iterator(); var2.hasNext(); var1 += var3.func_82657_a()) 042 { 043 var3 = (FlatLayerInfo)var2.next(); 044 var3.func_82660_d(var1); 045 } 046 } 047 048 public String toString() 049 { 050 StringBuilder var1 = new StringBuilder(); 051 var1.append(2); 052 var1.append(";"); 053 int var2; 054 055 for (var2 = 0; var2 < this.field_82655_a.size(); ++var2) 056 { 057 if (var2 > 0) 058 { 059 var1.append(","); 060 } 061 062 var1.append(((FlatLayerInfo)this.field_82655_a.get(var2)).toString()); 063 } 064 065 var1.append(";"); 066 var1.append(this.field_82654_c); 067 068 if (!this.field_82653_b.isEmpty()) 069 { 070 var1.append(";"); 071 var2 = 0; 072 Iterator var3 = this.field_82653_b.entrySet().iterator(); 073 074 while (var3.hasNext()) 075 { 076 Entry var4 = (Entry)var3.next(); 077 078 if (var2++ > 0) 079 { 080 var1.append(","); 081 } 082 083 var1.append(((String)var4.getKey()).toLowerCase()); 084 Map var5 = (Map)var4.getValue(); 085 086 if (!var5.isEmpty()) 087 { 088 var1.append("("); 089 int var6 = 0; 090 Iterator var7 = var5.entrySet().iterator(); 091 092 while (var7.hasNext()) 093 { 094 Entry var8 = (Entry)var7.next(); 095 096 if (var6++ > 0) 097 { 098 var1.append(" "); 099 } 100 101 var1.append((String)var8.getKey()); 102 var1.append("="); 103 var1.append((String)var8.getValue()); 104 } 105 106 var1.append(")"); 107 } 108 } 109 } 110 111 return var1.toString(); 112 } 113 114 private static FlatLayerInfo func_82646_a(String par0Str, int par1) 115 { 116 String[] var2 = par0Str.split("x", 2); 117 int var3 = 1; 118 int var5 = 0; 119 120 if (var2.length == 2) 121 { 122 try 123 { 124 var3 = Integer.parseInt(var2[0]); 125 126 if (par1 + var3 >= 256) 127 { 128 var3 = 256 - par1; 129 } 130 131 if (var3 < 0) 132 { 133 var3 = 0; 134 } 135 } 136 catch (Throwable var7) 137 { 138 return null; 139 } 140 } 141 142 int var4; 143 144 try 145 { 146 String var6 = var2[var2.length - 1]; 147 var2 = var6.split(":", 2); 148 var4 = Integer.parseInt(var2[0]); 149 150 if (var2.length > 1) 151 { 152 var5 = Integer.parseInt(var2[1]); 153 } 154 155 if (Block.blocksList[var4] == null) 156 { 157 var4 = 0; 158 var5 = 0; 159 } 160 161 if (var5 < 0 || var5 > 15) 162 { 163 var5 = 0; 164 } 165 } 166 catch (Throwable var8) 167 { 168 return null; 169 } 170 171 FlatLayerInfo var9 = new FlatLayerInfo(var3, var4, var5); 172 var9.func_82660_d(par1); 173 return var9; 174 } 175 176 private static List func_82652_b(String par0Str) 177 { 178 if (par0Str != null && par0Str.length() >= 1) 179 { 180 ArrayList var1 = new ArrayList(); 181 String[] var2 = par0Str.split(","); 182 int var3 = 0; 183 String[] var4 = var2; 184 int var5 = var2.length; 185 186 for (int var6 = 0; var6 < var5; ++var6) 187 { 188 String var7 = var4[var6]; 189 FlatLayerInfo var8 = func_82646_a(var7, var3); 190 191 if (var8 == null) 192 { 193 return null; 194 } 195 196 var1.add(var8); 197 var3 += var8.func_82657_a(); 198 } 199 200 return var1; 201 } 202 else 203 { 204 return null; 205 } 206 } 207 208 public static FlatGeneratorInfo func_82651_a(String par0Str) 209 { 210 if (par0Str == null) 211 { 212 return func_82649_e(); 213 } 214 else 215 { 216 String[] var1 = par0Str.split(";", -1); 217 int var2 = var1.length == 1 ? 0 : MathHelper.func_82715_a(var1[0], 0); 218 219 if (var2 >= 0 && var2 <= 2) 220 { 221 FlatGeneratorInfo var3 = new FlatGeneratorInfo(); 222 int var4 = var1.length == 1 ? 0 : 1; 223 List var5 = func_82652_b(var1[var4++]); 224 225 if (var5 != null && !var5.isEmpty()) 226 { 227 var3.func_82650_c().addAll(var5); 228 var3.func_82645_d(); 229 int var6 = BiomeGenBase.plains.biomeID; 230 231 if (var2 > 0 && var1.length > var4) 232 { 233 var6 = MathHelper.func_82715_a(var1[var4++], var6); 234 } 235 236 var3.func_82647_a(var6); 237 238 if (var2 > 0 && var1.length > var4) 239 { 240 String[] var7 = var1[var4++].toLowerCase().split(","); 241 String[] var8 = var7; 242 int var9 = var7.length; 243 244 for (int var10 = 0; var10 < var9; ++var10) 245 { 246 String var11 = var8[var10]; 247 String[] var12 = var11.split("\\(", 2); 248 HashMap var13 = new HashMap(); 249 250 if (var12[0].length() > 0) 251 { 252 var3.func_82644_b().put(var12[0], var13); 253 254 if (var12.length > 1 && var12[1].endsWith(")") && var12[1].length() > 1) 255 { 256 String[] var14 = var12[1].substring(0, var12[1].length() - 1).split(" "); 257 258 for (int var15 = 0; var15 < var14.length; ++var15) 259 { 260 String[] var16 = var14[var15].split("=", 2); 261 262 if (var16.length == 2) 263 { 264 var13.put(var16[0], var16[1]); 265 } 266 } 267 } 268 } 269 } 270 } 271 else 272 { 273 var3.func_82644_b().put("village", new HashMap()); 274 } 275 276 return var3; 277 } 278 else 279 { 280 return func_82649_e(); 281 } 282 } 283 else 284 { 285 return func_82649_e(); 286 } 287 } 288 } 289 290 public static FlatGeneratorInfo func_82649_e() 291 { 292 FlatGeneratorInfo var0 = new FlatGeneratorInfo(); 293 var0.func_82647_a(BiomeGenBase.plains.biomeID); 294 var0.func_82650_c().add(new FlatLayerInfo(1, Block.bedrock.blockID)); 295 var0.func_82650_c().add(new FlatLayerInfo(2, Block.dirt.blockID)); 296 var0.func_82650_c().add(new FlatLayerInfo(1, Block.grass.blockID)); 297 var0.func_82645_d(); 298 var0.func_82644_b().put("village", new HashMap()); 299 return var0; 300 } 301 }