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