public WorldInfo func_22173_b(String s) { File file = new File(field_22180_a, s); if (!file.exists()) { return null; } File file1 = new File(file, "level.dat"); if (file1.exists()) { try { NBTTagCompound nbttagcompound = CompressedStreamTools.func_1138_a(new FileInputStream(file1)); NBTTagCompound nbttagcompound2 = nbttagcompound.getCompoundTag("Data"); return new WorldInfo(nbttagcompound2); } catch (Exception exception) { exception.printStackTrace(); } } file1 = new File(file, "level.dat_old"); if (file1.exists()) { try { NBTTagCompound nbttagcompound1 = CompressedStreamTools.func_1138_a(new FileInputStream(file1)); NBTTagCompound nbttagcompound3 = nbttagcompound1.getCompoundTag("Data"); return new WorldInfo(nbttagcompound3); } catch (Exception exception1) { exception1.printStackTrace(); } } return null; }
public void func_22170_a(String s, String s1) { File file = new File(field_22180_a, s); if (!file.exists()) { return; } File file1 = new File(file, "level.dat"); if (file1.exists()) { try { NBTTagCompound nbttagcompound = CompressedStreamTools.func_1138_a(new FileInputStream(file1)); NBTTagCompound nbttagcompound1 = nbttagcompound.getCompoundTag("Data"); nbttagcompound1.setString("LevelName", s1); CompressedStreamTools.writeGzippedCompoundToOutputStream( nbttagcompound, new FileOutputStream(file1)); } catch (Exception exception) { exception.printStackTrace(); } } }
/** copies a 32x32 chunk set from par2File to par1File, via AnvilConverterData */ private void convertChunks( File par1File, File par2File, WorldChunkManager par3WorldChunkManager, int par4, int par5, IProgressUpdate par6IProgressUpdate) { try { String s = par2File.getName(); RegionFile regionfile = new RegionFile(par2File); RegionFile regionfile1 = new RegionFile( new File( par1File, (new StringBuilder()) .append(s.substring(0, s.length() - ".mcr".length())) .append(".mca") .toString())); for (int i = 0; i < 32; i++) { for (int j = 0; j < 32; j++) { if (!regionfile.isChunkSaved(i, j) || regionfile1.isChunkSaved(i, j)) { continue; } DataInputStream datainputstream = regionfile.getChunkDataInputStream(i, j); if (datainputstream == null) { System.out.println("Failed to fetch input stream"); } else { NBTTagCompound nbttagcompound = CompressedStreamTools.read(datainputstream); datainputstream.close(); NBTTagCompound nbttagcompound1 = nbttagcompound.getCompoundTag("Level"); AnvilConverterData anvilconverterdata = ChunkLoader.load(nbttagcompound1); NBTTagCompound nbttagcompound2 = new NBTTagCompound(); NBTTagCompound nbttagcompound3 = new NBTTagCompound(); nbttagcompound2.setTag("Level", nbttagcompound3); ChunkLoader.convertToAnvilFormat( anvilconverterdata, nbttagcompound3, par3WorldChunkManager); DataOutputStream dataoutputstream = regionfile1.getChunkDataOutputStream(i, j); CompressedStreamTools.write(nbttagcompound2, dataoutputstream); dataoutputstream.close(); } } int k = (int) Math.round((100D * (double) (par4 * 1024)) / (double) (par5 * 1024)); int l = (int) Math.round((100D * (double) ((i + 1) * 32 + par4 * 1024)) / (double) (par5 * 1024)); if (l > k) { par6IProgressUpdate.setLoadingProgress(l); } } regionfile.close(); regionfile1.close(); } catch (IOException ioexception) { ioexception.printStackTrace(); } }