Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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));
        }