Вход

Регистрация

Восстановление доступа

Cerulean Fork

Cerulean Fork

|

noramibu

Мод оптимизирует систему проверки достижений, ускоряя работу InventoryChangeTrigger и снижая нагрузку на сервер при большом количестве модов.

Скачать

Версия игры

26.3

Ссылка на сайт

modrinth.com

Разработчик

Лицензия

GPL-3.0-or-later

Скачиваний:

0

Обновлено:

30.10.2026

ID:

Похожие моды20

Связанные материалы7

Cerulean Fork — это обновленная версия мода Cerulean (форк Icterine), предназначенная для оптимизации системы достижений в Minecraft. Он устраняет серьезные задержки, вызванные механизмом InventoryChangeTrigger в сборках с большим количеством достижений.

Cerulean
Cerulean

Cerulean Fork является форком проекта Cerulean (который, в свою очередь, является форком Icterine). Мод был обновлен для современных версий игры и дополнен новыми функциями. Основная задача проекта — оптимизация системы проверки достижений в Minecraft, в частности проблемного механизма InventoryChangeTrigger, который может вызывать сильные лаги в сборках с большим количеством модов и кастомных достижений.

Помимо обновления под версию 1.21.1, Cerulean добавляет возможность обрабатывать достижения только каждые несколько тиков. Эта стратегия используется такими модами, как Achievements Optimizer (который не работает с оригинальным Icterine). Реализация гарантирует, что предмет, поднятый игроком в первый раз, всегда будет обработан для получения достижений, предотвращая ситуации, когда прогресс «зависает» до перемещения предметов в инвентаре.

В ванильной игре механизм работает следующим образом:

  • При обнаружении изменения стека в инвентаре игрока (подбор, выбрасывание, перемещение) игра вызывает InventoryChangeTrigger.
  • При открытии контейнера (сундука, печи и т. д.) игра считает, что изменились все слоты в инвентаре, и вызывает триггер для каждого из них, включая пустые.
  • Триггер подсчитывает количество пустых, заполненных и полностью заполненных слотов.
  • Игра проверяет зарегистрированные критерии достижений. Если критерий требует определенного количества слотов и значения не совпадают, или если у критерия нет требований к предметам, он пропускается.
  • Если критерий содержит только одно требование к предмету, проверяется измененный стек.
  • Если критерий требует несколько предметов (например, полный сет незеритовой брони), игра проверяет каждый стек в инвентаре на соответствие каждому требованию (выполненные требования исключаются из дальнейшей проверки).
  • Сопоставление предметов, особенно по тегам, является очень ресурсозатратным процессом. Игра сначала проверяет тип предмета, и только потом анализирует количество, чары и NBT-данные.

Cerulean применяет ряд оптимизаций для снижения нагрузки:

  • Игнорирование триггеров при выбрасывании стеков или их перемещении из инвентаря (например, в сундук). Настраивается параметром ignore_triggers_for_emptied_stacks.
  • Игнорирование триггеров, если изменение стека вызвано уменьшением его размера, но он не стал пустым (например, выброс одного предмета из полного стека). Настраивается ignore_triggers_for_decreased_stacks.
  • Игнорирование триггеров, если размер стека увеличился, но не достиг порога для какого-либо достижения (например, количество земли увеличилось с 52 до 53, но достижений на 53 единицы нет). Настраивается optimize_triggers_for_increased_stacks.
  • Модификация проверки при открытии экрана контейнера, чтобы игра не считала все стеки измененными в момент открытия. Настраивается initialize_inventory_last_slots.
  • Оптимизация проверки нескольких предикатов: сначала проверяется, соответствует ли измененный слот какому-либо требованию, и только потом проверяются другие стеки. Настраивается optimize_multiple_predicate_trigger.
  • Сравнение количества предметов перед сопоставлением тегов для исключения лишних проверок. Использование предыдущего размера стека для еще большей оптимизации. Настраивается check_count_before_item_predicate_match.

В ходе живого теста на выделенном сервере с 3 активными игроками и кастомной Forge-сборкой из более чем 200 модов (включая BlazeandCave's Advancements Pack с 950+ достижениями) были получены следующие данные:

С использованием Icterine выполнение InventoryChangeTrigger происходит почти в 2.5 раза быстрее (на версии 1.1.0), занимая около 7.5% времени тика вместо 20%.

Statistic
Statistic
  • Оптимизирует срабатывание достижений при получении предметов.
  • Может нарушить полное соответствие ванильному поведению, но не влияет на стандартные достижения и большинство модов/датапаков.
  • Даже если проект затрагивает какой-то конкретный кейс, достижение должно оставаться доступным путем обычного выброса и подбора требуемого предмета.
  • На данный момент известных несовместимостей или проблем не выявлено.
  • Любое внедрение в ванильный код можно отключить в конфигурационном файле.
  • Все изменения происходят на стороне сервера.

Требования проверенного файла

  • По манифесту для файла cerulean-neoforge-1.0.1-26.3.jar (Minecraft 26.3; NeoForge) требуется fabric-api. Встроенных JAR-библиотек в проверенном файле нет.

Войдите, чтобы поставить оценку и оставить отзыв.

Отзывов пока нет — будьте первым!
Канал Файл Игра Модлоадер Язык Скачиваний Загружен
Релиз cerulean-neoforge-1.0.1-26.3.jar 334.6 KB 26.3 NeoForge EN 0 15.09.2026

Скачать

Версия игры

26.3

Ссылка на сайт

modrinth.com

Разработчик

Лицензия

GPL-3.0-or-later

Скачиваний:

0

Обновлено:

30.10.2026

ID:

Похожие моды20

Связанные материалы7