Exemple #1
0
 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();
     }
 }
Exemple #2
0
 // 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);
     }
 }
Exemple #3
0
 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;
 }
Exemple #4
0
        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();
        }
Exemple #5
0
 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));
 }
Exemple #6
0
 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());
 }