Talvez eu não tenha a melhor maneira de explicar isso, mas vou tentar.
Eu acho que a melhor maneira de entender como torná-lo mais eficiente é entender os Voxels. O Minecraft é baseado em voxel, apenas usa cubos em vez de esferas, etc., etc.
Basicamente, um voxel é uma forma 3D que pode ter um volume alterado dinamicamente e, quando o volume muda, o mesmo ocorre com a forma. Um pedaço é um conjunto de voxels X por X por X. Por exemplo, você pode ter um pedaço com voxels de 16x16x16 e, em seguida, pode ter um número X de pedaços. Você terá uma distância definida, que, se o jogador estiver mais longe do que N dos pedaços, não os inclua em seus cálculos. Isso é semelhante às distâncias de recorte, mas precisaria se aplicar a cada parte também. Dessa forma, você pode tê-lo para que você possa sempre ter o seu jogador no Chunk central de um, por exemplo, um conjunto de Chunks 3x3.
Então, o que você teria é uma classe para lidar com os Voxels individuais. Vamos chamá-lo de Voxel_cl. E então você teria uma classe para lidar com a parte dos voxels, chamada Chunk_cl. E então você teria uma classe mundial que gera todos os pedaços que gerariam os voxels, chamados World_cl.
Portanto, agora, em vez de uma enorme variedade de tudo, você teria uma variedade de 9 Chunks a qualquer momento e, na classe chunk, teria uma matriz de 4096 voxels.
Observe que esta é uma explicação bastante simples. Atualmente, estou trabalhando em algo usando voxels, então pensei em incluir minha entrada = -)
Para mais informações sobre voxels, consulte http://en.wikipedia.org/wiki/Marching_cubes