SoulFire LogoSoulFire

Node Reference

Look up every built-in SoulFire scripting node by category.

This page lists the current SoulFire nodes in the same categories as the editor.

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

Triggers

  • On Bot Init: Fires after the bot connection starts but before the player is ready.
  • On Chat: Fires when a chat message is received.
  • On Container Open: Fires when a container opens.
  • 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 stops.
  • 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