Skip to content

Commit

Permalink
feat: add examples of PlayerJoinEvent and PlayerQuitEvent
Browse files Browse the repository at this point in the history
  • Loading branch information
wu-vincent committed Apr 11, 2024
1 parent 01237b7 commit 59e069b
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 3 deletions.
17 changes: 16 additions & 1 deletion src/endstone_example/example_listener.py
Original file line number Diff line number Diff line change
@@ -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.")
4 changes: 2 additions & 2 deletions src/endstone_example/example_plugin.py
Original file line number Diff line number Diff line change
Expand Up @@ -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!")
Expand Down

0 comments on commit 59e069b

Please sign in to comment.