From 59e069bc8661ef3e08e1e38fa42e8148a4fa2b61 Mon Sep 17 00:00:00 2001 From: Vincent Date: Thu, 11 Apr 2024 17:56:11 +0100 Subject: [PATCH] feat: add examples of PlayerJoinEvent and PlayerQuitEvent --- src/endstone_example/example_listener.py | 17 ++++++++++++++++- src/endstone_example/example_plugin.py | 4 ++-- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/src/endstone_example/example_listener.py b/src/endstone_example/example_listener.py index 1af6fb3..5ba203a 100644 --- a/src/endstone_example/example_listener.py +++ b/src/endstone_example/example_listener.py @@ -1,9 +1,24 @@ from endstone import ColorFormat -from endstone.event import ServerListPingEvent, event_handler, EventPriority +from endstone.event import event_handler, EventPriority, PlayerJoinEvent, PlayerQuitEvent, ServerListPingEvent +from endstone.plugin import Plugin class ExampleListener: + + def __init__(self, plugin: Plugin): + self._plugin = plugin + @event_handler(priority=EventPriority.HIGHEST) def on_server_list_ping(self, event: ServerListPingEvent): event.motd = ColorFormat.BOLD + ColorFormat.AQUA + "Example MOTD" event.level_name = f"Your IP is {ColorFormat.YELLOW}{event.remote_host}:{event.remote_port}{ColorFormat.RESET}" + + @event_handler + def on_player_join(self, event: PlayerJoinEvent): + player = event.player + self._plugin.logger.info(ColorFormat.YELLOW + f"{player.name} ({player.unique_id}) joins the game.") + + @event_handler + def on_player_quit(self, event: PlayerQuitEvent): + player = event.player + self._plugin.logger.info(ColorFormat.YELLOW + f"{player.name} ({player.unique_id}) leaves the game.") diff --git a/src/endstone_example/example_plugin.py b/src/endstone_example/example_plugin.py index 4925a1f..a02bc56 100644 --- a/src/endstone_example/example_plugin.py +++ b/src/endstone_example/example_plugin.py @@ -57,8 +57,8 @@ def on_enable(self) -> None: self.get_command("python").executor = PythonCommandExecutor() self.register_events(self) # register event listeners defined directly in Plugin class - self.listener = ExampleListener() - self.register_events(self.listener) # you can also register event listeners in a separate class + self._listener = ExampleListener(self) + self.register_events(self._listener) # you can also register event listeners in a separate class def on_disable(self) -> None: self.logger.info("on_disable is called!")