Try writing a function, wich makes blocks invisible, that
have another (full, non transparent) block on each of its
6 sides.
This should tremendously reduce the number of blocks to draw.
Ah, good idea. That's along the lines of what I was thinking of...
When I think about it:
Notch could have written a block-storage format, wich would
be only a few kilobytes, instead of several megabytes.
Simply by only saving blocks that have changed.
As the world is initially generated using a random seed,
the world-shape could be recreated from a single integer number.
And only parts that have changed (added/removed) would need to be saved.
That will be true for smaller filesize, but I think that speed of access (especially in large amounts, and in multiplayer servers)
would suffer considerably from such a format simply because the overhead is moved from the RAM or hard-disk to the CPU. Good concept, though.