private void ReloadChunk(int X, int Y, int Z) { Macroblock C = GetChunk(X, Y, Z); if (C != null) { C.Dirty = true; } }
public BlockID GetBlock(Macroblock Src, int x, int y, int z) { var Chnk = GetChunk(x / Macroblock.ChunkSize, y / Macroblock.ChunkSize, z / Macroblock.ChunkSize); if (Chnk != null && Chnk != Src) { return(Chnk.GetBlock(x % Macroblock.ChunkSize, y % Macroblock.ChunkSize, z % Macroblock.ChunkSize)); } else { return(BlockDefs.Air); } }
public void Render() { for (int x = 0; x < WorldSize; x++) { for (int y = 0; y < WorldSize; y++) { for (int z = 0; z < WorldHeight; z++) { Macroblock Chnk = Chunks[x, y, z]; if (Chnk != null) { Chnk.ChunkMatrix = Matrix4.CreateTranslation( x * Macroblock.ChunkSize * Block.Size, y * Macroblock.ChunkSize * Block.Size, z * Macroblock.ChunkSize * Block.Size); Chnk.Render(); } } } } }