Started on changing chunks to use vertical sections.
- Need to update world generation handling.
- Need to update world I/O for Anvil.
- Some populators disabled until ChunkSnapshots are implemented.
Update chunk I/O to the Anvil format.
- Regions plus Minecraft-generated level.dat load in MCEdit.
- Added IntArrayTag to NBT library.
- Removed outdated chunk/world formats.
Improved ChunkManager generation handling, tidied GlowWorld initialization somewhat.
Implemented chunk bulk sending.
Reimplemented chunk snapshots and added back some populators.
Improved GlowWorld constructor and default world creation.
Work on making chunks unload when they're not in use.
Cleanup of unused/deprecated chunk loading stuff. Corrected old generator byte order.
Further work on sane chunk management:
- Toned down logging
- Attached names to ChunkLocks
- Corrected block/skylight read order
- Send tile entities after bulk data
- Populate chunks at edge of player's view
Further work on new chunk handling.
- Simplified getSection() and stopped removing unloaded chunk objects.
- Added extra isPopulated() check after loading and change forceSave isLoaded check.
- Made chunk saving use ChunkSnapshots instead of direct section access.
- Changed skyLight handling, added check, and set compression to 6 in attempt to diagnose slowness.
- Changed when bulk chunk messages are used.
Only send block changes to players within view, fixing most of the weird lag.