forge-interactions is the generic “press E on a thing” system. You register an interaction
definition, place instances of it in the world, and the package handles the prompt, server-side
distance gating, rate limiting, and routing the trigger to a handler in another package.
Concepts
- Definition. A stable
interact:<name>with a prompt, a maxdistance, and anoutcomethat names a handler{ pkg, export }plus staticdata. - Instance. A placed occurrence with an
instance_idand a worldposition. - Trigger. Calling
TriggerInteractionchecks distance server-side, then invokes the outcome handler with the data and the caller’s character id.
Exports
Definition + use
The outcome handler is a
{ pkg, export } reference, not a raw function, because HELIX serializes
export-call arguments and cannot marshal a function across states.Configuration
forge-interactions ships no content; interactions are creator-defined via Config.Interactions
or the register exports. Config tunes the distance slack and per-second use cap.