/// <summary> /// Loads the specified(XZ) chunk into the specified world. /// </summary> //JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in .NET: //ORIGINAL LINE: public Chunk loadChunk(World par1World, int par2, int par3) throws IOException public virtual Chunk LoadChunk(World par1World, int par2, int par3) { NBTTagCompound nbttagcompound = null; ChunkCoordIntPair chunkcoordintpair = new ChunkCoordIntPair(par2, par3); lock (Field_48450_c) { if (Field_48449_b.Contains(chunkcoordintpair)) { int i = 0; do { if (i >= Field_48451_a.Count) { break; } if (Field_48451_a[i].Field_48427_a.Equals(chunkcoordintpair)) { nbttagcompound = Field_48451_a[i].Field_48426_b; break; } i++; }while (true); } } if (nbttagcompound == null) { Stream datainputstream = RegionFileCache.GetChunkFileStream(ChunkSaveLocation, par2, par3); if (datainputstream != null) { nbttagcompound = CompressedStreamTools.Read(new BinaryReader(datainputstream)); } else { return(null); } } return(Func_48443_a(par1World, par2, par3, nbttagcompound)); }
/// <summary> /// Load the server list from servers.dat /// </summary> private void LoadServerList() { try { NBTTagCompound nbttagcompound = CompressedStreamTools.Read(System.IO.Path.Combine(Mc.McDataDir, "servers.dat")); NBTTagList nbttaglist = nbttagcompound.GetTagList("servers"); ServerList.Clear(); for (int i = 0; i < nbttaglist.TagCount(); i++) { ServerList.Add(ServerNBTStorage.CreateServerNBTStorage((NBTTagCompound)nbttaglist.TagAt(i))); } } catch (Exception exception) { Utilities.LogException(exception); } }
/// <summary> /// Loads the idCounts Map from the 'idcounts' file. /// </summary> private void LoadIdCounts() { try { IdCounts.Clear(); if (SaveHandler == null) { return; } string file = SaveHandler.GetMapFileFromName("idcounts"); if (file != null && File.Exists(file)) { BinaryReader datainputstream = new BinaryReader(new FileStream(file, FileMode.Open)); NBTTagCompound nbttagcompound = CompressedStreamTools.Read(datainputstream); datainputstream.Close(); IEnumerator <NBTBase> iterator = nbttagcompound.GetTags().GetEnumerator(); do { if (!iterator.MoveNext()) { break; } NBTBase nbtbase = iterator.Current; if (nbtbase is NBTTagShort) { NBTTagShort nbttagshort = (NBTTagShort)nbtbase; string s = nbttagshort.GetName(); short word0 = nbttagshort.Data; IdCounts[s] = word0; } }while (true); } } catch (Exception exception) { Utilities.LogException(exception); } }
private void Func_48430_a(string par1File, string par2File, WorldChunkManager par3WorldChunkManager, int par4, int par5, IProgressUpdate par6IProgressUpdate) { try { FileInfo file = new FileInfo(par2File); string s = file.Name; RegionFile regionfile = new RegionFile(par2File); RegionFile regionfile1 = new RegionFile(IOPath.Combine(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; } Stream datainputstream = regionfile.GetChunkFileStream(i, j); if (datainputstream == null) { Console.WriteLine("Failed to fetch input stream"); } else { NBTTagCompound nbttagcompound = CompressedStreamTools.Read(new BinaryReader(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); Stream dataoutputstream = regionfile1.GetChunkDataOutputStream(i, j); CompressedStreamTools.Write(nbttagcompound2, new BinaryWriter(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) { Utilities.LogException(ioexception); } }