Represents the position of a chunk (x, z, and world).
Why not just use Chunk? Because Chunk contains lots of extra information, and so cannot practically be serialized. Holding references to blocks for extended periods may also prevent chunks from unloading, and increase memory usage.