Interface NodeMetadata


@Immutable public interface NodeMetadata
Complete metadata for a node type. Contains all information needed to render the node in a client without hardcoded knowledge of specific node types.
  • Method Details

    • builder

      static com.soulfiremc.server.script.ImmutableNodeMetadata.Builder builder()
      Convenience builder starting point.
    • inputs

      static List<PortDefinition> inputs(PortDefinition... ports)
      Convenience method to create an input list from varargs.
    • outputs

      static List<PortDefinition> outputs(PortDefinition... ports)
      Convenience method to create an output list from varargs.
    • type

      String type()
      The unique type identifier for this node.
    • displayName

      String displayName()
      Human-readable name for display.
    • description

      @Default default String description()
      Description of what the node does.
    • category

      NodeCategory category()
      Category for organizing in the palette.
    • isTrigger

      @Default default boolean isTrigger()
      Whether this is a trigger (entry point) node.
    • inputs

      @Default default List<PortDefinition> inputs()
      Input port definitions.
    • outputs

      @Default default List<PortDefinition> outputs()
      Output port definitions.
    • icon

      @Default default String icon()
      Icon identifier (required).
    • color

      @Nullable String color()
      Optional color hint (hex code).
    • keywords

      @Default default List<String> keywords()
      Search keywords.
    • deprecated

      @Default default boolean deprecated()
      Whether this node is deprecated.
    • deprecationMessage

      @Nullable String deprecationMessage()
      If deprecated, what to use instead.
    • isLayoutNode

      @Default default boolean isLayoutNode()
      Whether this is a layout node (reroute, frame, etc.). Layout nodes have special minimal rendering and don't execute logic.
    • supportsMuting

      @Default default boolean supportsMuting()
      Whether this node can be muted (bypassed during execution). When muted, inputs pass through to outputs unchanged.
    • supportsPreview

      @Default default boolean supportsPreview()
      Whether this node supports inline preview of its output.