Skip to main content

DCEventManager Wiki

Цю сторінку ще не перекладено українською!

Этот аддон позволяет вам управлять ивентами DonateCase
С его помощью вы можете выполнять определенные действия, такие как отправка сообщений и выполнение команд от имени консоли.
How does it work?
Аддон прослушивает все события, зарегистрированные в DonateCase. Получение событий происходит с помощью рефлексии, а это значит, что при обновлении DonateCase новые события будут автоматически загружаться в DCEventManager, без необходимости обновлять аддон!

Пример config.yml

Debug: false
Package: "com.jodexindustries.donatecase.api.events" # dont change this

Events:
MyEvent:
Event: AnimationStartEvent
Actions:
- "[command] say Animation started!"

MyAnotherEvent:
Event: AnimationEndEvent
Actions:
- "[broadcast] &dAnimation ended!"

Ивенты

Список всех доступных событий здесь

Действия

Все действия DonateCase

DCEventManager действия

Вызов метода

Пример - [invoke] setCancelled(true)

Поддержка конкретного кейса

Работает, только если у события есть методы getCaseType или getCaseData

Events:
MyEvent:
Event: AnimationStartEvent # ваш ивент
Case: case # здесь конкретный кейс
Actions:
- "[command] say Case opened!"

Поддержка конкретного слота кейса

Работает только в том случае, если у события есть метод getSlot

Events:
MyEvent:
Event: CaseGuiClickEvent # ваш ивент
Case: case # здесь конкретный кейс
Slot: 1 # здесь конкретный слот
Actions:
- "[command] say Gui clicked!"

Заполнители

У DCEventManager есть своя собственная система заполнителей, которая позволяет вам использовать ВСЕ методы, предоставляемых событиями.
Эта система работает с помощью Рефлексии!

Пример заполнителей:

Events:
AddonDisableEvent: # название класса ивента
addon: # айди заполнителя
placeholder: "%addon%" # заменённый плейсхолдер
method: "getAddon#getName" # метод класса
reason: # айди заполнителя
placeholder: "%reason%" # заменённый плейсхолдер
method: "getReason" # метод класса
caused: # айди заполнителя
placeholder: "%caused%" # заменённый плейсхолдер
method: "getCaused#getName" # метод класса

Если вы не разбираетесь в программировании, то это может выглядеть немного запутанно из-за параметра method. Но не разочаровывайтесь, это просто!
Этот параметр используется для определения места, откуда будет взято значение placeholder.

Давайте посмотрим на JavaDocs AddonDisableEvent класса
jd.png

Здесь мы видим, что класс AddonDisableEvent имеет несколько интересных методов, таких как: getAddon, getCaused и getReason.
Думаю, вы уже догадались, что эти методы используются для получения значений placeholder, но что такое #?
Это символ для разделения методов. Например, мы вызываем метод getAddon, который представляет собой объект InternalAddon, имеющий следующие методы: addon.png Конечно, будет немного странно просто отображать информацию о некоторых InternalJavaAddon без дополнительных инструкций, но стоит посмотреть, что это за класс, похоже, он представляет собой интерфейс внутреннего аддона, и мы можем извлечь из него некоторую полезную информацию! Давайте узнаем имя этого аддона, похоже, что метод getName как раз подходит нам!
Теперь наш метод выглядит следующим образом: getAddon#getName

Если у вас есть дополнительные вопросы, пожалуйста, свяжитесь с нами в Discord сервере!