/// <summary> /// Returns the block at the specified position, or null if it cannot be found /// </summary> /// <param name="pos"></param> /// <returns></returns> public BlockState GetBlock(BlockPos pos) { lock (_chunks) { Chunk c = GetChunk(pos.GetChunk()); if (c == null) { return(new BlockState(BlockType.VOID_AIR)); // use void air for unloaded chunks } else { return(c.GetBlockAt(pos)); } } }