Interface ScriptNode

All Known Implementing Classes:
AbsNode, AbstractScriptNode, AddNode, AndNode, AttackNode, Base64DecodeNode, Base64EncodeNode, BooleanConstantNode, BranchNode, BreakBlockNode, BSplineNode, CacheNode, CeilNode, ClampNode, CompareNode, CompressionNode, ConcatNode, CosNode, CreateVector3Node, DebounceNode, DecryptNode, DiscordWebhookNode, DistanceNode, DivideNode, EncryptNode, EndsWithNode, FilterBotsNode, FindBlockNode, FindEntityNode, FirstNode, FloorNode, ForEachBotNode, ForEachNode, FormatNode, FormulaNode, GateNode, GetArmorNode, GetAtNode, GetBiomeNode, GetBlockNode, GetBotByNameNode, GetBotInfoNode, GetBotsNode, GetBotStateNode, GetDimensionNode, GetEffectsNode, GetExperienceNode, GetGamemodeNode, GetHealthNode, GetHungerNode, GetInventoryNode, GetLightLevelNode, GetPersistentBotVariableNode, GetPositionNode, GetRotationNode, GetSelectedSlotNode, GetSessionBotVariableNode, GetTargetBlockNode, GetTimeNode, GetVelocityNode, GetWeatherNode, HashNode, IndexOfNode, IsEmptyNode, IsNullNode, JoinToStringNode, JsonArrayNode, JsonGetNode, JsonObjectNode, JsonParseNode, JsonSetNode, JsonStringifyNode, JumpNode, LastNode, LerpNode, ListContainsNode, ListLengthNode, LLMChatNode, LookAtNode, LoopNode, MaxNode, MinNode, ModuloNode, MultiplyNode, NotNode, NumberConstantNode, OnBotInitNode, OnChatNode, OnDamageNode, OnDeathNode, OnIntervalNode, OnJoinNode, OnScriptEndNode, OnScriptInitNode, OnTickNode, OrNode, PathfindToNode, PlaceBlockNode, PowNode, PrintNode, RandomNode, RangeNode, RateLimitNode, RegexMatchNode, RegexReplaceNode, ReplaceNode, RoundNode, SelectSlotNode, SendChatNode, SequenceNode, SetPersistentBotVariableNode, SetRotationNode, SetSessionBotVariableNode, SinNode, SneakNode, SplitNode, SplitVector3Node, SprintNode, SqrtNode, StartsWithNode, StateNode, StringConstantNode, StringContainsNode, StringLengthNode, SubstringNode, SubtractNode, SwitchNode, TanNode, TimestampNode, ToLowerCaseNode, ToNumberNode, ToStringNode, ToUpperCaseNode, TrimNode, UseItemNode, Vector3ConstantNode, WaitNode, WebFetchNode, XorNode

public interface ScriptNode

Base interface for all script nodes in the visual scripting system. Each node type implements this interface to define its execution behavior.

Nodes are functional and pure - they receive inputs and produce outputs. They have access to a minimal runtime API (instance, scheduler, pending ops) but not to execution machinery like output storage or cancellation state.

Metadata (type, ports, category, etc.) is stored in the NodeRegistry, not on the node instance itself.

  • Method Details

    • executeReactive

      reactor.core.publisher.Mono<Map<String, NodeValue>> executeReactive(NodeRuntime runtime, Map<String, NodeValue> inputs)
      Executes this node reactively with the given runtime and inputs.
      Parameters:
      runtime - the node runtime providing access to instance and scheduler
      inputs - the resolved input values from connected nodes or default values
      Returns:
      a Mono that completes with the node's output values