public Dimension(DirectBlockPalette directBlockPalette)
        {
            _directBlockPalette = directBlockPalette ?? throw new ArgumentNullException(nameof(directBlockPalette));

            _chunks     = new LongDictionary <ChunkPosition, Chunk>();
            _chunkInfos = new Dictionary <Chunk, ChunkInfo>();



            var air = _directBlockPalette.blockLookup["minecraft:air"].DefaultState;

            _templateChunk = new Chunk(this, new ChunkPosition(), air, directBlockPalette);

            var section0 = _templateChunk.Sections.Span[0];

            int y = 0;

            section0.FillLevelBlock(_directBlockPalette.blockLookup["minecraft:bedrock"].DefaultState, y++);

            for (int j = 0; j < 3; j++)
            {
                section0.FillLevelBlock(_directBlockPalette.blockLookup["minecraft:dirt"].DefaultState, y++);
            }

            section0.FillLevelBlock(_directBlockPalette.blockLookup["minecraft:grass_block"].DefaultState, y++);
        }
Beispiel #2
0
        public ChunkColumnManager(
            IChunkColumnProvider chunkColumnProvider,
            DirectBlockPalette globalBlockPalette)
        {
            ChunkColumnProvider = chunkColumnProvider ?? throw new ArgumentNullException(nameof(chunkColumnProvider));
            GlobalBlockPalette  = globalBlockPalette ?? throw new ArgumentNullException(nameof(globalBlockPalette));

            Air = GlobalBlockPalette["minecraft:air"].DefaultState;

            ChunkProvider = ChunkColumnProvider.CreateChunkProvider();

            //for (int y = 0; y < 16; y++)
            //{
            //    _chunks[y] = new Chunk(this, y, airBlock, blockPalette);
            //}
        }
 public DirectBlockPaletteWrapper(DirectBlockPalette palette)
 {
     Palette = palette ?? throw new ArgumentNullException(nameof(palette));
 }