public static void Func_22122_a() { lock (typeof(RegionFileCache)) { System.Collections.IEnumerator iterator = field_22125_a.Values.GetEnumerator(); do { if (!iterator.MoveNext()) { break; } WeakReference reference = (WeakReference)iterator.Current; try { net.minecraft.src.RegionFile regionfile = (net.minecraft.src.RegionFile)reference.Target; if (regionfile != null) { regionfile.Close(); } } catch (System.IO.IOException ioexception) { Sharpen.Runtime.PrintStackTrace(ioexception); } }while (true); field_22125_a.Clear(); } }
// Referenced classes of package net.minecraft.src: // RegionFile public static net.minecraft.src.RegionFile Func_22123_a(string file, int i, int j) { lock (typeof(RegionFileCache)) { string file1 = System.IO.Path.Combine(file, "region"); string file2 = System.IO.Path.Combine(file1, (new java.lang.StringBuilder()).Append("r.").Append(i >> 5).Append(".").Append(j >> 5).Append(".mcr").ToString()); WeakReference reference = (WeakReference)field_22125_a[file2]; if (reference != null && reference.IsAlive) { net.minecraft.src.RegionFile regionfile = (net.minecraft.src.RegionFile)reference.Target; if (regionfile != null) { return(regionfile); } } if (!System.IO.File.Exists(file1)) { System.IO.Directory.CreateDirectory(System.IO.Path.GetDirectoryName(file1)); } if (field_22125_a.Count >= 256) { Func_22122_a(); } net.minecraft.src.RegionFile regionfile1 = new net.minecraft.src.RegionFile(file2); field_22125_a[file2] = new WeakReference(regionfile1); return(regionfile1); } }
public RegionFileChunkBuffer(net.minecraft.src.RegionFile regionfile, int i, int j) //: base(8096) { // Referenced classes of package net.minecraft.src: // RegionFile field_22157_a = regionfile; field_22156_b = i; field_22158_c = j; }
private void Func_22107_a(string file, List <ChunkFile> arraylist, int i, int j, net.minecraft.src.IProgressUpdate iprogressupdate) { arraylist.Sort(); byte[] abyte0 = new byte[4096]; int i1; for (System.Collections.IEnumerator iterator = arraylist.GetEnumerator(); iterator .MoveNext(); iprogressupdate.SetLoadingProgress(i1)) { net.minecraft.src.ChunkFile chunkfile = (net.minecraft.src.ChunkFile)iterator.Current; int k = chunkfile.Func_22205_b(); int l = chunkfile.Func_22204_c(); net.minecraft.src.RegionFile regionfile = net.minecraft.src.RegionFileCache.Func_22123_a (file, k, l); if (!regionfile.IsChunkSaved(k & 0x1f, l & 0x1f)) { try { using (FileStream fs = File.OpenRead(chunkfile.Func_22207_a())) using (GZipStream ds = new GZipStream(fs, CompressionMode.Decompress)) { java.io.DataInputStream datainputstream = new java.io.DataInputStream(ds); //java.io.DataInputStream datainputstream = new java.io.DataInputStream(new java.util.zip.GZIPInputStream(new java.io.FileInputStream(chunkfile.Func_22207_a()))); java.io.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 (System.IO.IOException ioexception) { Sharpen.Runtime.PrintStackTrace(ioexception); } } i++; i1 = (int)System.Math.Round((100D * (double)i) / (double)j); } net.minecraft.src.RegionFileCache.Func_22122_a(); }
public static java.io.DataOutputStream Func_22120_d(string file, int i, int j) { net.minecraft.src.RegionFile regionfile = Func_22123_a(file, i, j); return(regionfile.GetChunkDataOutputStream(i & 0x1f, j & 0x1f)); }
public static int Func_22121_b(string file, int i, int j) { net.minecraft.src.RegionFile regionfile = Func_22123_a(file, i, j); return(regionfile.GetSizeDelta()); }