Skip to content

Java Extension Development

Danil Vilmont edited this page Aug 9, 2026 · 2 revisions

Java Extension Development

Trusted Velocity plugins can use the additive, internally frozen Java API 1.2 for capability discovery, immutable inspection, bounded diagnostics, lifecycle and administrative requests, exact-instance routing, ordered events, namespaced annotations and readiness/status contributions, and owned action callbacks.

Operators install only the full SLS-LITE plugin JAR. Extension builds use the smaller -api.jar as a provided or compile-only dependency and must not bundle it or import api.internal and other implementation packages.

Extensions must:

  • declare SLS-LITE as a required Velocity plugin dependency;
  • discover the API through SLSLiteApiProvider;
  • check API version and advertised capabilities;
  • keep callbacks non-blocking;
  • own registrations through an ExtensionContext and close it on shutdown;
  • authenticate and authorize any command, message, or network surface they add.

The API does not expose distributed nodes, containers, arbitrary storage or process control, replacement matchmaking/lobby/install/storage providers, or an authenticated HTTP administration endpoint.

Canonical guide: Java Extension API. Contract boundaries: API Scope and Compatibility Policy. Working source: Example Velocity Extension.

Clone this wiki locally