Interface EventManager
public interface EventManager
Manager for plugin event listener registration and lifecycle.
Preferred approach: Create a Listener class with
@EventHandler annotated methods:
public class MyListener implements Listener {
@EventHandler(priority = EventPriority.NORMAL)
public void onMessage(MessageReceivedEvent event) {
// Handle message
}
}
// Register in your @Plugin class:
@OnEnable
public void onEnable(PluginContext context) {
context.registerListener(new MyListener());
}
Plugins can also register typed PluginEventListener instances
programmatically for more control.
-
Method Summary
Modifier and TypeMethodDescriptionintgetListenerCount(String pluginName) Gets the number of registered listeners for a plugin.intGets the total number of registered event handlers.<T extends net.dv8tion.jda.api.events.GenericEvent>
voidregisterEventListener(PluginEventListener<T> listener, String pluginName) Registers a single typed event listener.voidregisterListener(Listener listener, String pluginName) Registers all event handlers in a listener object.<T extends net.dv8tion.jda.api.events.GenericEvent>
voidunregisterEventListener(PluginEventListener<T> listener) Unregisters a specific typed event listener.voidunregisterListener(Listener listener) Unregisters a specific listener object.voidunregisterListeners(String pluginName) Unregisters all listeners for a specific plugin.
-
Method Details
-
registerListener
Registers all event handlers in a listener object. Methods annotated withEventHandlerwill be automatically registered.- Parameters:
listener- the listener object containing event handler methodspluginName- the name of the plugin registering the listener
-
registerEventListener
<T extends net.dv8tion.jda.api.events.GenericEvent> void registerEventListener(PluginEventListener<T> listener, String pluginName) Registers a single typed event listener.- Type Parameters:
T- the event type- Parameters:
listener- the event listenerpluginName- the name of the plugin registering the listener
-
unregisterListeners
Unregisters all listeners for a specific plugin.- Parameters:
pluginName- the name of the plugin
-
unregisterListener
Unregisters a specific listener object.- Parameters:
listener- the listener to unregister
-
unregisterEventListener
<T extends net.dv8tion.jda.api.events.GenericEvent> void unregisterEventListener(PluginEventListener<T> listener) Unregisters a specific typed event listener.- Type Parameters:
T- the event type- Parameters:
listener- the event listener to unregister
-
getListenerCount
Gets the number of registered listeners for a plugin.- Parameters:
pluginName- the plugin name- Returns:
- the number of registered listeners
-
getTotalHandlerCount
int getTotalHandlerCount()Gets the total number of registered event handlers.- Returns:
- the total number of event handlers
-