Skip to content

Commit cb91767

Browse files
committed
feat: add an event handler for ServerListPingEvent to customise server info displayed to players
1 parent 7caaea6 commit cb91767

2 files changed

Lines changed: 14 additions & 1 deletion

File tree

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
from endstone.event import ServerListPingEvent, event_handler, EventPriority
2+
from endstone.util import ColorFormat
3+
4+
5+
class ExampleListener:
6+
@event_handler(priority=EventPriority.HIGHEST)
7+
def on_server_list_ping(self, event: ServerListPingEvent):
8+
event.motd = ColorFormat.BOLD + ColorFormat.AQUA + "Example MOTD"
9+
event.level_name = f"Your IP is {ColorFormat.YELLOW}{event.remote_host}:{event.remote_port}{ColorFormat.RESET}"

src/endstone_example/example_plugin.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
from endstone.event import EventPriority, ServerLoadEvent, event_handler
33
from endstone.plugin import Plugin
44

5+
from endstone_example.example_listener import ExampleListener
56
from endstone_example.python_command import PythonCommandExecutor
67

78

@@ -54,7 +55,10 @@ def on_load(self) -> None:
5455
def on_enable(self) -> None:
5556
self.logger.info("on_enable is called!")
5657
self.get_command("python").executor = PythonCommandExecutor()
57-
self.register_events(self)
58+
59+
self.register_events(self) # register event listeners defined directly in Plugin class
60+
self.listener = ExampleListener()
61+
self.register_events(self.listener) # you can also register event listeners in a separate class
5862

5963
def on_disable(self) -> None:
6064
self.logger.info("on_disable is called!")

0 commit comments

Comments
 (0)