Лёгкая и быстрая система событий для Java-проектов. Поддерживает приоритеты, отмену событий и потокобезопасную диспетчеризацию. Работает на Java 8+.
Добавляем репозиторий и зависимость в build.gradle:
repositories {
mavenCentral()
maven { url 'https://jitpack.io' }
}
dependencies {
implementation("com.github.OnixNine:OnixEvents:гитхеш")
}Событие может быть просто маркером или отменяемым:
import dev.onix.events.Cancellable;
import dev.onix.events.Event;
// Простое событие
public class MySimpleEvent implements Event {}
// Отменяемое событие
public class MyCancellableEvent implements Event, Cancellable {
private boolean cancel;
@Override
public boolean isCancelled() {
return cancel;
}
@Override
public void cancel() {
cancel = true;
}
}Используй аннотацию @EventHandler для указания метода-обработчика. Можно задавать приоритет (от LOWEST до HIGHEST).
import dev.onix.EventHandler;
import dev.onix.types.Priority;
public class MyListener {
@EventHandler(Priority.HIGH)
public void onMyEvent(MyCancellableEvent event) {
// Логика обработки
event.cancel();
}
}Зарегистрируй объект со слушателями и вызывай события через EventManager:
// Регистрация слушателя (обычно делается один раз при старте)
EventManager.register(new MyListener());
// Вызов события
MyCancellableEvent event = new MyCancellableEvent();
EventManager.callEvent(event);
// Проверка отмены
if (event.isCancelled()) {
System.out.println("Событие отменено!");
}