Skip to content

Java Extension Development

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

Java Extension Development

Trusted Velocity plugins can use the internally frozen Java API 1.0 for capability discovery, immutable inspection, bounded diagnostics, lifecycle and matchmaking requests, ordered events, namespaced annotations, 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