Ccurseforge
Icterine

Icterine

Оптимизация срабатывания достижений при изменениях инвентаря в Minecraft снижает нагрузку и ускоряет триггер InventoryChangeTrigger на сервере.

Автор: mephodio Тип: Мод Категории: МодыПроизводительностьУтилиты сервера Загрузок: 10 802 566 Просмотров: 0 Обновлён: 18.09.2026

Модификация оптимизирует срабатывание прогрессий, связанных с изменением инвентаря (InventoryChangeTrigger), снижая нагрузку на сервер.

Возможности и особенности

  • Ускоряет срабатывание достижений при получении предметов;
  • Может незначительно отличаться от ванильного поведения, но не влияет на исходные достижения Minecraft и большинство модов или датапаков;
  • Даже при изменениях достижение должно оставаться доступным путём простого бросания и подбора нужного предмета;
  • Пока не выявлено известных конфликтов или проблем;
  • Вся модификация работает на стороне сервера и все изменения можно отключить через конфигурационный файл.

Результаты тестирования

Тест проходил на выделенном сервере с 3 игроками, использующем сборку с более чем 200 модами и паком достижений BlazeandCave (свыше 950 достижений). Статистика собиралась с помощью Spark в течение часа.

С модом InventoryChangeTrigger выполняется примерно в 2.5 раза быстрее (около 7.5% от времени тика вместо 20%). Для версии 1.0.0 ускорение было около 2 раз.

Статистика

Принцип работы ванильного InventoryChangeTrigger

  1. При изменении стека в инвентаре игрока вызывается триггер. Это учитывает подбор предметов, выбрасывание, перемещение внутри инвентаря.
  2. При открытии контейнера игра считает, что все слоты изменились, и вызывает триггер для каждого, даже пустых.
  3. Триггер подсчитывает количество пустых, заполненных и полностью заполненных слотов, что могло бы использоваться для достижений, но ваниль не применяет эти данные.
  4. Проверяются критерии достижений: если они не соответствуют подсчетам слотов или не имеют требований по предметам, критерий пропускается.
  5. Если критерий содержит одно требование по предмету, проверяется изменённый стек.
  6. Если несколько требований (например, полный сет брони), проверяется каждый стек в инвентаре со всеми требованиями, при выполнении требований они исключаются из проверки.
  7. Сопоставление предметов, особенно с тегами, ресурсоёмкое. Сначала проверяется тип предмета, затем другие параметры (количество, зачарования, NBT).

Оптимизации в Icterine

  1. Не вызывается InventoryChangeTrigger при выбрасывании или перемещении стека из инвентаря (например, в сундук), если включен параметр ignore_triggers_for_emptied_stacks.
  2. Не вызывается при уменьшении размера стека, если он не опустошается полностью (ignore_triggers_for_decreased_stacks).
  3. Не вызывается при увеличении стека, если увеличение не достигает порога для какого-либо достижения (optimize_triggers_for_increased_stacks).
  4. При открытии контейнера изменён способ проверки изменённых предметов, чтобы не считать все слоты изменившимися сразу (initialize_inventory_last_slots).
  5. При проверке нескольких требований сначала проверяется изменённый слот, и только потом остальные стеки (optimize_multiple_predicate_trigger).
  6. Сравнение количества предметов перед сравнением тегов для уменьшения лишних проверок, а также использование предыдущего количества для оптимизации (check_count_before_item_predicate_match).

Поддерживаемые версии

  • Версия 1.2.0 совместима с Fabric/Quilt 1.18.2–1.19.4 и Forge 1.18.2–1.19.2.
  • Версия 1.3.0 поддерживает Fabric/Quilt 1.20–1.20.4, Forge 1.19.3–1.20.4 и NeoForge 1.20.1–1.20.4.
  • Выбор нужной версии осуществляется через фильтр на странице файлов мода.

Настройка модификации

  • Все оптимизации можно отключить или включить через параметры конфигурационного файла.
  • Основные управляющие параметры: ignore_triggers_for_emptied_stacks, ignore_triggers_for_decreased_stacks, optimize_triggers_for_increased_stacks, initialize_inventory_last_slots, optimize_multiple_predicate_trigger, check_count_before_item_predicate_match.
Полезная информация

Частые вопросы

Короткие ответы по установке, совместимости и возможностям проекта.

Что оптимизирует мод Icterine?

Оптимизирует срабатывание триггера InventoryChangeTrigger, связанного с достижениями при изменении инвентаря игрока.

Влияет ли мод на ванильные достижения Minecraft?

Нет, мод не изменяет ванильные достижения и не должен влиять на большинство модов и датапаков.

Какие версии Minecraft поддерживает Icterine?

Версия 1.2.0 поддерживает Fabric/Quilt 1.18.2–1.19.4 и Forge 1.18.2–1.19.2, версия 1.3.0 — Fabric/Quilt 1.20–1.20.4, Forge 1.19.3–1.20.4 и NeoForge 1.20.1–1.20.4.

Скриншоты
1 / 1
Icterine — изображение 1
Центр загрузок

Доступные версии

Выберите подходящую версию игры и скачайте нужный выпуск.

Icterine 1.3.0 NeoForge 1.20.3 - 1.20.4

Icterine-neoforge-1.20.3-4-1.3.0.jar

Скачать36.92 KB
Релиз
Версии
1.20.5-Snapshot+3
Загрузчик
NeoForge
Загрузки961
Добавлен

Icterine 1.3.0 Forge 1.20.3 - 1.20.4

Icterine-forge-1.20.4-1.3.0.jar

Скачать38.39 KB
Релиз
Версии
1.20.5-Snapshot+3
Загрузчик
Forge
Загрузки1 216
Добавлен

Icterine 1.3.0 Fabric 1.20.3 - 1.20.4

Icterine-fabric-1.20.3-4-1.3.0.jar

Скачать38.45 KB
Бета
Версии
1.20.5-Snapshot+3
Загрузчик
Fabric+1
Загрузки3 103
Добавлен

Icterine 1.3.0 Forge 1.19.3 - 1.19.4

Icterine-forge-1.19.3-4-1.3.0.jar

Скачать38.04 KB
Релиз
Версии
1.19.4-Snapshot+3
Загрузчик
Forge
Загрузки815
Добавлен

Icterine 1.2.0 Forge 1.18.2 - 1.19.2

Icterine-forge-1.2.0.jar

Скачать38.93 KB
Релиз
Версии
1.19-Snapshot+4
Загрузчик
Forge
Загрузки731 143
Добавлен