Season Cache
Синхронизирует блоки снега и льда с Serene Seasons. Также строит серверную карту покрытия, которая работает с Nova Reimagined Snow для точного отображения снега в шейдерах Distant Horizons через шейдерпак Nova Reimagined.
- Загрузчики
- Fabric
- Скачиваний на Modrinth
- 3,8 тыс.
- Подписчиков на Modrinth
- 4
- версии
- 2
- Обновлён
- 26 апреля 202626 апр.
- Опубликован
- в 2026
Коротко о моде
Нужен и в игре, и на сервере
Season Cache
Minecraft 1.21 - 1.21.? (не тестировалось после 1.21.1) | Fabric | Требует Serene Seasons
Season Cache синхронизирует блоки снега и льда с вашей конфигурацией Serene Seasons. Когда приходит зима, на поверхности появляются снег и лёд. Когда наступает весна, они исчезают. Мод также строит и поддерживает серверную карту снежного покрова по чанкам, которую могут использовать такие компаньон-моды, как Nova Reimagined Snow, для корректного отображения снега в шейдерах на LOD-террейне Distant Horizons.
Что он делает
Без этого мода Serene Seasons меняет сезон, но мир приобретает или теряет снег только через медленную систему случайных тиков Minecraft. Этот процесс занимает игровые дни, прежде чем большие области заметно изменятся. Season Cache приводит весь загруженный мир в соответствие с сезоном сразу при его смене.
Он также решает проблему снега на LOD. Distant Horizons рендерит террейн далеко за пределами ванильной дальности прорисовки, используя собственную геометрию. Без точных данных о снеге по чанкам шейдеры не могут определить, на каких далёких чанках должен быть снег. Season Cache строит полную карту покрытия всего исследованного мира и передаёт её подключённым клиентам, чтобы шейдерпаки могли её использовать.
Требования
- Minecraft 1.21 - 1.21.? (не тестировалось после 1.21.1) (Java Edition)
- Fabric Loader 0.16.0 или новее
- Fabric API
- Serene Seasons 10.x для 1.21.x
Опционально, но рекомендуется:
- Serene Seasons X Distant Horizons для полного сезонного покрытия LOD
- Nova Reimagined Shader Pack
- Nova Reimagined Snow (компаньон-мод для снежного покрытия в шейдерах)
- Distant Horizons (рендеринг LOD)
Установка
- Установите Fabric Loader и Fabric API
- Установите Serene Seasons
- Поместите `seasoncache-.jar
в папкуmods` - Запустите сервер или одиночный мир
Season Cache работает как на выделенных серверах, так и в одиночной игре. На выделенном сервере устанавливайте его только на стороне сервера. Клиентская часть отвечает за интеграцию с шейдерами, когда Nova Reimagined Snow также установлен на клиенте.
Конфигурация
При первом запуске создаётся файл конфигурации config/seasoncache.json.
Режим очистки
Управляет тем, будет ли реконсилятор только удалять снег и лёд или также размещать их.
AGGRESSIVE(по умолчанию): удаляет снег в тёплые сезоны и размещает его зимой. Мир соответствует сезону в обоих направлениях.CONSERVATIVE: удаляет снег и лёд, когда сезон их больше не поддерживает, но никогда не размещает новый снег. Используйте это, если нужна только односторонняя очистка.
Бюджет
Управляет тем, сколько чанков обрабатывается за один тик сервера. Более высокие значения быстрее очищают террейн ценой большего времени тика.
HIGH(по умолчанию): 8 чанков за тик, до 10 мс за тикMEDIUM: 3 чанка за тик, до 3 мс за тикLOW: 1 чанк за тик, до 1 мс за тик
Другие настройки
trackSnow: включить или отключить реконсиляцию блоков снега (по умолчанию: true)trackIce: включить или отключить реконсиляцию блоков льда (по умолчанию: true)neverTouchPerennialColumns: пропускать постоянно холодные биомы, такие как frozen peaks и ice spikes (по умолчанию: true)hysteresisBandWidth: смягчает порог температуры на границах биомов, чтобы избежать резких снежных линий (по умолчанию: 0.06)proximityGateChunks: реконсиляция в первую очередь фокусируется на чанках рядом с игроками (по умолчанию: 8)maxChunkDeferMs: максимальное время, на которое чанк может быть отложен proximity gate перед безусловной обработкой, что предотвращает голодание в областях без игроков поблизости (по умолчанию: 30000 мс)
Команды
Все команды требуют уровня оператора 2.
/seasoncache status — показывает текущий сезон, режим очистки, ожидающие вычисления, прогресс построения покрытия, статистику кэша и прогресс инвалидации, когда это актуально.
/seasoncache mode aggressive — переключиться в агрессивный режим на ходу.
/seasoncache mode conservative — переключиться в консервативный режим на ходу.
/seasoncache build low|high — запускает построение карты покрытия с указанным бюджетом, не очищая существующие данные. Используй, если построение остановилось раньше времени или была исследована новая область.
/seasoncache rebuild low|high — очищает все сохранённые данные, затем запускает построение с нуля с указанным бюджетом. Используй после значительных изменений рельефа или если данные покрытия выглядят некорректно.
/seasoncache invalidate all — немедленно очищает всё состояние в памяти. Обнуление эпохи на диске выполняется в фоне с низким приоритетом. Используй /seasoncache status для отслеживания прогресса. Дождись invalidation=complete перед перезапуском сервера, если требуется полная согласованность.
/seasoncache debug — показывает данные о температуре для сетки чанков 3×3 с центром в твоей позиции. Для каждого чанка выводит min/max/среднюю температуру с поправкой на SS и количество столбцов в холодной зоне, зоне гистерезиса и тёплой зоне. Полезно для диагностики неожиданного снега или проплешин.
/seasoncache debugstate — показывает кэшированное состояние хранилища для сетки чанков 3×3 с центром в твоей позиции. Для каждого чанка выводит статический образец климата (ID биома + Y поверхности), 12-битную маску правил сезонов, флаг многолетника, помечен ли чанк как чистый для текущей эпохи, и авторитетное состояние снега.
/seasoncache sweep — принудительно пересогласовывает все текущие загруженные чанки независимо от их статуса чистоты/обработки. Используй после исправления бага, который мог вызвать некорректные результаты согласования.
Как работает карта покрытия
При запуске сервера Season Cache читает данные карты высот из файлов регионов Anvil для всего исследованного мира, не вызывая генератор чанков. Он сэмплирует биом и температуру Serene Seasons на поверхности каждого чанка и классифицирует его как снежный или нет для текущего сезона. Это создаёт полную карту покрытия по чанкам, хранящуюся в sidecar-файлах рядом с данными твоего мира.
Когда игрок подключается, сервер отправляет полную карту покрытия как снимок, отсортированный по расстоянию от игрока. По мере изменения мира (смена сезонов, загрузка чанков) клиентам передаются инкрементальные обновления. Nova Reimagined Snow получает эти обновления и записывает их в GPU-текстуру, которую шейдер сэмплирует при рендеринге как ванильного, так и LOD-рельефа.
Sidecar-файлы означают, что последующие запуски сервера проходят быстро. Вместо повторного вывода покрытия с нуля Season Cache прогревается из существующих файлов за секунды и пересчитывает только те чанки, где сезон изменился.
Тег блоков: snow_placement_blacklist
В агрессивном режиме снег размещается на любом полном кубе, где видно небо и биом достаточно холодный. Тег seasoncache:snow_placement_blacklist исключает блоки, которые являются полными кубами, но не должны накапливать сезонный снег — рабочие станции, хранилища и подобные предметы, созданные игроком.
Стандартные записи включают: шалкеровые ящики, верстак, варианты сундуков, варианты печей, стол зачарований, варианты наковален, варианты книжных полок, столы картографа/лучника/кузнеца, ткацкий станок, точильный камень, музыкальный блок, нотный блок, раздатчик, выбрасыватель, наблюдатель, маяк и командные блоки.
Чтобы добавить записи через датапак, создай data/seasoncache/tags/blocks/snow_placement_blacklist.json:
{ "replace": false, "values": ["yourmod:your_block"] }Заметки о производительности
Первоначальное построение покрытия после чистой установки или очистки кэша читает файлы регионов с диска, а не запускает генератор мира, поэтому обычно завершается менее чем за две минуты для полностью исследованного мира. Поток тиков сервера при этом не блокируется.
Согласование снега и льда во время смены сезонов использует кэшированное правило сезона для каждого чанка (вычисляется один раз для чанка с холодным кэшем), поэтому во время обычной игры запросы температуры SS по каждому столбцу не выполняются. Удаление затрагивает только поверхность и пропускает секции чанков, в которых нет блоков снега или льда.
Текущие ограничения
Добавление и удаление слоёв снега массово за пределами ванильной дальности прорисовки игрока — это... капризно. Капризно в том смысле, что очень легко из-за гонок состояний пометить чанки как очищенные или заснеженные до того, как они на самом деле такими стали, оставив их в некорректном состоянии. Я потратил много времени, чтобы добиться текущего процента попаданий, и меня это устраивает настолько, что я готов выпустить мод. Тем не менее, если я когда-нибудь придумаю, как улучшить это дальше, я обязательно это сделаю!
Совместимость
| Окружение | Статус |
|---|---|
| Одиночная игра | Да |
| Выделенный сервер | Да |
| Distant Horizons | Да, через Nova Reimagined Snow |
| Шейдер Nova Reimagined | Да, через Nova Reimagined Snow |
| Другие моды на Fabric | В целом да |
| Forge / NeoForge | Нет |
Лицензия
MIT. Полные условия см. в LICENSE.
Благодарности
ItsThatNova — автор мода
GitHub: https://github.com/ItsThatNova
Частые вопросы
Как установить Season Cache?
Установите Fabric под свою версию Minecraft, скачайте Season Cache под ту же версию и загрузчик, положите файл в папку mods и запустите игру с профилем загрузчика.
Для каких версий Minecraft есть Season Cache?
У Season Cache есть сборки для Minecraft 1.21–1.21.11.
Нужен ли Season Cache на сервере?
Нужен и в игре, и на сервере