public NbtChunkSection NbtChunkSection(RegionMCA mca)
        {
            ChunkLoad(mca, Chunk);
            ChunkYSectLoad(mca, Chunk);

            return(nbtChunkSection[lastYSect]);
        }
        private void ChunkYSectLoad(RegionMCA mca, Voxel Chunk)
        {
            int idx = Chunk.Ys;

            if (idx != lastYSect)
            {
                NbtCompound nbtComp = nbtChunk.Section(idx);
                nbtChunkSection[idx] = new NbtChunkSection(nbtComp);
                lastYSect            = idx;
            }
        }
        private void ChunkLoad(RegionMCA mca, Voxel Chunk)
        {
            int idx = Chunk.ChunkIdx();

            if (idx != lastChunkIdx)
            {
                nbtChunk     = new NbtChunk(mca[idx].chunkNBT);
                lastYSect    = int.MaxValue;
                lastChunkIdx = idx;
            }
        }
 public NbtChunk NbtChunk(RegionMCA mca)
 {
     ChunkLoad(mca, Chunk);
     return(nbtChunk);
 }