The legacy Nukkit project has evolved.
Welcome to Endstone, the official successor to Nukkit.
package my.plugin; import cn.nukkit.command.Command; import cn.nukkit.command.CommandSender; import cn.nukkit.event.EventHandler; import cn.nukkit.event.EventPriority; import cn.nukkit.event.server.ServerCommandEvent; import cn.nukkit.plugin.PluginBase; import cn.nukkit.utils.TextFormat; public class MyPlugin extends PluginBase { @Override public void onLoad() { this.getLogger().info(TextFormat.GREEN + "onLoad is called"); } @Override public void onEnable() { this.getLogger().info(TextFormat.DARK_GREEN + "onEnable is called"); this.getServer().getPluginManager().registerEvents(this, this); } @Override public void onDisable() { this.getLogger().info(TextFormat.DARK_RED + "onDisable is called"); } @Override public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { switch (command.getName()) { case "example": sender.sendMessage("Hello world!"); break; } return true; } @EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = false) public void onServerCommand(ServerCommandEvent event) { this.getLogger().info("ServerCommandEvent is called!"); } }
from typing import override from endstone.command import Command, CommandSender from endstone.event import event_handler, EventPriority, ServerCommandEvent from endstone.plugin import Plugin from endstone import ColorFormat class MyPlugin(Plugin): @override def on_load(self) -> None: self.logger.info(ColorFormat.GREEN + "on_load is called!") @override def on_enable(self) -> None: self.logger.info(ColorFormat.DARK_GREEN + "on_enable is called!") self.register_events(self) @override def on_disable(self) -> None: self.logger.info(ColorFormat.DARK_RED + "on_disable is called!") @override def on_command(self, sender: CommandSender, command: Command, args: list[str]) -> bool: match command.name: case "example": sender.send_message("Hello world!") break return True @event_handler(priority=EventPriority.NORMAL, ignore_cancelled=False) def on_server_command(self, event: ServerCommandEvent): self.logger.info("ServerCommandEvent is called!")