Skip to main content
Версія: 2.0.0

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 класу
jd.png

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

Якщо у вас є додаткові питання, будь ласка, зв'яжіться з нами у Discord сервері!