-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathlistener.py
More file actions
38 lines (29 loc) · 1.64 KB
/
Copy pathlistener.py
File metadata and controls
38 lines (29 loc) · 1.64 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
"""Event listener demonstrating how to respond to player events.
Listeners are separate classes (not the Plugin itself) that hold @event_handler
methods. Register them in on_enable with self.register_events(). This keeps
event handling logic organized and out of the main plugin class.
"""
from endstone import ColorFormat
from endstone.event import EventPriority, PlayerJoinEvent, PlayerQuitEvent, event_handler
from endstone.plugin import Plugin
class ExampleListener:
def __init__(self, plugin: Plugin) -> None:
# Keep a reference to the plugin so we can use its logger and config.
self._plugin = plugin
@event_handler(priority=EventPriority.HIGH)
def on_player_join(self, event: PlayerJoinEvent) -> None:
"""Called when a player joins the server.
The priority=HIGH means this handler runs after NORMAL-priority handlers,
useful when you want to override or finalize values set by other plugins.
Priorities (lowest runs first): LOWEST, LOW, NORMAL, HIGH, HIGHEST, MONITOR.
"""
player = event.player
# Modify the join message broadcast to all players.
# ColorFormat constants add Minecraft formatting codes.
event.join_message = f"{ColorFormat.YELLOW}{player.name} joined the game"
# Log the player's network address (useful for debugging, not shown to players)
self._plugin.logger.info(f"{player.name} joined from {player.address}")
@event_handler
def on_player_quit(self, event: PlayerQuitEvent) -> None:
"""Called when a player leaves the server."""
event.quit_message = f"{ColorFormat.YELLOW}{event.player.name} left the game"