The block engines can manage multiple
BlockWorld represents a block world with at most
32000x32000x256, where 256 is height of the world.
Each BlockWorld will dynamically and asynchronously load
BlockRegion on demand.
It manages 512x512x256 blocks, which are saved into a single file.
It caches model and light Data for
16x16x16 region. Each chunk is converted and added to a queue into
BlockRenderTask for sorting and rendering.
It calculates sun and block lighting in a separate thread and save the result into
BlockChunk for rendering.
BlockModel is usually cube 3D model, but it is not a 3D object directly used in rendering, instead it is actually used in
BlockTemplate to provide rendering and physics data.