Python API
Build Endstone plugins in Python.
Write plugins in Python against the Endstone API - quick to iterate, with no compile step. Start with project setup, then work through the building blocks below.
Getting started
Project setup
Set up a project with pyproject.toml and the endstone entry point.
Plugin basics
The on_load / on_enable / on_disable lifecycle and the logger.
API reference
Browse the full Python API surface.
Commands & events
Registering commands
Define and register commands players can run.
Permissions
Gate commands and features behind permissions.
Event listeners
Listen for and handle server events.
Scheduling tasks
Run delayed and repeating tasks with the scheduler.
Async I/O
Run async I/O off the main thread and return results safely.
Gameplay
Working with players
Message, move, and manage the players on your server.
Worlds and dimensions
Reach the level, its dimensions, and locations.
Blocks
Read and place blocks with custom block states.
Inventory and items
Build item stacks and manage player inventories.
User interface
Messages & text
Send text and colour it with Minecraft formatting codes.
Forms
Show interactive forms to players.
Boss bars
Show a progress bar at the top of players' screens.
Scoreboards
Track scores and show per-player sidebars and name tags.
Data and distribution
Configuration
Store settings and data in the per-plugin data folder.
Databases
Back a plugin with SQLite without blocking the server.
Publishing to PyPI
Package and publish your plugin to PyPI.