Example #1
0
 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;
 }
Example #2
0
 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();
    }
  }