What's actually making it slow? Loads of GetBlocks?
For something like this:
Are you trying to get the height of a X, Z coordinate? If so, just use a_Chunk->GetHeight(X, Z);
For something like this:
do { ++Height; Block = Chunk->GetBlock(a_NextBlock.x, Height, a_NextBlock.z); //Chunk->UnboundedRelGetBlockType(a_NextBlock.x, Height, a_NextBlock.z, Block); } while(g_BlockIsSolid[Block]);
Are you trying to get the height of a X, Z coordinate? If so, just use a_Chunk->GetHeight(X, Z);