Ccurseforge
FastEvent

FastEvent

FastEvent ускоряет систему событий Forge/NeoForge за счёт замены генерации классов на лямбда-выражения, повышая производительность до 24%.

Автор: ZZZank Тип: Мод Категории: МодыПроизводительность Загрузок: 3 828 742 Просмотров: 0 Обновлён: 22.09.2026

FastEvent — модификация для Forge/NeoForge, ускоряющая систему событий, одну из ключевых частей платформы.

Текущий статус проекта

Проект больше не поддерживается, поскольку Forge/NeoForge не разрешают модам изменять EventBus. В отличие от классов Minecraft или Forge, EventBus загружается как библиотека, что делает его изменение через Mixin или Transformer нестабильным.

В версии 1.2.0 использовался нестандартный хак для модификации класса ASMEventHandler, но он перестал работать в версиях 1.18.2 и выше. Эти версии теперь архивированы и обновления не планируются.

Принцип работы FastEvent

Для ускорения EventBus создаёт во время выполнения отдельные классы-обработчики событий, чтобы избежать отражения (reflection) при вызове методов. Однако генерация классов сама по себе замедляет процесс.

FastEvent заменяет генерацию классов на создание лямбда-выражений, что ускоряет построение обработчиков и позволяет JVM лучше оптимизировать код.

Пример кода

class Listener { public void onEvent(Event event) { // обработка события }
}
Listener listener = new Listener(); // EventBus создаёт класс-обработчик
class EventHandler implements IEventListener { private Listener instance; public EventHandler(Listener instance) { this.instance = instance; } @Override public void invoke(Event event) { instance.onEvent(event); }
}
IEventListener handler = new EventHandler(listener); // FastEvent использует лямбду вместо отдельного класса
IEventListener handler = listener::onEvent;

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

Тесты показывают прирост скорости FastEvent на разных сценариях:

  • Регистрация 10 000 слушателей без генерации событий — ускорение около 6,4%
  • Регистрация 1 000 слушателей и генерация 10 000 событий — ускорение примерно 24%

Установка и использование

  • FastEvent разработан для Forge/NeoForge и интегрируется в систему событий автоматически.
  • Особых действий по установке или настройке не требуется.
  • Совместимость ограничена версиями до 1.18.2, где использовались изменения класса ASMEventHandler.
Полезная информация

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

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

Почему проект FastEvent больше не поддерживается?

Потому что Forge/NeoForge не позволяют модам изменять EventBus, а используемый в FastEvent метод модификации перестал работать в новых версиях.

Как FastEvent ускоряет работу системы событий?

FastEvent заменяет создание отдельных классов-обработчиков событий на лямбда-выражения, что уменьшает накладные расходы и ускоряет вызов обработчиков.

Какие показатели ускорения показывает FastEvent?

В тестах FastEvent ускоряет регистрацию 10 000 слушателей примерно на 6,4%, а обработку 10 000 событий при 1 000 слушателей — примерно на 24%.

Для каких версий Minecraft подходит FastEvent?

FastEvent работает с Forge/NeoForge версиями до 1.18.2; версии после 1.18.2 не поддерживаются из-за изменений в EventBus.

Требуется ли ручная настройка или установка после добавления FastEvent?

Нет, FastEvent интегрируется автоматически в систему событий Forge/NeoForge и не требует дополнительной настройки.

Центр загрузок

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

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

FastEvent-1.16.5-1.2.0.jar

Скачать34.88 KB
Релиз
Версии
1.16.5
Загрузчик
Forge
Загрузки34 417
Добавлен

NeoForge will ignore EventBus transforming, do not use

FastEvent-1.21.1-neoforge-1.1.2.jar

Скачать32.44 KB
Альфа
Версии
1.21.1
Загрузчик
NeoForge
Загрузки90 439
Добавлен

FastEvent-1.21.1-forge-1.1.1.jar

Скачать31.82 KB
Релиз
Версии
1.21.1
Загрузчик
Forge
Загрузки757
Добавлен

FastEvent-1.20.1-1.1.1.jar

Скачать32.02 KB
Релиз
Версии
1.20.1
Загрузчик
Forge
Загрузки3 238 609
Добавлен

FastEvent-1.19.2-1.1.1.jar

Скачать32.01 KB
Релиз
Версии
1.19.2
Загрузчик
Forge
Загрузки376 947
Добавлен