public override bool func_22101_a(string s, IProgressUpdate iprogressupdate) { iprogressupdate.setLoadingProgress(0); var arraylist = new ArrayList(); var arraylist1 = new ArrayList(); var arraylist2 = new ArrayList(); var arraylist3 = new ArrayList(); var file = new File(field_22106_a, s); var file1 = new File(file, "DIM-1"); [email protected]("Scanning folders..."); func_22108_a(file, arraylist, arraylist1); if (file1.exists()) { func_22108_a(file1, arraylist2, arraylist3); } int i = arraylist.size() + arraylist2.size() + arraylist1.size() + arraylist3.size(); [email protected]( (new StringBuilder()).append("Total conversion count is ").append(i).toString()); func_22107_a(file, arraylist, 0, i, iprogressupdate); func_22107_a(file1, arraylist2, arraylist.size(), i, iprogressupdate); WorldInfo worldinfo = func_22103_b(s); worldinfo.func_22191_a(19132); ISaveHandler isavehandler = func_22105_a(s, false); isavehandler.func_22094_a(worldinfo); func_22109_a(arraylist1, arraylist.size() + arraylist2.size(), i, iprogressupdate); if (file1.exists()) { func_22109_a(arraylist3, arraylist.size() + arraylist2.size() + arraylist1.size(), i, iprogressupdate); } return(true); }
public bool saveChunks(bool flag, IProgressUpdate iprogressupdate) { int i = 0; int j = 0; if (iprogressupdate != null) { for (int k = 0; k < chunks.Length; k++) { if (chunks[k] != null && chunks[k].needsSaving(flag)) { j++; } } } int l = 0; for (int i1 = 0; i1 < chunks.Length; i1++) { if (chunks[i1] == null) { continue; } if (flag && !chunks[i1].neverSave) { saveExtraChunkData(chunks[i1]); } if (!chunks[i1].needsSaving(flag)) { continue; } saveChunk(chunks[i1]); chunks[i1].isModified = false; if (++i == 2 && !flag) { return(false); } if (iprogressupdate != null && ++l % 10 == 0) { iprogressupdate.setLoadingProgress((l * 100) / j); } } if (flag) { if (chunkLoader == null) { return(true); } chunkLoader.saveExtraData(); } return(true); }
private void func_22109_a(ArrayList arraylist, int i, int j, IProgressUpdate iprogressupdate) { int k; for (Iterator iterator = arraylist.iterator(); iterator.hasNext(); iprogressupdate.setLoadingProgress(k)) { var file = (File)iterator.next(); File[] afile = file.listFiles(); func_22104_a(afile); file.delete(); i++; k = (int)Math.round((100D * i) / j); } }
private void func_22107_a(File file, ArrayList arraylist, int i, int j, IProgressUpdate iprogressupdate) { Collections.sort(arraylist); var abyte0 = new byte[4096]; int i1; for (Iterator iterator = arraylist.iterator(); iterator.hasNext(); iprogressupdate.setLoadingProgress(i1)) { var filematcher = (FileMatcher)iterator.next(); int k = filematcher.func_22205_b(); int l = filematcher.func_22204_c(); RegionFile regionfile = RegionFileCache.func_22123_a(file, k, l); if (!regionfile.isChunkSaved(k & 0x1f, l & 0x1f)) { try { var datainputstream = new DataInputStream(new GZIPInputStream(new FileInputStream(filematcher.func_22207_a()))); DataOutputStream dataoutputstream = regionfile.getChunkDataOutputStream(k & 0x1f, l & 0x1f); for (int j1 = 0; (j1 = datainputstream.read(abyte0)) != -1;) { dataoutputstream.write(abyte0, 0, j1); } dataoutputstream.close(); datainputstream.close(); } catch (IOException ioexception) { ioexception.printStackTrace(); } } i++; i1 = (int)Math.round((100D * i) / j); } RegionFileCache.func_22122_a(); }
public bool saveChunks(bool flag, IProgressUpdate iprogressupdate) { int i = 0; int j = 0; if (iprogressupdate != null) { for (int k = 0; k < chunks.Length; k++) { if (chunks[k] != null && chunks[k].needsSaving(flag)) { j++; } } } int l = 0; for (int i1 = 0; i1 < chunks.Length; i1++) { if (chunks[i1] == null) { continue; } if (flag && !chunks[i1].neverSave) { saveExtraChunkData(chunks[i1]); } if (!chunks[i1].needsSaving(flag)) { continue; } saveChunk(chunks[i1]); chunks[i1].isModified = false; if (++i == 2 && !flag) { return false; } if (iprogressupdate != null && ++l%10 == 0) { iprogressupdate.setLoadingProgress((l*100)/j); } } if (flag) { if (chunkLoader == null) { return true; } chunkLoader.saveExtraData(); } return true; }