// example lines: // net/minecraft/util/ChunkCoordinates=CL_00001555 // net/minecraft/world/chunk/storage/AnvilChunkLoader.func_75816_a(Lnet/minecraft/world/World;Lnet/minecraft/world/chunk/Chunk;)V=net/minecraft/world/MinecraftException,java/io/IOException|p_75816_1_,p_75816_2_ // net/minecraft/world/biome/BiomeGenMutated.func_150571_c(III)I=|p_150571_1_,p_150571_2_,p_150571_3_ // net/minecraft/world/chunk/storage/AnvilChunkLoader.func_75818_b()V=| // net/minecraft/server/MinecraftServer.func_145747_a(Lnet/minecraft/util/IChatComponent;)V=|p_145747_1_ // this line is not being read for some reason... ^^^ :( Scanner in = new Scanner(new FileReader(f)); try { while (in.hasNextLine()) { if (in.hasNext("#")) { in.nextLine(); continue; } in.useDelimiter("\\."); String srgOwner = in.next(); in.useDelimiter("\\("); String srgName = in.next().substring(1); in.useDelimiter("="); String descriptor = in.next(); in.useDelimiter("\\|"); String excs = in.next().substring(1); String params = in.nextLine().substring(1); ExcData toAdd = new ExcData(srgOwner, srgName, descriptor, (excs.length() > 0 ? excs.split(",") : new String[0]), (params.length() > 0 ? params.split(",") : new String[0])); srgMethodName2ExcData.put(srgName, toAdd); for (String parameter : toAdd.getParameters()) srgParamName2ExcData.put(parameter, toAdd); } } finally { in.close(); }