Listeners
A listener extends PlexListener. It works like any Bukkit listener, with @EventHandler methods. A listener has no
built-in api() method, so pass the module to the listener if the listener needs the API.
package dev.plex.listener;
import dev.plex.ExampleModule;import org.bukkit.entity.Player;import org.bukkit.event.EventHandler;import org.bukkit.event.player.PlayerJoinEvent;
public class ExampleListener extends PlexListener{ private final ExampleModule module;
public ExampleListener(ExampleModule module) { this.module = module; }
@EventHandler public void onPlayerJoin(PlayerJoinEvent event) { Player player = event.getPlayer(); player.sendMessage(module.api().messages().miniMessage( "<gold>ExampleModule is awake!</gold> " + "<click:run_command:'/examplemodule sparkle'>" + "<hover:show_text:'<gray>Click for a tiny celebration</gray>'>" + "<aqua>[Try a sparkle]</aqua>" + "</hover></click>")); }}Register the listener in enable(). Pass the module so the listener can reach the API.
registerListener(new ExampleListener(this));One listener class can handle many events. Plex unregisters your Bukkit listeners for you when the module disables.
