skills directly from any extension, and — when writing a Native Mod — register higher-priority implementations that replace the defaults entirely.
API reference
Listing available services
Callservices.list() to retrieve the full catalog of registered services:
Describing a service
Callservices.describe() with a service ID to inspect its available methods and metadata:
Built-in services
skills service
The skills service exposes Aether’s native Skill selection state.
Scope values:
"current", "default" / "global", "both" / "current_and_default". Using "both" updates the current session selection and the default selection independently.
state service
The state service provides direct read and transactional write access to Aether’s application state.
Priority system
Services are priority-ordered. The active implementation for a given service ID is always the highest-priority registration. When you remove a registration, the next-highest-priority implementation becomes active. Aether’s core services intentionally use a low priority, so a Native Mod registering the same service ID at the default Native Mod priority will seamlessly override the built-in behavior.Script Mods can call any registered service using
aether.services.invoke(), but they cannot register new service implementations. To override a built-in service or add a new one, you must use a Native Mod.