Skip to main content
The current provider API version is 1. Provider names must be lowercase, at most 64 characters, and contain only letters, digits, _, ., or -. Priorities must be finite numbers between -100000 and 100000.

Register a server provider

domain is player, inventory, dispatch, or actions. Registration must come from an external resource. It returns true on success or false plus a stable, human-readable reason when the descriptor is rejected. Every descriptor requires:

Player descriptor

kind may be success, error, warning, or inform. Treat unknown kinds as informational.

Inventory descriptor

AddItem must return exactly true after accepting the operation. Return false for a full inventory, unknown item, invalid metadata, or any other rejection.

Dispatch descriptor

Translate the neutral kind and payload into your dispatch resource. Return false only when the report was rejected; nil counts as accepted after a successful callback.

Action descriptor

Action keys must start with a lowercase letter, contain only lowercase letters, digits, and _, and be at most 64 characters. RunAction must return exactly true after completing or accepting the action. Validate source, distance from npcCoords, permissions, identifiers, amounts, and all params on the server. The action name is not authorization.

Unregister a server provider

Only the owner resource can unregister its provider. Stopping the owner performs this cleanup automatically.

Server status

The result contains:
  • apiVersion and runtimeEpoch;
  • selected, a compact map by domain;
  • domains, including each setting, state, reason, selected provider, and all registered candidates.
States are selected, disabled, unavailable, ambiguous, or degraded. A callback failure degrades the selected provider; a later successful callback clears the failure state.

Register a client interaction provider

Add and Remove are required. Progress is optional. Add must return exactly true when registration succeeds. Progress returns exactly true when completed and false when cancelled or failed. watchedResources lists dependencies whose start/stop should trigger provider reevaluation.
Client status reports apiVersion, runtimeEpoch, setting, state, reason, and the selected provider.

Ready event

The event is local and emitted independently on server and client after each HumaLike start. Register the providers for that side again when it fires.

Next