Грубо говоря у тебя есть класс, который постоянно проверяет какие чанки должны быть загружены и сравнивает с теми, что уже загружены и так вычисляет какие надо загрузить, а какие выгрузить. Чанки, которые надо выгрузить сериализуешь и выгружвешь в кеш, а чанки, которые надо загрузить надо брать либо из кеша, а если там нету, то генерировать по зерну. Зерном может быть позиция чанка в мировых координатах