DCEventManager Wiki
Цей аддон дозволяє вам керувати івентами DonateCase
З його допомогою ви можете виконувати певні дії, такі як надсилання повідомлень і виконання команд від імені консолі.
Як це працює?
Аддон прослуховує всі події, зареєстровані в DonateCase.
Отримання подій відбувається за допомогою рефлексії, а це означає, що при оновленні DonateCase нові події будуть автоматично завантажуватися в DCEventManager без необхідності оновлювати аддон!
Приклад config.yml
Debug: false
Package: "com.jodexindustries.donatecase.api.events" # не змінюйте це
Events:
MyEvent:
Event: AnimationStartEvent
Actions:
- "[command] say Анімація почалась!"
MyAnotherEvent:
Event: AnimationEndEvent
Actions:
- "[broadcast] &dАнімація завершена!"
Івенти
Список всіх доступних подій тут
Дії
Усі дії 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, що має такі методи:
Звичайно, буде трохи дивно просто відображати інформацію про деякі InternalAddon без додаткових інструкцій, але варто подивитись, що це за клас. Схоже, він представляє інтерфейс внутрішнього аддона, і ми можемо витягти з нього корисну інформацію! Давайте дізнаємось ім'я цього аддона, схоже, що метод getName якраз нам підходить!
Тепер наш метод виглядає так: getAddon#getName
Якщо у вас є додаткові питання, будь ласка, зв'яжіться з нами у Discord сервері!