Package com.soulfiremc.server.script
package com.soulfiremc.server.script
Contains the visual node-based scripting system for SoulFire automation.
This package provides the execution engine for scripts created in the visual editor.
-
ClassDescriptionAbstract base class for script nodes providing common utility methods.Registry of all available node categories.Constant folding optimization: evaluates subgraphs with all-constant inputs at build time.Immutable execution context that flows along execution edges.Records script execution events for replay in the editor.Type of recorded event.A single recorded execution event with timestamp and data.Per-invocation execution state.Definition of a node category for organizing nodes in the palette.Complete metadata for a node type.Runtime environment for script node execution.Sealed interface representing a value that can be passed between script nodes.Runtime bot reference (not JSON-serializable).JSON-serializable value (strings, numbers, booleans, arrays, objects, null).List of NodeValues that may contain non-JSON values (e.g., Bot references).Checks whether a NodeValue matches a declared PortType at runtime.Definition of an input or output port on a node.The data type of a node port.Reactive execution context for scripts.Reactive execution engine for visual scripts.Interface for receiving script execution events.Represents the graph structure of a visual script.Builder for constructing ScriptGraph instances.Type of edge connection.Represents an edge connecting two nodes.Represents a node in the graph.Severity levels for validation diagnostics.A structured validation diagnostic with node/edge context and severity.Thrown when a ScriptGraph fails validation during construction.Base interface for all script nodes in the visual scripting system.Immutable configuration record for script execution quotas.Handles migration of script node/edge JSON between schema versions.Result of a schema migration.Per-script state container with typed key access.Service that manages event subscriptions for trigger nodes in scripts.Adapter that wraps SoulFireScheduler to implement Reactor's Scheduler interface.Constants for standard port names used across the scripting system.Single source of truth for port type compatibility rules.A recursive type descriptor that supports generic/parameterized types.A parameterized type like List
or Map<K, V>. A simple, non-parameterized type (e.g., NUMBER, STRING, BOT).A type variable that gets bound during type inference.Forward type propagation through generic and ANY ports to detect type mismatches.