Bear in mind, that this is just a quick prototype so some parts are just hacked into, like setNumRows(). I didn’t know how to calculate number of vertices, without extra iteration over cubes, but it doesn’t seem to really matter. Also just two textures are supported. And you wouldn’t want to use dict to store cubes, because it uses way too much memory.
Minecraft which I haven’t investigated much since it seems to be a pay for game. ( I have NO credit card and NO way to pay ) seems to be another rehash of the “Lego Blocks” approach to 3d. The first one was called Flatland Rover from Flatland Online and used an HTML like syntax that allowed the user to lay out a world based on 256x256x256 pixel sized blocks. It used integer math, all projected textures and ran on the old fixed 3D pipeline cards using Direct 3D but had an innovative URL based cache for the blocksets to save download time. Unfortunately they never were able to develop any form of multiplayer networking, WYSWYG editor or good actor models, it was however FREE.
I think the site may still exist.