Skip to main content

Documentation Index

Fetch the complete documentation index at: https://ember.carr.sh/llms.txt

Use this file to discover all available pages before exploring further.

Service-based entry point

Ember exposes its API through Bukkit’s ServicesManager. At startup, the plugin registers itself as the provider for the sh.carr.ember.Ember interface at the highest priority. To get a handle on the running instance you don’t need to look up Ember’s plugin class. Ask the services manager, or use the convenience accessor on the interface itself.
import sh.carr.ember.Ember

val ember = Ember.instance
The instance accessor is equivalent to Bukkit.getServer().getServicesManager().getRegistration(Ember.class).getProvider(). Use it any time after Ember has loaded. Declare Ember as a required dependency of your plugin so the lookup is always safe.

Compatibility

Ember is built against the Paper API and marked folia-supported: true. The same jar runs on both Paper and Folia without changes, and so does any plugin that consumes the Ember API. If your plugin needs to integrate with Ember on Folia, use Folia’s scheduler APIs as you normally would. Nothing about the Ember API requires the main thread.

Versioning

Ember follows Semantic Versioning 2.0.0. The current major series is 0.x, which means breaking changes can land in any release until 1.0.0.