Simple Event System - для вашей пасты

Забаненный
Забаненный
Статус
Оффлайн
Регистрация
19 Авг 2021
Сообщения
101
Реакции
11
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Самая обыкновенная event система.

Скачать:
Пожалуйста, авторизуйтесь для просмотра ссылки.

Требует немного мозгов, чтобы начать использовать.
А так же, требует lombok для запуска. Мною используется
Пожалуйста, авторизуйтесь для просмотра ссылки.
.

Регистрация:
Code:
Expand Collapse Copy
EventBus.register(this); // объект который будет "слушать" эвенты
Удаление из регистра:
Code:
Expand Collapse Copy
EventBus.unregister(this); // объект который больше не будет "слушать" эвенты
Простое использование эвент(-а, -ов):
Code:
Expand Collapse Copy
    @EventBus.Register(events = EventKeyType.class)
    public void onKeyType(Event event) {
        EventKeyType eventKeyType = (EventKeyType) event;
        this.moduleManager.getModules().stream()
                .filter(module -> module.bind == eventKeyType.getKey())
                .forEach(Module::toggle);
    }

Можно зарегистрировать одновременно несколько эвентов:
Code:
Expand Collapse Copy
    @EventBus.Register(events = {SimpleEvent.class, ExampleEvent.class})
    public void onKeyType(Event event) {
       if (event instanceof SimpleEvent) {
           // действия
       } else if (event instanceof ExampleEvent) {
           // действия
       }
    }

Пример своего эвента:
Code:
Expand Collapse Copy
public class EventLivingUpdate extends Event {
    /*
        Нужно добавить аннотацию Getter в объявлении класса, по причинам того, что югейм форматирует в [USER], я вырезал это.
     */
    private final EntityLivingBase entity;

    public EventLivingUpdate(State state, EntityLivingBase entity) {
        super(state);
        this.entity = entity;
    }
}

Использование этого эвента:

Code:
Expand Collapse Copy
EventLivingUpdate eventLivingUpdate = new EventLivingUpdate(Event.State.PRE, this);
eventLivingUpdate.call();
 
Последнее редактирование:
Самая обыкновенная event система.

Скачать:
Пожалуйста, авторизуйтесь для просмотра ссылки.

Требует немного мозгов, чтобы начать использовать.
А так же, требует lombok для запуска. Мною используется
Пожалуйста, авторизуйтесь для просмотра ссылки.
.

Регистрация:
Code:
Expand Collapse Copy
EventBus.register(this); // объект который будет "слушать" эвенты
Удаление из регистра:
Code:
Expand Collapse Copy
EventBus.unregister(this); // объект который больше не будет "слушать" эвенты
Простое использование эвент(-а, -ов):
Code:
Expand Collapse Copy
    @EventBus.Register(events = EventKeyType.class)
    public void onKeyType(Event event) {
        EventKeyType eventKeyType = (EventKeyType) event;
        this.moduleManager.getModules().stream()
                .filter(module -> module.bind == eventKeyType.getKey())
                .forEach(Module::toggle);
    }

Можно зарегистрировать одновременно несколько эвентов:
Code:
Expand Collapse Copy
    @EventBus.Register(events = {SimpleEvent.class, ExampleEvent.class})
    public void onKeyType(Event event) {
       if (event instanceof SimpleEvent) {
           // действия
       } else if (event instanceof ExampleEvent) {
           // действия
       }
    }

Пример своего эвента:
Code:
Expand Collapse Copy
public class EventLivingUpdate extends Event {
    /*
        Нужно добавить аннотацию Getter в объявлении класса, по причинам того, что югейм форматирует в [USER], я вырезал это.
     */
    private final EntityLivingBase entity;

    public EventLivingUpdate(State state, EntityLivingBase entity) {
        super(state);
        this.entity = entity;
    }
}

Использование этого эвента:

Code:
Expand Collapse Copy
EventLivingUpdate eventLivingUpdate = new EventLivingUpdate(Event.State.PRE, this);
eventLivingUpdate.call();
да пастеры не поймут как это использовать
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Самая обыкновенная event система.

Скачать:
Пожалуйста, авторизуйтесь для просмотра ссылки.

Требует немного мозгов, чтобы начать использовать.
А так же, требует lombok для запуска. Мною используется
Пожалуйста, авторизуйтесь для просмотра ссылки.
.

Регистрация:
Code:
Expand Collapse Copy
EventBus.register(this); // объект который будет "слушать" эвенты
Удаление из регистра:
Code:
Expand Collapse Copy
EventBus.unregister(this); // объект который больше не будет "слушать" эвенты
Простое использование эвент(-а, -ов):
Code:
Expand Collapse Copy
    @EventBus.Register(events = EventKeyType.class)
    public void onKeyType(Event event) {
        EventKeyType eventKeyType = (EventKeyType) event;
        this.moduleManager.getModules().stream()
                .filter(module -> module.bind == eventKeyType.getKey())
                .forEach(Module::toggle);
    }

Можно зарегистрировать одновременно несколько эвентов:
Code:
Expand Collapse Copy
    @EventBus.Register(events = {SimpleEvent.class, ExampleEvent.class})
    public void onKeyType(Event event) {
       if (event instanceof SimpleEvent) {
           // действия
       } else if (event instanceof ExampleEvent) {
           // действия
       }
    }

Пример своего эвента:
Code:
Expand Collapse Copy
public class EventLivingUpdate extends Event {
    /*
        Нужно добавить аннотацию Getter в объявлении класса, по причинам того, что югейм форматирует в [USER], я вырезал это.
     */
    private final EntityLivingBase entity;

    public EventLivingUpdate(State state, EntityLivingBase entity) {
        super(state);
        this.entity = entity;
    }
}

Использование этого эвента:

Code:
Expand Collapse Copy
EventLivingUpdate eventLivingUpdate = new EventLivingUpdate(Event.State.PRE, this);
eventLivingUpdate.call();
ивент бас же в фордж встроен, нахера тебе чё то другое?
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Назад
Сверху Снизу