Каждый раз при смене измерения или возврате в меню игра оставляет старый мир позади, и Java должна освободить его. Если какой-либо мод всё ещё удерживает ссылку на этот мир (статическое поле, кэш с ключом по миру), весь мир остаётся в оперативной памяти: его чанки, сущности и, в одиночной игре, весь остановленный сервер с его рецептами, таблицами добычи и достижениями. После нескольких смен измерений или нескольких перезагрузок мира память заполняется.
Dimension Leak Fix очищает то, что игра уже покинула, так что всё, что ещё удерживает мир, держит лишь пустую оболочку, и заставляет известные «текучие» моды отпустить его.
Что делает мод
Смена измерения или возврат в меню: через 3 секунды слоты чанков старого мира освобождаются, а принадлежащие ему карты и списки очищаются, включая те, что добавляют другие моды. После закрытия его соединения клиентская копия рецептов и книга рецептов старого игрока также очищаются.
Выход из мира одиночной игры: после остановки встроенного сервера его таблицы чанков, сущности и содержимое датапака (рецепты, функции, таблицы добычи, достижения, шаблоны структур) очищаются, а оставленные им трекеры достижений в общих критериях игры снимаются с регистрации.
Известные «текучие» моды: Liberty Villagers, Serene Seasons, фейковые игроки Fabric API, Jade и Flywheel отпускают мир или сервер, который вы покинули. Каждый из них был обнаружен в дампе кучи реального модпака. Мод, который не установлен, пропускается.
Мало памяти: если использование памяти превышает 90%, пока очистка ожидает, она выполняется сразу.
Диагностика: в журнале указывается, когда покинутый мир или сервер действительно освобождён из памяти, или что он всё ещё там через 5 минут, что указывает на другой мод, удерживающий его.
Затрагивается только то, что принадлежит покинутому миру или серверу. Контейнер, всё ещё используемый текущим миром, никогда не очищается.
