const BlockType &GetType() const noexcept { return GetChunk().Type(GetBlock()); }
int GetLight() const noexcept { return GetChunk().GetLight(GetBlockPos()); }
const BlockType &GetType() const noexcept { return GetChunk().Type(GetBlock()); }
int GetLight() const noexcept { return GetChunk().GetLight(GetBlockPos()); }
// traverse in given direction
BlockLookup Next(Block::Face f) const { return BlockLookup(chunk, pos, f); }
// traverse in given direction
BlockLookup Next(Block::Face f) const { return BlockLookup(chunk, pos, f); }