Creating Listeners
You can create listeners in two ways: implementing the Listener interface in a new class and registering it in onEnable, or creating inline event handlers inside your PluginBase.
Registering with PluginBase
Add event handlers directly in your PluginBase subclass. Example:
public class ExamplePlugin extends PluginBase implements Listener {
@Override
public void onEnable() {
this.getServer().getPluginManager().registerEvents(this, this);
}
@EventHandler
public void onJoin(PlayerJoinEvent event) {
Player player = event.getPlayer();
player.sendMessage("Welcome, " + player.getName() + "!");
}
} Inline event handlers are fine for small plugins. For larger projects, consider splitting listeners into dedicated classes for better organization.
Registering with new listener class
package com.example.listener;
import cn.nukkit.event.EventHandler;
import cn.nukkit.event.Listener;
import cn.nukkit.event.player.PlayerJoinEvent;
import cn.nukkit.Player;
public class JoinListener implements Listener {
@EventHandler
public void onJoin(PlayerJoinEvent event) {
Player player = event.getPlayer();
player.sendMessage("Welcome, " + player.getName() + "!");
}
}You need to register your listener class when your plugin is enabled.
@Override
public void onEnable() {
this.getServer().getPluginManager().registerEvents(new JoinListener(), this);
}Don’t forget to import your listener class.
Need Help?
If you need assistance, check out the Example Plugin or join our Discord server for support.