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!")