Replace HashMap<String, Chunk> with ChunkMap<Chunk> which is slightly faster
Resort on vertical movement as well
Split the building and rendering so that they can be done in different orders
Check for null buffers
Process dynamic blocks (e.g. Vines) on load instead of ever time they are rendered