SoulFire LogoSoulFire

Node Reference

Reference for every built-in SoulFire scripting node, grouped by category.

This page mirrors the current node registry in SoulFire. It is grouped by category so you can scan the system the same way the editor presents it.

SoulFire currently ships with 163 built-in nodes across 17 categories.

Triggers

  • On Bot Init: Fires early when the bot connection is initialized, before player is ready.
  • On Chat: Fires when a chat message is received.
  • On Container Open: Fires when a container has been opened.
  • On Damage: Fires when the bot takes damage and health decreases.
  • On Death: Fires when the bot dies.
  • On Disconnect: Fires when the bot disconnects from the server.
  • On Interval: Fires at a configurable interval. Use Get Bots and For Each Bot if you need bot actions.
  • On Join: Fires when the bot has fully joined and the player is ready to interact.
  • On Post Entity Tick: Fires after entity physics each tick on the tick thread.
  • On Pre Entity Tick: Fires before entity physics each tick on the tick thread.
  • On Script End: Fires once when the script is being stopped.
  • On Script Init: Fires once when the script is started.

Actions

  • Attack: Makes the bot attack the entity it is looking at.
  • Break Block: Pathfinds to and breaks a block at the target position.
  • Click Slot: Clicks an inventory slot with left, right, or shift click.
  • Close Inventory: Closes any open container or inventory screen.
  • Drop Item: Drops the item currently held on the cursor.
  • Drop Slot: Picks up an item from a slot and drops it outside the inventory.
  • Jump: Makes the bot jump once.
  • Look At: Makes the bot look at a specific position.
  • Move Backward: Sets backward movement.
  • Move Forward: Sets forward movement.
  • Open Inventory: Opens the player's inventory screen.
  • Pathfind Away From: Moves the bot away from a position using pathfinding.
  • Pathfind To: Moves the bot to a target position using pathfinding.
  • Place Block: Pathfinds to and places a block at the target position.
  • Print: Logs a message for debugging.
  • Respawn: Respawns the bot after death.
  • Select Slot: Selects a hotbar slot from 0 to 8.
  • Send Chat: Sends a chat message or command.
  • Set Rotation: Sets yaw and pitch in degrees.
  • Sneak: Sets sneaking state.
  • Sprint: Sets sprinting state.
  • Strafe Left: Sets left strafe movement.
  • Strafe Right: Sets right strafe movement.
  • Swing Hand: Swings the bot's arm without attacking.
  • Use Item: Uses the item in the bot's hand.
  • Wait: Delays execution for a duration, with optional jitter.

Data

  • Can See Position: Checks line of sight to a position.
  • Filter Bots: Filters a bot list by regex.
  • Find Block: Finds the nearest block of a specific type within range.
  • Find Entity: Finds the nearest entity of a specific type within range.
  • Find Item: Searches inventory for items by ID or food filter.
  • Get Armor: Reads armor value and toughness.
  • Get Biome: Reads the biome at the bot's current position.
  • Get Block: Reads block information at a specific position.
  • Get Bot By Name: Finds a bot by account name.
  • Get Bot Info: Reads basic information about a bot.
  • Get Bot State: Reads movement and state flags from a bot.
  • Get Bots: Returns all connected bots in the instance.
  • Get Dimension: Reads the bot's current dimension.
  • Get Effects: Reads active potion effects.
  • Get Entity State: Reads state for an entity by integer ID or UUID.
  • Get Experience: Reads experience level and points.
  • Get Gamemode: Reads the bot's current gamemode.
  • Get Health: Reads current and maximum health.
  • Get Hunger: Reads food level and saturation.
  • Get Inventory: Reads information about an item in a specific slot.
  • Get Light Level: Reads the light level at the bot's current position.
  • Get Position: Reads the bot's current position.
  • Get Rotation: Reads yaw and pitch.
  • Get Selected Slot: Reads the selected hotbar slot and item.
  • Get Target Block: Reads the block the bot is looking at.
  • Get Time: Reads game time and day or night status.
  • Get Velocity: Reads velocity and speed.
  • Get Weather: Reads current weather conditions.
  • Is Container Open: Checks whether a container or inventory screen is open.

Flow control

  • Branch: Branches execution based on a boolean condition.
  • Debounce: Enforces a cooldown period between runs.
  • For Each: Iterates over each item in a list.
  • For Each Bot: Iterates over each bot in a list.
  • Gate: Conditionally passes through execution and values.
  • Loop: Repeats execution a fixed number of times.
  • Rate Limit: Limits execution rate with a token bucket.
  • Repeat Until: Repeats until a condition is met.
  • Result: Reports a boolean result back to a loop check chain.
  • Sequence: Executes multiple branches in order.
  • Switch: Performs a multi-way branch based on a value.

Logic

  • And: Returns true if both inputs are true.
  • Compare: Compares two values with a selected operator.
  • Not: Inverts a boolean.
  • Or: Returns true if either input is true.
  • Xor: Returns true if exactly one input is true.

Math

  • Absolute: Returns the absolute value of a number.
  • Add: Adds two numbers together.
  • B-Spline: Performs cubic B-spline interpolation.
  • Ceiling: Rounds a number up.
  • Clamp: Constrains a value to a range.
  • Cosine: Calculates cosine in degrees.
  • Distance: Calculates the distance between two 3D points.
  • Divide: Divides A by B.
  • Floor: Rounds a number down.
  • Formula: Evaluates a mathematical expression.
  • Lerp: Linearly interpolates between two values.
  • Maximum: Returns the larger number.
  • Minimum: Returns the smaller number.
  • Modulo: Returns the remainder of A divided by B.
  • Multiply: Multiplies two numbers.
  • Power: Raises a number to a power.
  • Random: Generates a random number within a range.
  • Round: Rounds to the nearest integer.
  • Sine: Calculates sine in degrees.
  • Square Root: Calculates a square root.
  • Subtract: Subtracts B from A.
  • Tangent: Calculates tangent in degrees.

String

  • Concat: Concatenates strings.
  • Ends With: Checks whether a string ends with a suffix.
  • Format: Replaces {0}, {1}, and similar placeholders with arguments.
  • Index Of: Finds the first position of a substring.
  • Regex Match: Tests a regex and extracts capture groups.
  • Regex Replace: Replaces regex matches.
  • Replace: Replaces one substring with another.
  • Split: Splits a string by a delimiter.
  • Starts With: Checks whether a string starts with a prefix.
  • String Contains: Checks whether a string contains a substring.
  • String Length: Returns the length of a string.
  • Substring: Extracts part of a string by index.
  • To Lower Case: Converts a string to lowercase.
  • To Upper Case: Converts a string to uppercase.
  • Trim: Removes whitespace from both ends.

List

  • First: Returns the first item in a list.
  • Get At Index: Returns the item at a specific index.
  • Join to String: Joins list items with a separator.
  • Last: Returns the last item in a list.
  • List Contains: Checks whether a list contains an item.
  • List Length: Returns the list length.
  • Range: Generates a numeric range with a step.

Constants

  • Boolean: Outputs a constant boolean value.
  • Number: Outputs a constant number value.
  • String: Outputs a constant string value.
  • Vector3: Outputs a constant vector and separate x, y, z values.

Utility

  • Create Vector3: Builds a vector from x, y, z.
  • Is Empty: Checks whether a value is null or empty.
  • Is Null: Checks whether a value is null.
  • Split Vector3: Splits a vector into x, y, z.
  • Timestamp: Gets the current timestamp in several formats.
  • To Number: Parses a string into a number.
  • To String: Converts any value to a string.

Network

  • Web Fetch: Performs HTTP requests with control over method, headers, body, and timeout.

AI

  • LLM Chat: Sends a prompt to an LLM using the bot's AI settings and returns the response.

JSON

  • JSON Array: Builds a JSON array from inputs.
  • JSON Get: Extracts a value from JSON by path.
  • JSON Object: Builds a JSON object from key-value pairs.
  • JSON Parse: Parses a JSON string.
  • JSON Set: Writes a value into JSON by path.
  • JSON Stringify: Converts a value into a JSON string.

Encoding

  • Base64 Decode: Decodes Base64 text.
  • Base64 Encode: Encodes text as Base64.
  • Compress/Decompress: Compresses or decompresses data with GZIP.
  • Decrypt: Decrypts an AES-encrypted string.
  • Encrypt: Encrypts a string with AES.
  • Hash: Computes a cryptographic hash.

State

  • Cache: In-memory key-value cache with optional TTL.
  • State Machine: Simple state machine for bot behavior management.

Integration

  • Discord Webhook: Sends messages to a Discord webhook.

Variables

  • Get Persistent Bot Variable: Reads bot metadata that survives disconnects.
  • Get Persistent Instance Variable: Reads instance metadata that survives restarts.
  • Get Session Bot Variable: Reads bot session metadata that is lost on disconnect.
  • Get Session Instance Variable: Reads instance session metadata that is lost on restart.
  • Set Persistent Bot Variable: Stores bot metadata that survives disconnects.
  • Set Persistent Instance Variable: Stores instance metadata that survives restarts.
  • Set Session Bot Variable: Stores bot session metadata that is lost on disconnect.
  • Set Session Instance Variable: Stores instance session metadata that is lost on restart.

Notes on expensive nodes

Web Fetch, Discord Webhook, and LLM Chat are all expensive compared to normal value-transforming nodes. Use them carefully in repeated flows, and avoid placing them directly on tick-trigger paths unless you are explicitly throttling execution.

How is this page?

Last updated on

On this page