I think there's one more thing I need to do first. A cBlockQuery object that can query a (small) area of blocks from the world, possibly across several chunks, and then provide the block data without touching chunks anymore. This will be useful both for blockticking where blocks need to check their neighbors, for fluid simulators and for Lua access speedup.
EDIT: I'll make it a cBlockArea with the capability of writing the blocks back to the world, too.
EDIT: I'll make it a cBlockArea with the capability of writing the blocks back to the world, too.