public IChunk CreateChunk(ChunkCoord coord) { if (_cache.Contains(coord)) { return(_cache.Fetch(coord)); } AnvilChunk c = new AnvilChunkImproved(this, coord); _cache.Add(c); FetchRegion(coord.RegionCoord, true); return(c); }
private AnvilChunk LoadChunk(ChunkCoord coord) { RegionFile f = FetchRegion(coord.RegionCoord); TagCompound chunkTag = null; using (Stream stream = f.ReadChunk(new ChunkCoord(coord.X & 31, coord.Z & 31))) { if (stream != null) { chunkTag = NBTFile.FromStream(stream, false); } } if (chunkTag == null) { return(null); } return(AnvilChunkImproved.Load(this, chunkTag)); }