pumpkin-api-py/example/main.py
Alexander Medvedev faf2de70aa first commit
2026-04-14 19:56:27 +02:00

37 lines
1.3 KiB
Python

from pumpkin_api import (
Plugin, PluginMetadata, register_plugin,
server, event, command, text, context
)
from pumpkin_api.app import WitWorld, Metadata
class MyPlugin(Plugin):
def metadata(self) -> PluginMetadata:
return PluginMetadata(
name="my-plugin",
version="0.1.0",
authors=["you"],
description="An example python plugin."
)
def on_load(self, ctx: context.Context) -> None:
print("Python plugin loaded!")
# Register an event handler
self.register_event(ctx, event.EventType.PLAYER_JOIN_EVENT, self.on_player_join)
# Register a command
# cmd = command.Command(["hello"], "A simple hello command")
# self.register_command(ctx, cmd, self.hello_command)
def on_player_join(self, srv: server.Server, evt: event.PlayerJoinEventData) -> event.PlayerJoinEventData:
print(f"Player {evt.player.get_name()} joined!")
# We can modify the join message
# evt.join_message = text.TextComponent_text("Welcome to the server!")
return evt
def hello_command(self, sender: command.CommandSender, srv: server.Server, args: command.ConsumedArgs) -> int:
sender.send_message(text.TextComponent_text("Hello from Python!"))
return 1
register_plugin(MyPlugin)