Class ScriptTriggerService

java.lang.Object
com.soulfiremc.server.script.ScriptTriggerService

public final class ScriptTriggerService extends Object

Service that manages event subscriptions for trigger nodes in scripts. When a script is started, this service registers appropriate event listeners for each trigger node and executes downstream nodes when events fire.

Uses Reactor Sinks with backpressure to prevent overwhelming the system when high-frequency events (like ticks) fire faster than they can be processed.

  • Constructor Details

    • ScriptTriggerService

      public ScriptTriggerService()
  • Method Details

    • registerTriggers

      public void registerTriggers(UUID scriptId, ScriptGraph graph, ReactiveScriptContext context, ReactiveScriptEngine engine)
      Registers event listeners for all trigger nodes in the script. Uses reactive sinks with backpressure for high-frequency triggers.
      Parameters:
      scriptId - the script ID
      graph - the script graph
      context - the reactive execution context
      engine - the reactive script engine
    • unregisterTriggers

      public void unregisterTriggers(UUID scriptId)
      Unregisters all event listeners for a script.
      Parameters:
      scriptId - the script ID
    • hasActiveTriggers

      public boolean hasActiveTriggers(UUID scriptId)
      Checks if a script has active triggers.
      Parameters:
      scriptId - the script ID
      Returns:
      true if the script has registered triggers