Example #1
0
 /// <summary>
 /// 从mca文件创建新的RegionFile对象
 /// </summary>
 /// <param name="filename">文件名</param>
 /// <param name="demension">世界维度 0-null, 1-overworld, 2-the nether, 3-the end</param>
 /// <param name="isItAStandardMcaFileFromRegionFolder">文件名是否符合r.x.z.mca的规范</param>
 /// <param name="x">若文件名不符合规范而输入的x</param>
 /// <param name="z">若文件名不符合规范而输入的z</param>
 /// <returns></returns>
 public static RegionFile FromMcaFile(string filename, byte demension = 0, bool isItAStandardMcaFileFromRegionFolder = true, int x = 0, int z = 0)
 {
     if (File.Exists(filename))
     {
         FileStream file       = new FileStream(filename, FileMode.Open, FileAccess.Read);
         RegionFile regionfile = new RegionFile();
         regionfile.ReadLocations(file, false);
         regionfile.GetChunkByLocation(file);
         regionfile.dimension = demension;
         if (isItAStandardMcaFileFromRegionFolder)
         {
             string[] filenamesplit = filename.Split('\\').ToList().Last().Split('.');
             if (filenamesplit.Length == 4 && filenamesplit[0] == "r" && filenamesplit[3] == "mca")
             {
                 regionfile.regionX = Convert.ToInt32(filenamesplit[1]);
                 regionfile.regionZ = Convert.ToInt32(filenamesplit[2]);
             }
             else
             {
                 throw new Exception("Wrong region filename format.");
             }
         }
         else
         {
             regionfile.regionX = x;
             regionfile.regionZ = z;
         }
         return(regionfile);
     }
     return(null);
 }
Example #2
0
 private void button6_Click(object sender, EventArgs e)
 {
     RF = RegionFile.FromMcaFile(textBox1.Text);
     //foreach (RegionFile_Chunk chunk in RF.chunks)
     //{
     //    treeView1.Nodes.Add(addToTree(chunk.tag));
     //}
 }
Example #3
0
        private void button13_Click(object sender, EventArgs e)
        {
            DirectoryInfo directoryInfo = new DirectoryInfo(textBox1.Text + "\\region");

            foreach (FileInfo file in directoryInfo.GetFiles())
            {
                region.Add(RegionFile.FromMcaFile(file.FullName, 1));
            }
        }