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 BotsandFor Each Botif 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,zvalues.
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
