SoulFire LogoSoulFire

Node reference

Built-in node IDs, input defaults, output ports, and source links.

Generated from the pinned SoulFire source. This snapshot contains 179 built-in nodes in 18 categories. Plugins can add other nodes. The connected server's palette is authoritative for its installed version.

Input defaults are JSON values. An execution wire selects when an action runs. A data wire supplies a value. An optional bot input overrides the bot in execution context. Read execution and data before wiring a graph.

The SDK and node reference use the documented source baseline. Regenerate this page with bun run generate-node-reference.

Triggers

On Bot Init

trigger.on_bot_init (trigger)

Fires early when the bot connection is initialized (before player is ready)

Inputs

None.

Outputs

PortTypeDescription
out (Out)execExecution output
bot (Bot)botThe bot being initialized
serverAddress (Server Address)stringThe server address
username (Username)stringThe bot's username

Implementation

On Chat

trigger.on_chat (trigger)

Fires when a chat message is received

Inputs

None.

Outputs

PortTypeDescription
out (Out)execExecution output
bot (Bot)botThe bot that received the message
message (Message)anyThe chat message component
messagePlainText (Message (Plain Text))stringThe chat message as plain text
timestamp (Timestamp)numberTimestamp when the message was received

Implementation

On Container Open

trigger.on_container_open (trigger)

Fires when a any container has been opened

Inputs

None.

Outputs

PortTypeDescription
out (Out)execExecution output
bot (Bot)botThe bot that opened the container
containerId (Container ID)numberThe ID of opened container
containerName (Container Name)stringThe name of opened container
containerType (Container Type)stringThe type of opened container

Implementation

On Damage

trigger.on_damage (trigger)

Fires when the bot takes damage (health decreases)

Inputs

None.

Outputs

PortTypeDescription
out (Out)execExecution output
bot (Bot)botThe bot that took damage
amount (Amount)numberAmount of damage taken
previousHealth (Previous Health)numberHealth before damage
newHealth (New Health)numberHealth after damage

Implementation

On Death

trigger.on_death (trigger)

Fires when the bot dies

Inputs

None.

Outputs

PortTypeDescription
out (Out)execExecution output
bot (Bot)botThe bot that died
shouldRespawn (Should Respawn)booleanWhether the bot should respawn

Implementation

On Disconnect

trigger.on_disconnect (trigger)

Fires when the bot is disconnected from the server

Inputs

None.

Outputs

PortTypeDescription
out (Out)execExecution output
bot (Bot)botThe bot that was disconnected
reason (Reason)stringThe disconnect reason message

Implementation

On Interval

trigger.on_interval (trigger)

Fires at a configurable interval. Does not provide a bot; use GetBots + ForEachBot downstream for bot actions.

Inputs

PortTypeRequired / defaultDescription
intervalMs (Interval (ms))number1000Interval in milliseconds between executions

Outputs

PortTypeDescription
out (Out)execExecution output
executionCount (Execution Count)numberNumber of times this trigger has fired

Implementation

On Join

trigger.on_join (trigger)

Fires when the bot has fully joined and the player is ready to interact

Inputs

None.

Outputs

PortTypeDescription
out (Out)execExecution output
bot (Bot)botThe bot that joined
serverAddress (Server Address)stringThe server address
username (Username)stringThe bot's username

Implementation

On Post Entity Tick

trigger.on_post_entity_tick (trigger)

Fires after entity physics each tick (synchronous on tick thread)

Inputs

None.

Outputs

PortTypeDescription
out (Out)execExecution output
bot (Bot)botThe bot that ticked
tickCount (Tick Count)numberTicks since script started

Implementation

On Pre Entity Tick

trigger.on_pre_entity_tick (trigger)

Fires before entity physics each tick (synchronous on tick thread)

Inputs

None.

Outputs

PortTypeDescription
out (Out)execExecution output
bot (Bot)botThe bot that ticked
tickCount (Tick Count)numberTicks since script started

Implementation

On Script End

trigger.on_script_end (trigger)

Fires once when the script is being stopped

Inputs

None.

Outputs

PortTypeDescription
out (Out)execExecution output
timestamp (Timestamp)numberThe timestamp when the script is ending

Implementation

On Script Init

trigger.on_script_init (trigger)

Fires once when the script is started

Inputs

None.

Outputs

PortTypeDescription
out (Out)execExecution output
timestamp (Timestamp)numberThe timestamp when the script was initialized

Implementation

Actions

Attack

action.attack

Makes the bot attack the entity it's looking at (left click)

Inputs

PortTypeRequired / defaultDescription
in (In)execOptionalExecution input
bot (Bot)botOptionalOptional override of the bot in execution context

Outputs

PortTypeDescription
out (Out)execExecution output

Implementation

Break Block

action.break_block

Pathfinds to and breaks a block at the specified position

Inputs

PortTypeRequired / defaultDescription
in (In)execOptionalExecution input
bot (Bot)botOptionalOptional override of the bot in execution context
position (Position)vector3RequiredBlock position to break

Outputs

PortTypeDescription
out (Out)execExecution output
exec_error (Error)execExecutes on failure
success (Success)booleanWhether it succeeded
errorMessage (Error Message)stringError details

Implementation

Click Slot

action.click_slot

Clicks an inventory slot (left, right, or shift click)

Inputs

PortTypeRequired / defaultDescription
in (In)execOptionalExecution input
bot (Bot)botOptionalOptional override of the bot in execution context
slot (Slot)number0Inventory menu slot index to click (-999 to drop the carried item)
clickType (Click Type)string"left"Click type: left, right, or shift

Outputs

PortTypeDescription
out (Out)execExecution output

Implementation

Close Inventory

action.close_inventory

Closes any open container or inventory screen

Inputs

PortTypeRequired / defaultDescription
in (In)execOptionalExecution input
bot (Bot)botOptionalOptional override of the bot in execution context

Outputs

PortTypeDescription
out (Out)execExecution output

Implementation

Drop Item

action.drop_item

Drops the item currently held on the cursor

Inputs

PortTypeRequired / defaultDescription
in (In)execOptionalExecution input
bot (Bot)botOptionalOptional override of the bot in execution context
dropAll (Drop All)booleantrueDrop entire stack (true) or one item (false)

Outputs

PortTypeDescription
out (Out)execExecution output

Implementation

Drop Slot

action.drop_slot

Picks up an item from a slot and drops it outside the inventory

Inputs

PortTypeRequired / defaultDescription
in (In)execOptionalExecution input
bot (Bot)botOptionalOptional override of the bot in execution context
slot (Slot)number0Inventory menu slot index to drop from

Outputs

PortTypeDescription
out (Out)execExecution output

Implementation

Jump

action.jump

Makes the bot jump once

Inputs

PortTypeRequired / defaultDescription
in (In)execOptionalExecution input
bot (Bot)botOptionalOptional override of the bot in execution context

Outputs

PortTypeDescription
out (Out)execExecution output

Implementation

Look At

action.look_at

Makes the bot look at a specific position in the world

Inputs

PortTypeRequired / defaultDescription
in (In)execOptionalExecution input
bot (Bot)botOptionalOptional override of the bot in execution context
target (Target)vector3RequiredPosition to look at

Outputs

PortTypeDescription
out (Out)execExecution output

Implementation

Move Backward

action.move_backward

Sets the bot's backward movement state (S key)

Inputs

PortTypeRequired / defaultDescription
in (In)execOptionalExecution input
bot (Bot)botOptionalOptional override of the bot in execution context
enabled (Enabled)booleantrueWhether to move backward

Outputs

PortTypeDescription
out (Out)execExecution output

Implementation

Move Forward

action.move_forward

Sets the bot's forward movement state (W key)

Inputs

PortTypeRequired / defaultDescription
in (In)execOptionalExecution input
bot (Bot)botOptionalOptional override of the bot in execution context
enabled (Enabled)booleantrueWhether to move forward

Outputs

PortTypeDescription
out (Out)execExecution output

Implementation

Open Inventory

action.open_inventory

Opens the player's inventory screen

Inputs

PortTypeRequired / defaultDescription
in (In)execOptionalExecution input
bot (Bot)botOptionalOptional override of the bot in execution context

Outputs

PortTypeDescription
out (Out)execExecution output

Implementation

Pathfind Away From

action.pathfind_away_from

Moves the bot away from a position using pathfinding

Inputs

PortTypeRequired / defaultDescription
in (In)execOptionalExecution input
bot (Bot)botOptionalOptional override of the bot in execution context
position (Position)vector3RequiredPosition to move away from
distance (Distance)number10Minimum distance to move away

Outputs

PortTypeDescription
out (Out)execExecution output
exec_error (Error)execExecutes on failure
success (Success)booleanWhether it succeeded
errorMessage (Error Message)stringError details

Implementation

Pathfind To

action.pathfind_to

Moves the bot to a target position using pathfinding

Inputs

PortTypeRequired / defaultDescription
in (In)execOptionalExecution input
bot (Bot)botOptionalOptional override of the bot in execution context
destination (Destination)vector3RequiredTarget position to pathfind to

Outputs

PortTypeDescription
out (Out)execExecution output
exec_error (Error)execExecutes on failure
success (Success)booleanWhether it succeeded
errorMessage (Error Message)stringError details

Implementation

Place Block

action.place_block

Pathfinds to and places a block at the specified position

Inputs

PortTypeRequired / defaultDescription
in (In)execOptionalExecution input
bot (Bot)botOptionalOptional override of the bot in execution context
position (Position)vector3RequiredBlock position to place at

Outputs

PortTypeDescription
out (Out)execExecution output
exec_error (Error)execExecutes on failure
success (Success)booleanWhether it succeeded
errorMessage (Error Message)stringError details

Implementation

Print

action.print

Logs a message for debugging purposes

Inputs

PortTypeRequired / defaultDescription
in (In)execOptionalExecution input
message (Message)anyRequiredThe message to log
level (Level)string"info"Log level (debug, info, warn, error)

Outputs

PortTypeDescription
out (Out)execExecution output

Implementation

Respawn

action.respawn

Respawns the bot after death

Inputs

PortTypeRequired / defaultDescription
in (In)execOptionalExecution input
bot (Bot)botOptionalOptional override of the bot in execution context

Outputs

PortTypeDescription
out (Out)execExecution output

Implementation

Select Slot

action.select_slot

Selects a hotbar slot (0-8)

Inputs

PortTypeRequired / defaultDescription
in (In)execOptionalExecution input
bot (Bot)botOptionalOptional override of the bot in execution context
slot (Slot)number0Hotbar slot (0-8)

Outputs

PortTypeDescription
out (Out)execExecution output

Implementation

Send Chat

action.send_chat

Sends a chat message or command

Inputs

PortTypeRequired / defaultDescription
in (In)execOptionalExecution input
bot (Bot)botOptionalOptional override of the bot in execution context
message (Message)string""The message to send

Outputs

PortTypeDescription
out (Out)execExecution output

Implementation

Set Rotation

action.set_rotation

Sets the bot's rotation (yaw and pitch in degrees)

Inputs

PortTypeRequired / defaultDescription
in (In)execOptionalExecution input
bot (Bot)botOptionalOptional override of the bot in execution context
yaw (Yaw)number0Horizontal rotation (-180 to 180)
pitch (Pitch)number0Vertical rotation (-90 to 90)

Outputs

PortTypeDescription
out (Out)execExecution output

Implementation

Sneak

action.sneak

Sets the bot's sneaking state

Inputs

PortTypeRequired / defaultDescription
in (In)execOptionalExecution input
bot (Bot)botOptionalOptional override of the bot in execution context
enabled (Enabled)booleantrueWhether to sneak

Outputs

PortTypeDescription
out (Out)execExecution output

Implementation

Sprint

action.sprint

Sets the bot's sprinting state

Inputs

PortTypeRequired / defaultDescription
in (In)execOptionalExecution input
bot (Bot)botOptionalOptional override of the bot in execution context
enabled (Enabled)booleantrueWhether to sprint

Outputs

PortTypeDescription
out (Out)execExecution output

Implementation

Strafe Left

action.strafe_left

Sets the bot's left strafe movement state (A key)

Inputs

PortTypeRequired / defaultDescription
in (In)execOptionalExecution input
bot (Bot)botOptionalOptional override of the bot in execution context
enabled (Enabled)booleantrueWhether to strafe left

Outputs

PortTypeDescription
out (Out)execExecution output

Implementation

Strafe Right

action.strafe_right

Sets the bot's right strafe movement state (D key)

Inputs

PortTypeRequired / defaultDescription
in (In)execOptionalExecution input
bot (Bot)botOptionalOptional override of the bot in execution context
enabled (Enabled)booleantrueWhether to strafe right

Outputs

PortTypeDescription
out (Out)execExecution output

Implementation

Swing Hand

action.swing_hand

Swings the bot's arm without attacking (cosmetic swing)

Inputs

PortTypeRequired / defaultDescription
in (In)execOptionalExecution input
bot (Bot)botOptionalOptional override of the bot in execution context

Outputs

PortTypeDescription
out (Out)execExecution output

Implementation

Use Item

action.use_item

Uses the item in the bot's hand (right click)

Inputs

PortTypeRequired / defaultDescription
in (In)execOptionalExecution input
bot (Bot)botOptionalOptional override of the bot in execution context

Outputs

PortTypeDescription
out (Out)execExecution output

Implementation

Wait

action.wait (expensive operation)

Delays execution for a specified duration with optional random jitter

Inputs

PortTypeRequired / defaultDescription
in (In)execOptionalExecution input
baseMs (Duration (ms))number1000Base delay in milliseconds
jitterMs (Jitter (ms))number0Random jitter +/- this value (0 = no jitter)
minMs (Min (ms))number0Minimum delay (clamp)
maxMs (Max (ms))number60000Maximum delay (clamp)

Outputs

PortTypeDescription
out (Out)execExecution output
actualMs (Actual (ms))numberActual delay used

Implementation

Data

Can See Position

data.can_see_position

Checks if the bot has line-of-sight to a position (raytrace)

Inputs

PortTypeRequired / defaultDescription
in (In)execOptionalExecution input
bot (Bot)botOptionalOptional override of the bot in execution context
target (Target)vector3RequiredPosition to check visibility to

Outputs

PortTypeDescription
out (Out)execExecution output
visible (Visible)booleanWhether the position is visible

Implementation

Filter Bots

data.filter_bots

Filters a list of bots by name using a regex pattern

Inputs

PortTypeRequired / defaultDescription
in (In)execOptionalExecution input
bots (Bots)list<bot>RequiredList of bots to filter
pattern (Pattern)string".*"Regex pattern to match bot names

Outputs

PortTypeDescription
out (Out)execExecution output
bots (Bots)list<bot>Filtered list of bots

Implementation

Find Block

data.find_block

Finds the nearest block of a specific type within range

Inputs

PortTypeRequired / defaultDescription
in (In)execOptionalExecution input
bot (Bot)botOptionalOptional override of the bot in execution context
blockType (Block Type)string"minecraft:diamond_ore"Block ID to search for
maxDistance (Max Distance)number16Maximum search radius

Outputs

PortTypeDescription
out (Out)execExecution output
found (Found)booleanWhether a block was found
position (Position)vector3Block position
distance (Distance)numberDistance to the block

Implementation

Find Entity

data.find_entity

Finds the nearest entity of a specific type within range

Inputs

PortTypeRequired / defaultDescription
in (In)execOptionalExecution input
bot (Bot)botOptionalOptional override of the bot in execution context
entityType (Entity Type)string"any"Entity ID or 'any' for any entity
maxDistance (Max Distance)number32Maximum search radius
excludeDead (Exclude Dead)booleantrueSkip dead or non-enemy entities
playersOnly (Players Only)booleanfalseOnly return player entities
excludeBots (Exclude Bots)booleanfalseSkip other SoulFire bots in the same instance
mustBeSeen (Must Be Seen)booleanfalseOnly return entities with line-of-sight (raytrace)

Outputs

PortTypeDescription
out (Out)execExecution output
found (Found)booleanWhether an entity was found
position (Position)vector3Entity position
entityId (Entity ID)numberThe entity's ID
distance (Distance)numberDistance to the entity

Implementation

Find Item

data.find_item

Searches inventory for items by ID or food filter

Inputs

PortTypeRequired / defaultDescription
in (In)execOptionalExecution input
bot (Bot)botOptionalOptional override of the bot in execution context
itemId (Item ID)stringOptionalItem registry name to search for (empty = any)
foodOnly (Food Only)booleanfalseOnly match edible food items

Outputs

PortTypeDescription
out (Out)execExecution output
found (Found)booleanWhether a matching item was found
slot (Slot)numberInventory menu slot index of the match
itemId (Item ID)stringRegistry name of the found item
count (Count)numberStack count of the found item
isHotbar (Is Hotbar)booleanWhether the slot is in the hotbar
hotbarIndex (Hotbar Index)numberHotbar index (0-8), or -1 if not hotbar

Implementation

Get Armor

data.get_armor

Gets the bot's armor value and toughness

Inputs

PortTypeRequired / defaultDescription
in (In)execOptionalExecution input
bot (Bot)botOptionalOptional override of the bot in execution context

Outputs

PortTypeDescription
out (Out)execExecution output
armorValue (Armor)numberTotal armor points
armorToughness (Toughness)numberArmor toughness value

Implementation

Get Biome

data.get_biome

Gets the biome at the bot's current position

Inputs

PortTypeRequired / defaultDescription
in (In)execOptionalExecution input
bot (Bot)botOptionalOptional override of the bot in execution context

Outputs

PortTypeDescription
out (Out)execExecution output
biome (Biome)stringCurrent biome identifier

Implementation

Get Block

data.get_block

Gets information about a block at a specific position

Inputs

PortTypeRequired / defaultDescription
in (In)execOptionalExecution input
bot (Bot)botOptionalOptional override of the bot in execution context
x (X)number0Block X coordinate
y (Y)number64Block Y coordinate
z (Z)number0Block Z coordinate

Outputs

PortTypeDescription
out (Out)execExecution output
blockId (Block ID)stringThe block's ID
isAir (Is Air)booleanWhether the block is air
isSolid (Is Solid)booleanWhether the block is solid

Implementation

Get Bot By Name

data.get_bot_by_name

Finds a bot by its account name

Inputs

PortTypeRequired / defaultDescription
in (In)execOptionalExecution input
name (Name)string""The bot's account name

Outputs

PortTypeDescription
out (Out)execExecution output
bot (Bot)botThe found bot (null if not found)
found (Found)booleanWhether the bot was found

Implementation

Get Bot Info

data.get_bot_info

Gets basic information about the bot

Inputs

PortTypeRequired / defaultDescription
in (In)execOptionalExecution input
bot (Bot)botOptionalOptional override of the bot in execution context

Outputs

PortTypeDescription
out (Out)execExecution output
name (Name)stringBot's username
uuid (UUID)stringBot's unique identifier

Implementation

Get Bot State

data.get_bot_state

Gets various movement and state flags of the bot

Inputs

PortTypeRequired / defaultDescription
in (In)execOptionalExecution input
bot (Bot)botOptionalOptional override of the bot in execution context

Outputs

PortTypeDescription
out (Out)execExecution output
isOnGround (On Ground)booleanTrue if bot is on ground
isInWater (In Water)booleanTrue if bot is in water
isSwimming (Swimming)booleanTrue if bot is swimming
isSprinting (Sprinting)booleanTrue if bot is sprinting
isSneaking (Sneaking)booleanTrue if bot is sneaking
isFallFlying (Elytra Flying)booleanTrue if bot is elytra flying

Implementation

Get Bots

data.get_bots

Returns all connected bots in the instance

Inputs

PortTypeRequired / defaultDescription
in (In)execOptionalExecution input

Outputs

PortTypeDescription
out (Out)execExecution output
bots (Bots)list<bot>List of all connected bots

Implementation

Get Dimension

data.get_dimension

Gets the bot's current dimension

Inputs

PortTypeRequired / defaultDescription
in (In)execOptionalExecution input
bot (Bot)botOptionalOptional override of the bot in execution context

Outputs

PortTypeDescription
out (Out)execExecution output
dimension (Dimension)stringCurrent dimension name
isOverworld (Is Overworld)booleanTrue if in overworld
isNether (Is Nether)booleanTrue if in nether
isEnd (Is End)booleanTrue if in the end

Implementation

Get Effects

data.get_effects

Gets the bot's active potion effects

Inputs

PortTypeRequired / defaultDescription
in (In)execOptionalExecution input
bot (Bot)botOptionalOptional override of the bot in execution context

Outputs

PortTypeDescription
out (Out)execExecution output
effectCount (Count)numberNumber of active effects
effectNames (Effects)stringComma-separated effect names
hasEffects (Has Effects)booleanTrue if any effects are active

Implementation

Get Entity State

data.get_entity_state

Gets an entity state by integer ID or UUID, including its position, health, and game mode

Inputs

PortTypeRequired / defaultDescription
in (In)execOptionalExecution input
bot (Bot)botOptionalOptional override of the bot in execution context
entityId (Entity ID)number-1The entity's integer ID
entityUuid (Entity UUID)string""The entity's UUID (takes priority over ID)

Outputs

PortTypeDescription
out (Out)execExecution output
found (Found)booleanWhether the entity was found
position (Position)vector3Entity position
health (Health)numberCurrent health
maxHealth (Max Health)numberMaximum health
isAlive (Is Alive)booleanWhether the entity is alive
isPlayer (Is Player)booleanWhether the entity is a player
name (Name)stringEntity name or player username
gamemode (Gamemode)stringPlayer gamemode (survival, creative, etc.)
isSprinting (Is Sprinting)booleanWhether the entity is sprinting
yaw (Yaw)numberEntity yaw rotation (horizontal)
pitch (Pitch)numberEntity pitch rotation (vertical)
motion (Motion)vector3Entity motion/velocity vector

Implementation

Get Experience

data.get_experience

Gets the bot's experience level and points

Inputs

PortTypeRequired / defaultDescription
in (In)execOptionalExecution input
bot (Bot)botOptionalOptional override of the bot in execution context

Outputs

PortTypeDescription
out (Out)execExecution output
level (Level)numberCurrent experience level
totalXp (Total XP)numberTotal experience points
xpProgress (XP Progress)numberProgress to next level (0-1)

Implementation

Get Gamemode

data.get_gamemode

Gets the bot's current gamemode

Inputs

PortTypeRequired / defaultDescription
in (In)execOptionalExecution input
bot (Bot)botOptionalOptional override of the bot in execution context

Outputs

PortTypeDescription
out (Out)execExecution output
gamemode (Gamemode)stringCurrent gamemode name
isSurvival (Is Survival)booleanTrue if in survival mode
isCreative (Is Creative)booleanTrue if in creative mode
isAdventure (Is Adventure)booleanTrue if in adventure mode
isSpectator (Is Spectator)booleanTrue if in spectator mode

Implementation

Get Health

data.get_health

Gets the bot's current health and max health

Inputs

PortTypeRequired / defaultDescription
in (In)execOptionalExecution input
bot (Bot)botOptionalOptional override of the bot in execution context

Outputs

PortTypeDescription
out (Out)execExecution output
health (Health)numberCurrent health
maxHealth (Max Health)numberMaximum health

Implementation

Get Hunger

data.get_hunger

Gets the bot's food level and saturation

Inputs

PortTypeRequired / defaultDescription
in (In)execOptionalExecution input
bot (Bot)botOptionalOptional override of the bot in execution context

Outputs

PortTypeDescription
out (Out)execExecution output
foodLevel (Food Level)numberCurrent food level (0-20)
saturation (Saturation)numberCurrent saturation
needsFood (Needs Food)booleanWhether the bot needs food (food level < 20)

Implementation

Get Inventory

data.get_inventory

Gets information about an item in a specific inventory slot

Inputs

PortTypeRequired / defaultDescription
in (In)execOptionalExecution input
bot (Bot)botOptionalOptional override of the bot in execution context
slot (Slot)number0Inventory slot (0-35 main, 36-39 armor, 40 offhand)

Outputs

PortTypeDescription
out (Out)execExecution output
itemId (Item ID)stringThe item's registry ID
count (Count)numberStack count
isEmpty (Is Empty)booleanWhether the slot is empty

Implementation

Get Light Level

data.get_light_level

Gets the light level at the bot's current position

Inputs

PortTypeRequired / defaultDescription
in (In)execOptionalExecution input
bot (Bot)botOptionalOptional override of the bot in execution context

Outputs

PortTypeDescription
out (Out)execExecution output
blockLight (Block Light)numberLight from blocks (0-15)
skyLight (Sky Light)numberLight from sky (0-15)
combinedLight (Combined)numberMaximum of block and sky light

Implementation

Get Position

data.get_position

Gets the bot's current position in the world

Inputs

PortTypeRequired / defaultDescription
in (In)execOptionalExecution input
bot (Bot)botOptionalOptional override of the bot in execution context

Outputs

PortTypeDescription
out (Out)execExecution output
position (Position)vector3Current position

Implementation

Get Rotation

data.get_rotation

Gets the bot's current rotation (yaw and pitch)

Inputs

PortTypeRequired / defaultDescription
in (In)execOptionalExecution input
bot (Bot)botOptionalOptional override of the bot in execution context

Outputs

PortTypeDescription
out (Out)execExecution output
yaw (Yaw)numberHorizontal rotation (-180 to 180)
pitch (Pitch)numberVertical rotation (-90 to 90)

Implementation

Get Selected Slot

data.get_selected_slot

Gets the bot's currently selected hotbar slot and item

Inputs

PortTypeRequired / defaultDescription
in (In)execOptionalExecution input
bot (Bot)botOptionalOptional override of the bot in execution context

Outputs

PortTypeDescription
out (Out)execExecution output
slot (Slot)numberSelected hotbar slot (0-8)
itemId (Item ID)stringItem in selected slot
itemCount (Count)numberStack count in selected slot

Implementation

Get Target Block

data.get_target_block

Gets the block the bot is currently looking at (raycast)

Inputs

PortTypeRequired / defaultDescription
in (In)execOptionalExecution input
bot (Bot)botOptionalOptional override of the bot in execution context
maxDistance (Max Distance)number5Maximum raycast distance

Outputs

PortTypeDescription
out (Out)execExecution output
found (Found)booleanTrue if a block was found
blockId (Block ID)stringBlock identifier
position (Position)vector3Block position
distance (Distance)numberDistance to block

Implementation

Get Time

data.get_time

Gets the current game time and day/night status

Inputs

PortTypeRequired / defaultDescription
in (In)execOptionalExecution input
bot (Bot)botOptionalOptional override of the bot in execution context

Outputs

PortTypeDescription
out (Out)execExecution output
gameTime (Game Time)numberTotal game time in ticks
dayTime (Day Time)numberTime of day (0-24000)
isDay (Is Day)booleanTrue if daytime (6000-18000)
isNight (Is Night)booleanTrue if nighttime

Implementation

Get Velocity

data.get_velocity

Gets the bot's current velocity and speed

Inputs

PortTypeRequired / defaultDescription
in (In)execOptionalExecution input
bot (Bot)botOptionalOptional override of the bot in execution context

Outputs

PortTypeDescription
out (Out)execExecution output
velocity (Velocity)vector3Current velocity vector
speed (Speed)numberMovement speed (magnitude)

Implementation

Get Weather

data.get_weather

Gets the current weather conditions

Inputs

PortTypeRequired / defaultDescription
in (In)execOptionalExecution input
bot (Bot)botOptionalOptional override of the bot in execution context

Outputs

PortTypeDescription
out (Out)execExecution output
isRaining (Is Raining)booleanTrue if raining
isThundering (Is Thundering)booleanTrue if thunderstorm
rainLevel (Rain Level)numberRain intensity (0-1)
thunderLevel (Thunder Level)numberThunder intensity (0-1)

Implementation

Is Container Open

data.is_container_open

Checks if a container or inventory screen is open

Inputs

PortTypeRequired / defaultDescription
in (In)execOptionalExecution input
bot (Bot)botOptionalOptional override of the bot in execution context

Outputs

PortTypeDescription
out (Out)execExecution output
isOpen (Is Open)booleanWhether a container or inventory screen is open

Implementation

Flow Control

Branch

flow.branch

Branches execution based on a boolean condition

Inputs

PortTypeRequired / defaultDescription
in (In)execOptionalExecution input
condition (Condition)booleanfalseCondition to evaluate

Outputs

PortTypeDescription
exec_true (True)execExecutes if condition is true
exec_false (False)execExecutes if condition is false
branch (Branch)stringWhich branch was taken
condition (Condition)booleanThe evaluated condition

Implementation

Debounce

flow.debounce

Rate-limits execution by enforcing a cooldown period

Inputs

PortTypeRequired / defaultDescription
in (In)execOptionalExecution input
cooldownMs (Cooldown (ms))number1000Milliseconds between allowed executions
key (Key)string"default"Unique key for this debounce

Outputs

PortTypeDescription
exec_allowed (Allowed)execExecution path if cooldown elapsed
exec_denied (Denied)execExecution path if still in cooldown
allowed (Allowed)booleanWhether execution was allowed
remainingMs (Remaining (ms))numberMilliseconds until next allowed execution

Implementation

For Each

flow.foreach

Iterates over each item in a list

Inputs

PortTypeRequired / defaultDescription
in (In)execOptionalExecution input
items (Items)list<T>RequiredList of items to iterate

Outputs

PortTypeDescription
exec_loop (Loop)execExecutes for each item
exec_done (Done)execExecutes when iteration completes
item (Item)TCurrent item
index (Index)numberCurrent index
isComplete (Complete)booleanWhether iteration is done
size (Size)numberTotal items count

Implementation

For Each Bot

flow.foreach_bot

Iterates over each bot in a list

Inputs

PortTypeRequired / defaultDescription
in (In)execOptionalExecution input
bots (Bots)list<bot>RequiredList of bots to iterate

Outputs

PortTypeDescription
exec_loop (Loop)execExecutes for each bot
exec_done (Done)execExecutes when iteration completes
bot (Bot)botCurrent bot in iteration
index (Index)numberCurrent bot index
count (Count)numberTotal number of bots
isComplete (Complete)booleanWhether iteration is done

Implementation

Gate

flow.gate

Conditionally passes through execution and values

Inputs

PortTypeRequired / defaultDescription
in (In)execOptionalExecution input
condition (Condition)booleantrueWhether to allow pass-through
value (Value)anyRequiredValue to pass through

Outputs

PortTypeDescription
exec_allowed (Allowed)execExecutes if condition is true
exec_blocked (Blocked)execExecutes if condition is false
passed (Passed)booleanWhether execution was allowed
value (Value)anyThe passed-through value

Implementation

Loop

flow.loop

Repeats execution a specified number of times

Inputs

PortTypeRequired / defaultDescription
in (In)execOptionalExecution input
count (Count)number10Number of iterations

Outputs

PortTypeDescription
exec_loop (Loop)execExecutes for each iteration
exec_done (Done)execExecutes when loop completes
index (Index)numberCurrent iteration index
isComplete (Complete)booleanWhether loop is done
count (Count)numberTotal iteration count

Implementation

Rate Limit

flow.rate_limit

Limits execution rate using a token bucket algorithm

Inputs

PortTypeRequired / defaultDescription
in (In)execOptionalExecution input
key (Key)string"default"Unique key for this rate limiter
maxTokens (Max Tokens)number10Maximum tokens in bucket
refillRate (Refill Rate)number1Tokens added per second
tokensRequired (Tokens Required)number1Tokens consumed per execution

Outputs

PortTypeDescription
exec_allowed (Allowed)execExecution path if allowed
exec_denied (Denied)execExecution path if rate limited
wasAllowed (Was Allowed)booleanWhether execution was allowed
tokensRemaining (Tokens Remaining)numberTokens left in bucket
retryAfterMs (Retry After (ms))numberMilliseconds until tokens available

Implementation

Repeat Until

flow.repeat_until

Repeats execution until a condition is met (do-while semantics)

Inputs

PortTypeRequired / defaultDescription
in (In)execOptionalExecution input
maxIterations (Max Iterations)number10000Safety limit

Outputs

PortTypeDescription
exec_loop (Loop)execExecutes for each iteration
exec_check (Check)execEvaluates condition after each iteration (must end with a Result node)
exec_done (Done)execExecutes when condition is met or limit reached
index (Index)numberCurrent iteration index
conditionMet (Condition Met)booleanWhether the condition was met (false if limit reached)

Implementation

Result

flow.result

Reports a boolean result back to a loop's check chain

Inputs

PortTypeRequired / defaultDescription
in (In)execOptionalExecution input
value (Value)booleanfalseThe boolean result to report back to the enclosing loop

Outputs

None.

Implementation

Sequence

flow.sequence

Executes multiple branches in order

Inputs

PortTypeRequired / defaultDescription
in (In)execOptionalExecution input
branchCount (Branch Count)number2Number of branches to execute

Outputs

PortTypeDescription
exec_0 (Then 0)execFirst branch
exec_1 (Then 1)execSecond branch
exec_2 (Then 2)execThird branch
exec_3 (Then 3)execFourth branch
exec_4 (Then 4)execFifth branch
exec_5 (Then 5)execSixth branch
exec_6 (Then 6)execSeventh branch
exec_7 (Then 7)execEighth branch
branchCount (Branch Count)numberNumber of branches

Implementation

Switch

flow.switch

Performs a multi-way branch based on a value

Inputs

PortTypeRequired / defaultDescription
in (In)execOptionalExecution input
value (Value)string""Value to switch on
cases (Cases)string"case1,case2,case3"Comma-separated case values

Outputs

PortTypeDescription
exec_default (Default)execExecutes if no case matches
exec_case0 (Case 0)execExecutes if case 0 matches
exec_case1 (Case 1)execExecutes if case 1 matches
exec_case2 (Case 2)execExecutes if case 2 matches
exec_case3 (Case 3)execExecutes if case 3 matches
exec_case4 (Case 4)execExecutes if case 4 matches
exec_case5 (Case 5)execExecutes if case 5 matches
exec_case6 (Case 6)execExecutes if case 6 matches
exec_case7 (Case 7)execExecutes if case 7 matches
branch (Branch)stringWhich case matched
caseIndex (Case Index)numberIndex of matched case (-1 for default)
matched (Matched)booleanWhether any case matched

Implementation

Logic

And

logic.and

Returns true if both inputs are true

Inputs

PortTypeRequired / defaultDescription
a (A)booleanfalseFirst boolean
b (B)booleanfalseSecond boolean

Outputs

PortTypeDescription
result (Result)booleanA AND B

Implementation

Compare

logic.compare

Compares two values using a specified operator

Inputs

PortTypeRequired / defaultDescription
a (A)number0First value
b (B)number0Second value
operator (Operator)string"=="Comparison operator (==, !=, <, >, <=, >=)

Outputs

PortTypeDescription
result (Result)booleanComparison result

Implementation

Not

logic.not

Inverts a boolean value

Inputs

PortTypeRequired / defaultDescription
value (Value)booleanfalseBoolean to negate

Outputs

PortTypeDescription
result (Result)booleanNOT value

Implementation

Or

logic.or

Returns true if either input is true

Inputs

PortTypeRequired / defaultDescription
a (A)booleanfalseFirst boolean
b (B)booleanfalseSecond boolean

Outputs

PortTypeDescription
result (Result)booleanA OR B

Implementation

Xor

logic.xor

Returns true if exactly one input is true

Inputs

PortTypeRequired / defaultDescription
a (A)booleanfalseFirst boolean
b (B)booleanfalseSecond boolean

Outputs

PortTypeDescription
result (Result)booleanA XOR B

Implementation

Math

Absolute

math.abs

Returns the absolute value of a number

Inputs

PortTypeRequired / defaultDescription
value (Value)number0Input number

Outputs

PortTypeDescription
result (Result)numberAbsolute value

Implementation

Add

math.add

Adds two numbers together

Inputs

PortTypeRequired / defaultDescription
a (A)number0First number
b (B)number0Second number

Outputs

PortTypeDescription
result (Result)numberSum of A and B

Implementation

B-Spline

math.bspline

Performs cubic B-spline curve interpolation

Inputs

PortTypeRequired / defaultDescription
p0 (P0)number0First control point
p1 (P1)number0Second control point
p2 (P2)number1Third control point
p3 (P3)number1Fourth control point
t (T)number0.5Interpolation factor (0-1)

Outputs

PortTypeDescription
result (Result)numberInterpolated value

Implementation

Ceiling

math.ceil

Rounds a number up to the nearest integer

Inputs

PortTypeRequired / defaultDescription
value (Value)number0Input number

Outputs

PortTypeDescription
result (Result)numberRounded up value

Implementation

Clamp

math.clamp

Constrains a value within a range

Inputs

PortTypeRequired / defaultDescription
value (Value)number0Value to clamp
min (Min)number0Minimum bound
max (Max)number1Maximum bound

Outputs

PortTypeDescription
result (Result)numberClamped value

Implementation

Cosine

math.cos

Calculates the cosine of an angle in degrees

Inputs

PortTypeRequired / defaultDescription
angle (Angle)number0Angle in degrees

Outputs

PortTypeDescription
result (Result)numberCosine of angle

Implementation

Distance

math.distance

Calculates the distance between two 3D points

Inputs

PortTypeRequired / defaultDescription
a (Point A)vector3RequiredFirst 3D point
b (Point B)vector3RequiredSecond 3D point

Outputs

PortTypeDescription
distance (Distance)numberDistance between points

Implementation

Divide

math.divide

Divides A by B

Inputs

PortTypeRequired / defaultDescription
a (A)number0Dividend
b (B)number1Divisor

Outputs

PortTypeDescription
result (Result)numberA divided by B

Implementation

Floor

math.floor

Rounds a number down to the nearest integer

Inputs

PortTypeRequired / defaultDescription
value (Value)number0Input number

Outputs

PortTypeDescription
result (Result)numberRounded down value

Implementation

Formula

math.formula

Evaluates a custom mathematical expression

Inputs

PortTypeRequired / defaultDescription
expression (Expression)string"a + b"Mathematical expression
a (A)number0Variable a
b (B)number0Variable b
c (C)number0Variable c
d (D)number0Variable d
e (E)number0Variable e
f (F)number0Variable f

Outputs

PortTypeDescription
result (Result)numberExpression result
error (Error)stringError message if any

Implementation

Lerp

math.lerp

Linearly interpolates between two values

Inputs

PortTypeRequired / defaultDescription
a (A)number0Start value
b (B)number1End value
t (T)number0.5Interpolation factor (0-1)

Outputs

PortTypeDescription
result (Result)numberInterpolated value

Implementation

Maximum

math.max

Returns the larger of two numbers

Inputs

PortTypeRequired / defaultDescription
a (A)number0First number
b (B)number0Second number

Outputs

PortTypeDescription
result (Result)numberLarger of A and B

Implementation

Minimum

math.min

Returns the smaller of two numbers

Inputs

PortTypeRequired / defaultDescription
a (A)number0First number
b (B)number0Second number

Outputs

PortTypeDescription
result (Result)numberSmaller of A and B

Implementation

Modulo

math.modulo

Computes the remainder of A divided by B

Inputs

PortTypeRequired / defaultDescription
a (A)number0Dividend
b (B)number1Divisor

Outputs

PortTypeDescription
result (Result)numberRemainder of A divided by B

Implementation

Multiply

math.multiply

Multiplies two numbers together

Inputs

PortTypeRequired / defaultDescription
a (A)number0First number
b (B)number0Second number

Outputs

PortTypeDescription
result (Result)numberA times B

Implementation

Power

math.pow

Raises a number to a power

Inputs

PortTypeRequired / defaultDescription
base (Base)number0Base number
exponent (Exponent)number1Exponent

Outputs

PortTypeDescription
result (Result)numberBase raised to exponent

Implementation

Random

math.random

Generates a random number within a range

Inputs

PortTypeRequired / defaultDescription
min (Min)number0Minimum value
max (Max)number1Maximum value

Outputs

PortTypeDescription
result (Result)numberRandom number between min and max

Implementation

Round

math.round

Rounds a number to the nearest integer

Inputs

PortTypeRequired / defaultDescription
value (Value)number0Input number

Outputs

PortTypeDescription
result (Result)numberRounded value

Implementation

Sine

math.sin

Calculates the sine of an angle in degrees

Inputs

PortTypeRequired / defaultDescription
angle (Angle)number0Angle in degrees

Outputs

PortTypeDescription
result (Result)numberSine of angle

Implementation

Square Root

math.sqrt

Calculates the square root of a number

Inputs

PortTypeRequired / defaultDescription
value (Value)number0Input number

Outputs

PortTypeDescription
result (Result)numberSquare root

Implementation

Subtract

math.subtract

Subtracts B from A

Inputs

PortTypeRequired / defaultDescription
a (A)number0First number
b (B)number0Second number

Outputs

PortTypeDescription
result (Result)numberA minus B

Implementation

Tangent

math.tan

Calculates the tangent of an angle in degrees

Inputs

PortTypeRequired / defaultDescription
angle (Angle)number0Angle in degrees

Outputs

PortTypeDescription
result (Result)numberTangent of angle

Implementation

String

Concat

string.concat

Concatenates two strings together

Inputs

PortTypeRequired / defaultDescription
a (A)string""First string
b (B)string""Second string

Outputs

PortTypeDescription
result (Result)stringConcatenated string

Implementation

Ends With

string.ends_with

Checks if a string ends with a suffix

Inputs

PortTypeRequired / defaultDescription
text (Text)string""Input string to check
suffix (Suffix)string""Suffix to check for
ignoreCase (Ignore Case)booleanfalseWhether to ignore case when checking

Outputs

PortTypeDescription
result (Result)booleanTrue if text ends with suffix

Implementation

Format

string.format

Formats a template string by replacing placeholders such as 0 and 1 with arguments

Inputs

PortTypeRequired / defaultDescription
template (Template)string""Template string with 0, 1, etc. placeholders
args (Arguments)list<any>RequiredList of values to substitute into placeholders

Outputs

PortTypeDescription
result (Result)stringFormatted string

Implementation

Index Of

string.index_of

Finds the index of the first occurrence of a substring

Inputs

PortTypeRequired / defaultDescription
text (Text)string""Input string to search in
search (Search)string""Substring to search for
ignoreCase (Ignore Case)booleanfalseWhether to ignore case when searching

Outputs

PortTypeDescription
index (Index)numberIndex of first occurrence (-1 if not found)

Implementation

Regex Match

string.regex_match

Tests if a string matches a regex pattern and extracts capture groups

Inputs

PortTypeRequired / defaultDescription
input (Input)stringRequiredString to test
pattern (Pattern)stringRequiredRegex pattern
flags (Flags)string""Regex flags (i=case-insensitive, m=multiline, s=dotall)

Outputs

PortTypeDescription
matches (Matches)booleanWhether the pattern matched
fullMatch (Full Match)stringThe entire matched string
groups (Groups)list<string>List of captured groups
allMatches (All Matches)list<string>All matches found
error (Error)stringError message if pattern is invalid

Implementation

Regex Replace

string.regex_replace

Replaces matches of a regex pattern with a replacement string

Inputs

PortTypeRequired / defaultDescription
input (Input)stringRequiredString to modify
pattern (Pattern)stringRequiredRegex pattern to match
replacement (Replacement)stringRequiredReplacement string (supports $1, $2 for groups)
replaceAll (Replace All)booleantrueReplace all matches or just first
flags (Flags)string""Regex flags

Outputs

PortTypeDescription
result (Result)stringString with replacements made
count (Count)numberNumber of replacements made
error (Error)stringError message if pattern is invalid

Implementation

Replace

string.replace

Replaces occurrences of a substring with another string

Inputs

PortTypeRequired / defaultDescription
text (Text)string""Input string
search (Search)string""Substring to search for
replacement (Replacement)string""Replacement string
replaceAll (Replace All)booleantrueReplace all occurrences or just the first

Outputs

PortTypeDescription
result (Result)stringString with replacements made

Implementation

Split

string.split

Splits a string into a list by a delimiter

Inputs

PortTypeRequired / defaultDescription
text (Text)string""Input string to split
delimiter (Delimiter)string" "Delimiter to split by

Outputs

PortTypeDescription
result (Result)list<string>List of split strings

Implementation

Starts With

string.starts_with

Checks if a string starts with a prefix

Inputs

PortTypeRequired / defaultDescription
text (Text)string""Input string to check
prefix (Prefix)string""Prefix to check for
ignoreCase (Ignore Case)booleanfalseWhether to ignore case when checking

Outputs

PortTypeDescription
result (Result)booleanTrue if text starts with prefix

Implementation

String Contains

string.contains

Checks if a string contains a substring

Inputs

PortTypeRequired / defaultDescription
text (Text)string""Input string to search in
search (Search)string""Substring to search for
ignoreCase (Ignore Case)booleanfalseWhether to ignore case when searching

Outputs

PortTypeDescription
result (Result)booleanTrue if text contains search string

Implementation

String Length

string.length

Returns the length of a string

Inputs

PortTypeRequired / defaultDescription
text (Text)string""Input string

Outputs

PortTypeDescription
length (Length)numberLength of the string

Implementation

Substring

string.substring

Extracts a substring from start index to end index

Inputs

PortTypeRequired / defaultDescription
text (Text)string""Input string
start (Start)number0Start index (inclusive)
end (End)number-1End index (exclusive, -1 for end of string)

Outputs

PortTypeDescription
result (Result)stringExtracted substring

Implementation

To Lower Case

string.to_lower_case

Converts a string to lowercase

Inputs

PortTypeRequired / defaultDescription
text (Text)string""Input string

Outputs

PortTypeDescription
result (Result)stringLowercase string

Implementation

To Upper Case

string.to_upper_case

Converts a string to uppercase

Inputs

PortTypeRequired / defaultDescription
text (Text)string""Input string

Outputs

PortTypeDescription
result (Result)stringUppercase string

Implementation

Trim

string.trim

Removes whitespace from both ends of a string

Inputs

PortTypeRequired / defaultDescription
text (Text)string""Input string

Outputs

PortTypeDescription
result (Result)stringTrimmed string

Implementation

Collection

Collection Add

collection.add

Returns a new collection with the item added

Inputs

PortTypeRequired / defaultDescription
collection (Collection)CRequiredThe collection to extend
item (Item)TRequiredThe item to add

Outputs

PortTypeDescription
collection (Collection)CThe updated collection

Implementation

Collection Add All

collection.add_all

Returns a new collection with all items from another collection added

Inputs

PortTypeRequired / defaultDescription
collection (Collection)CRequiredThe collection to extend
other (Other)DRequiredThe collection whose items should be added

Outputs

PortTypeDescription
collection (Collection)CThe updated collection

Implementation

Collection Contains

collection.contains

Checks if a list or set contains a specific item

Inputs

PortTypeRequired / defaultDescription
collection (Collection)CRequiredThe collection to search in
item (Item)TRequiredThe item to search for

Outputs

PortTypeDescription
result (Result)booleanWhether the collection contains the item

Implementation

Collection Is Empty

collection.is_empty

Checks if a list or set is empty

Inputs

PortTypeRequired / defaultDescription
collection (Collection)CRequiredThe collection to inspect

Outputs

PortTypeDescription
result (Result)booleanWhether the collection is empty

Implementation

Collection Remove

collection.remove

Returns a new collection with the first matching item removed

Inputs

PortTypeRequired / defaultDescription
collection (Collection)CRequiredThe collection to modify
item (Item)TRequiredThe item to remove

Outputs

PortTypeDescription
collection (Collection)CThe updated collection

Implementation

Collection Remove All

collection.remove_all

Returns a new collection with all matching items removed

Inputs

PortTypeRequired / defaultDescription
collection (Collection)CRequiredThe collection to modify
other (Other)DRequiredItems to remove

Outputs

PortTypeDescription
collection (Collection)CThe updated collection

Implementation

Collection Retain All

collection.retain_all

Returns a new collection that keeps only items present in the other collection

Inputs

PortTypeRequired / defaultDescription
collection (Collection)CRequiredThe collection to modify
other (Other)DRequiredItems to retain

Outputs

PortTypeDescription
collection (Collection)CThe updated collection

Implementation

Collection Size

collection.size

Returns the size of a list or set

Inputs

PortTypeRequired / defaultDescription
collection (Collection)CRequiredThe collection to measure

Outputs

PortTypeDescription
size (Size)numberThe number of items in the collection

Implementation

Collection to List

collection.to_list

Converts a collection to a list

Inputs

PortTypeRequired / defaultDescription
collection (Collection)CRequiredThe collection to convert

Outputs

PortTypeDescription
list (List)list<any>The collection as an ordered list

Implementation

Collection to Set

collection.to_set

Converts a collection to a set

Inputs

PortTypeRequired / defaultDescription
collection (Collection)CRequiredThe collection to convert

Outputs

PortTypeDescription
set (Set)set<any>The collection as an ordered set

Implementation

List Add

list.add

Returns a new list with an item appended

Inputs

PortTypeRequired / defaultDescription
list (List)list<T>RequiredThe list to extend
item (Item)TRequiredThe item to append

Outputs

PortTypeDescription
list (List)list<T>The updated list

Implementation

List Create

list.create

Creates a native list from ordered inputs

Inputs

PortTypeRequired / defaultDescription
items (Items)anyOptionalItems to include in the list Multi-input collection is not implemented by the reactive engine.

Outputs

PortTypeDescription
list (List)list<any>The created list

Implementation

List Remove At

list.remove_at

Returns a new list with the item at the given index removed

Inputs

PortTypeRequired / defaultDescription
list (List)list<T>RequiredThe list to modify
index (Index)numberRequiredThe index to remove

Outputs

PortTypeDescription
list (List)list<T>The updated list

Implementation

Map Keys

map.keys

Returns the keys of a map/object as a list

Inputs

PortTypeRequired / defaultDescription
map (Map)mapRequiredThe map whose keys should be returned

Outputs

PortTypeDescription
keys (Keys)list<string>The keys of the map

Implementation

Map Values

map.values

Returns the values of a map/object as a list in insertion order

Inputs

PortTypeRequired / defaultDescription
map (Map)mapRequiredThe map whose values should be returned

Outputs

PortTypeDescription
values (Values)list<any>The values of the map

Implementation

Set Create

set.create

Creates a native set from inputs while preserving first-seen order

Inputs

PortTypeRequired / defaultDescription
items (Items)anyOptionalItems to include in the set Multi-input collection is not implemented by the reactive engine.

Outputs

PortTypeDescription
set (Set)set<any>The created set

Implementation

List

First

list.first

Gets the first item in a list

Inputs

PortTypeRequired / defaultDescription
list (List)list<T>RequiredThe input list

Outputs

PortTypeDescription
item (Item)TThe first item in the list
found (Found)booleanWhether the list was non-empty

Implementation

Get At Index

list.get_at

Gets an item at a specific index in a list

Inputs

PortTypeRequired / defaultDescription
list (List)list<T>RequiredThe input list
index (Index)number0The index to retrieve (0-based)

Outputs

PortTypeDescription
item (Item)TThe item at the specified index
found (Found)booleanWhether the index was valid

Implementation

Join to String

list.join

Joins list items into a string with a separator

Inputs

PortTypeRequired / defaultDescription
list (List)list<T>RequiredThe list to join
separator (Separator)string", "The separator between items

Outputs

PortTypeDescription
result (Result)stringThe joined string

Implementation

Last

list.last

Gets the last item in a list

Inputs

PortTypeRequired / defaultDescription
list (List)list<T>RequiredThe input list

Outputs

PortTypeDescription
item (Item)TThe last item in the list
found (Found)booleanWhether the list was non-empty

Implementation

List Contains

list.contains

Checks if a list contains a specific item

Inputs

PortTypeRequired / defaultDescription
list (List)list<T>RequiredThe list to search in
item (Item)TRequiredThe item to search for

Outputs

PortTypeDescription
result (Result)booleanWhether the list contains the item

Implementation

List Length

list.length

Returns the length of a list

Inputs

PortTypeRequired / defaultDescription
list (List)list<T>RequiredThe input list

Outputs

PortTypeDescription
length (Length)numberNumber of items in the list

Implementation

Range

list.range

Generates a list of numbers from start to end with a given step

Inputs

PortTypeRequired / defaultDescription
start (Start)number0Starting value (inclusive)
end (End)number10Ending value (exclusive)
step (Step)number1Step increment between values

Outputs

PortTypeDescription
list (List)list<number>Generated list of numbers

Implementation

Constants

Boolean

constant.boolean

Outputs a constant boolean value

Inputs

PortTypeRequired / defaultDescription
value (Value)booleanfalseThe constant value

Outputs

PortTypeDescription
value (Value)booleanThe constant value

Implementation

Number

constant.number

Outputs a constant number value

Inputs

PortTypeRequired / defaultDescription
value (Value)number0The constant value

Outputs

PortTypeDescription
value (Value)numberThe constant value

Implementation

String

constant.string

Outputs a constant string value

Inputs

PortTypeRequired / defaultDescription
value (Value)stringOptionalThe constant value

Outputs

PortTypeDescription
value (Value)stringThe constant value

Implementation

Vector3

constant.vector3

Outputs a constant 3D vector with both a typed vector and x, y, z components

Inputs

PortTypeRequired / defaultDescription
x (X)number0X component
y (Y)number0Y component
z (Z)number0Z component

Outputs

PortTypeDescription
vector (Vector)vector3Vector value
x (X)numberX component
y (Y)numberY component
z (Z)numberZ component

Implementation

Utility

Create Vector3

util.create_vector3

Creates a 3D vector from x, y, z components

Inputs

PortTypeRequired / defaultDescription
x (X)number0X component
y (Y)number0Y component
z (Z)number0Z component

Outputs

PortTypeDescription
vector (Vector)vector3Created 3D vector

Implementation

Is Empty

util.is_empty

Checks if a value is null or empty (works with strings and lists)

Inputs

PortTypeRequired / defaultDescription
value (Value)anyRequiredValue to check for empty

Outputs

PortTypeDescription
result (Result)booleanTrue if value is null or empty

Implementation

Is Null

util.is_null

Checks if a value is null

Inputs

PortTypeRequired / defaultDescription
value (Value)anyRequiredValue to check for null

Outputs

PortTypeDescription
result (Result)booleanTrue if value is null

Implementation

Split Vector3

util.split_vector3

Splits a 3D vector into x, y, z components

Inputs

PortTypeRequired / defaultDescription
vector (Vector)vector3Required3D vector to split

Outputs

PortTypeDescription
x (X)numberX component
y (Y)numberY component
z (Z)numberZ component

Implementation

Timestamp

utility.timestamp

Gets the current timestamp in various formats

Inputs

PortTypeRequired / defaultDescription
in (In)execOptionalExecution input
format (Format)string""Date format pattern (empty = epoch ms)
timezone (Timezone)string"UTC"Timezone ID (e.g., America/New_York)

Outputs

PortTypeDescription
out (Out)execExecution output
timestamp (Timestamp)numberEpoch milliseconds
formatted (Formatted)stringFormatted date string
iso (ISO)stringISO 8601 formatted string

Implementation

To Number

util.to_number

Parses a string to a number

Inputs

PortTypeRequired / defaultDescription
value (Value)stringOptionalValue to parse as number
default (Default)number0Default value if parsing fails

Outputs

PortTypeDescription
result (Result)numberParsed number or default
success (Success)booleanWhether parsing succeeded

Implementation

To String

util.to_string

Converts any value to a string

Inputs

PortTypeRequired / defaultDescription
value (Value)anyRequiredValue to convert

Outputs

PortTypeDescription
result (Result)stringString representation

Implementation

Network

Web Fetch

network.web_fetch (expensive operation)

Performs HTTP requests with full control over method, headers, and body

Inputs

PortTypeRequired / defaultDescription
in (In)execOptionalExecution input
url (URL)stringRequiredThe URL to fetch
method (Method)string"GET"HTTP method (GET, POST, PUT, DELETE, PATCH, HEAD, OPTIONS)
headers (Headers)string"{}"JSON object of headers
body (Body)string""Request body (for POST/PUT/PATCH)
timeout (Timeout)number30000Timeout in milliseconds

Outputs

PortTypeDescription
exec_success (Success)execExecutes on successful request
exec_error (Error)execExecutes on failed request
response (Response)stringResponse body as string
statusCode (Status Code)numberHTTP status code
responseHeaders (Response Headers)stringResponse headers as JSON object
success (Success)booleanWhether request succeeded (2xx status)
errorMessage (Error Message)stringError message if failed

Implementation

AI

LLM Chat

ai.llm_chat (expensive operation)

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

Inputs

PortTypeRequired / defaultDescription
in (In)execOptionalExecution input
bot (Bot)botOptionalOptional override of the bot in execution context
prompt (Prompt)stringRequiredThe prompt/message to send
systemPrompt (System Prompt)string""Optional system prompt for context
model (Model)string""Model override (empty = use bot default)
temperature (Temperature)number0.7Creativity (0.0-2.0)
maxTokens (Max Tokens)number1024Maximum response tokens

Outputs

PortTypeDescription
exec_success (Success)execExecutes on successful response
exec_error (Error)execExecutes on failed request
response (Response)stringLLM response text
success (Success)booleanWhether the request succeeded
errorMessage (Error Message)stringError message if failed
tokensUsed (Tokens Used)numberTotal tokens used

Implementation

JSON

JSON Array

json.array

Creates a JSON array from multiple inputs

Inputs

PortTypeRequired / defaultDescription
items (Items)anyOptionalItems to include in array Multi-input collection is not implemented by the reactive engine.

Outputs

PortTypeDescription
array (Array)stringJSON array string

Implementation

JSON Get

json.get

Extracts a value from JSON using a path expression

Inputs

PortTypeRequired / defaultDescription
json (JSON)stringRequiredJSON string or object
path (Path)stringRequiredPath expression (e.g., data.users[0].name)
defaultValue (Default)anynullValue if path not found

Outputs

PortTypeDescription
value (Value)anyExtracted value
found (Found)booleanWhether the path was found

Implementation

JSON Object

json.object

Creates a JSON object from key-value pairs

Inputs

PortTypeRequired / defaultDescription
keys (Keys)list<string>RequiredList of keys
values (Values)list<any>RequiredList of values

Outputs

PortTypeDescription
object (Object)stringJSON object string

Implementation

JSON Parse

json.parse

Parses a JSON string into a usable object

Inputs

PortTypeRequired / defaultDescription
json (JSON)stringRequiredJSON string to parse

Outputs

PortTypeDescription
result (Result)anyParsed JSON value
success (Success)booleanWhether parsing succeeded
errorMessage (Error Message)stringParse error if failed

Implementation

JSON Set

json.set

Sets a value in JSON at a specified path

Inputs

PortTypeRequired / defaultDescription
json (JSON)string"{}"JSON string to modify
path (Path)stringRequiredPath where to set value
value (Value)anyRequiredValue to set

Outputs

PortTypeDescription
result (Result)stringModified JSON string
success (Success)booleanWhether the operation succeeded

Implementation

JSON Stringify

json.stringify

Converts a value to a JSON string with optional pretty printing

Inputs

PortTypeRequired / defaultDescription
value (Value)anyRequiredValue to convert
pretty (Pretty)booleanfalsePretty print with indentation

Outputs

PortTypeDescription
json (JSON)stringJSON string representation

Implementation

Encoding

Base64 Decode

encoding.base64_decode

Decodes a Base64 string

Inputs

PortTypeRequired / defaultDescription
input (Input)stringRequiredBase64 string to decode
urlSafe (URL Safe)booleanfalseInput uses URL-safe alphabet

Outputs

PortTypeDescription
decoded (Decoded)stringDecoded string
success (Success)booleanWhether decoding succeeded

Implementation

Base64 Encode

encoding.base64_encode

Encodes a string to Base64

Inputs

PortTypeRequired / defaultDescription
input (Input)stringRequiredString to encode
urlSafe (URL Safe)booleanfalseUse URL-safe alphabet

Outputs

PortTypeDescription
encoded (Encoded)stringBase64 encoded string

Implementation

Compress/Decompress

encoding.compress

Compresses or decompresses data using GZIP

Inputs

PortTypeRequired / defaultDescription
input (Input)stringRequiredData to compress/decompress
decompress (Decompress)booleanfalseDecompress instead of compress

Outputs

PortTypeDescription
output (Output)stringCompressed (base64) or decompressed data
success (Success)booleanWhether operation succeeded
ratio (Ratio)numberCompression ratio (original/compressed)

Implementation

Decrypt

encoding.decrypt

Decrypts an AES-encrypted string

Inputs

PortTypeRequired / defaultDescription
ciphertext (Ciphertext)stringRequiredBase64-encoded encrypted data
key (Key)stringRequiredDecryption key

Outputs

PortTypeDescription
plaintext (Plaintext)stringDecrypted text
success (Success)booleanWhether decryption succeeded
errorMessage (Error Message)stringError message if failed

Implementation

Encrypt

encoding.encrypt

Encrypts a string using AES encryption

Inputs

PortTypeRequired / defaultDescription
plaintext (Plaintext)stringRequiredText to encrypt
key (Key)stringRequiredEncryption key (will be hashed to 256 bits)

Outputs

PortTypeDescription
ciphertext (Ciphertext)stringBase64-encoded encrypted data (includes IV)
success (Success)booleanWhether encryption succeeded
errorMessage (Error Message)stringError message if failed

Implementation

Hash

encoding.hash

Computes a cryptographic hash of the input

Inputs

PortTypeRequired / defaultDescription
input (Input)stringRequiredString to hash
algorithm (Algorithm)string"SHA-256"Hash algorithm (MD5, SHA-1, SHA-256, SHA-512)
encoding (Encoding)string"hex"Output encoding (hex, base64)

Outputs

PortTypeDescription
hash (Hash)stringComputed hash
success (Success)booleanWhether hashing succeeded

Implementation

State

Cache

state.cache

In-memory key-value cache with optional TTL

Inputs

PortTypeRequired / defaultDescription
operation (Operation)string"get"Operation: get, set, delete, clear, has
key (Key)string""Cache key
value (Value)anynullValue to store (for set)
ttlMs (TTL (ms))number0Time-to-live (0 = no expiry)
namespace (Namespace)string"default"Cache namespace

Outputs

PortTypeDescription
value (Value)anyRetrieved value
found (Found)booleanWhether key was found
success (Success)booleanWhether operation succeeded

Implementation

State Machine

state.state_machine

Simple state machine for bot behavior management

Inputs

PortTypeRequired / defaultDescription
in (In)execOptionalExecution input
bot (Bot)botOptionalOptional override of the bot in execution context
stateId (State ID)string"main"State machine identifier
operation (Operation)string"get"Operation: get, set, transition
newState (New State)string""New state (for set/transition)
allowedTransitions (Allowed Transitions)string"{}"JSON map of allowed transitions

Outputs

PortTypeDescription
out (Out)execExecution output
currentState (Current State)stringCurrent state value
previousState (Previous State)stringPrevious state (after transition)
transitionAllowed (Transition Allowed)booleanWhether transition was allowed

Implementation

Integration

Discord Webhook

integration.discord_webhook (expensive operation)

Sends messages to a Discord webhook

Inputs

PortTypeRequired / defaultDescription
in (In)execOptionalExecution input
webhookUrl (Webhook URL)stringRequiredDiscord webhook URL
content (Content)string""Message content (max 2000 chars)
username (Username)string""Override webhook username
avatarUrl (Avatar URL)string""Override webhook avatar
embedJson (Embed JSON)string""Optional embed as JSON

Outputs

PortTypeDescription
exec_success (Success)execSuccess execution path
exec_error (Error)execError execution path
success (Success)booleanWhether message was sent
errorMessage (Error Message)stringError details if failed

Implementation

Variables

Get Persistent Bot Variable

variable.get_persistent_bot

Retrieves a value from the bot's persistent metadata

Inputs

PortTypeRequired / defaultDescription
in (In)execOptionalExecution input
bot (Bot)botOptionalOptional override of the bot in execution context
namespace (Namespace)string"script"Variable namespace
key (Key)stringRequiredVariable key
defaultValue (Default)anynullValue if not found

Outputs

PortTypeDescription
out (Out)execExecution output
value (Value)anyRetrieved value
found (Found)booleanWhether variable was found

Implementation

Get Persistent Instance Variable

variable.get_persistent_instance

Retrieves a value from the instance's persistent metadata

Inputs

PortTypeRequired / defaultDescription
in (In)execOptionalExecution input
namespace (Namespace)string"script"Variable namespace
key (Key)stringRequiredVariable key
defaultValue (Default)anynullValue if not found

Outputs

PortTypeDescription
out (Out)execExecution output
value (Value)anyRetrieved value
found (Found)booleanWhether variable was found

Implementation

Get Session Bot Variable

variable.get_session_bot

Retrieves a value from the bot's session metadata

Inputs

PortTypeRequired / defaultDescription
in (In)execOptionalExecution input
bot (Bot)botOptionalOptional override of the bot in execution context
key (Key)stringRequiredVariable key
defaultValue (Default)anynullValue if not found

Outputs

PortTypeDescription
out (Out)execExecution output
value (Value)anyRetrieved value
found (Found)booleanWhether variable was found

Implementation

Get Session Instance Variable

variable.get_session_instance

Retrieves a value from the instance's session metadata

Inputs

PortTypeRequired / defaultDescription
in (In)execOptionalExecution input
key (Key)stringRequiredVariable key
defaultValue (Default)anynullValue if not found

Outputs

PortTypeDescription
out (Out)execExecution output
value (Value)anyRetrieved value
found (Found)booleanWhether variable was found

Implementation

Set Persistent Bot Variable

variable.set_persistent_bot

Stores a value in the bot's persistent metadata (survives disconnects)

Inputs

PortTypeRequired / defaultDescription
in (In)execOptionalExecution input
bot (Bot)botOptionalOptional override of the bot in execution context
namespace (Namespace)string"script"Variable namespace
key (Key)stringRequiredVariable key
value (Value)anyRequiredValue to store

Outputs

PortTypeDescription
out (Out)execExecution output
success (Success)booleanWhether storage succeeded

Implementation

Set Persistent Instance Variable

variable.set_persistent_instance

Stores a value in the instance's persistent metadata (survives restarts)

Inputs

PortTypeRequired / defaultDescription
in (In)execOptionalExecution input
namespace (Namespace)string"script"Variable namespace
key (Key)stringRequiredVariable key
value (Value)anyRequiredValue to store

Outputs

PortTypeDescription
out (Out)execExecution output
success (Success)booleanWhether storage succeeded

Implementation

Set Session Bot Variable

variable.set_session_bot

Stores a value in the bot's session metadata (lost on disconnect)

Inputs

PortTypeRequired / defaultDescription
in (In)execOptionalExecution input
bot (Bot)botOptionalOptional override of the bot in execution context
key (Key)stringRequiredVariable key
value (Value)anyRequiredValue to store

Outputs

PortTypeDescription
out (Out)execExecution output
success (Success)booleanWhether storage succeeded

Implementation

Set Session Instance Variable

variable.set_session_instance

Stores a value in the instance's session metadata (lost on restart)

Inputs

PortTypeRequired / defaultDescription
in (In)execOptionalExecution input
key (Key)stringRequiredVariable key
value (Value)anyRequiredValue to store

Outputs

PortTypeDescription
out (Out)execExecution output
success (Success)booleanWhether storage succeeded

Implementation

How is this page?

Last updated on

On this page

TriggersOn Bot InitOn ChatOn Container OpenOn DamageOn DeathOn DisconnectOn IntervalOn JoinOn Post Entity TickOn Pre Entity TickOn Script EndOn Script InitActionsAttackBreak BlockClick SlotClose InventoryDrop ItemDrop SlotJumpLook AtMove BackwardMove ForwardOpen InventoryPathfind Away FromPathfind ToPlace BlockPrintRespawnSelect SlotSend ChatSet RotationSneakSprintStrafe LeftStrafe RightSwing HandUse ItemWaitDataCan See PositionFilter BotsFind BlockFind EntityFind ItemGet ArmorGet BiomeGet BlockGet Bot By NameGet Bot InfoGet Bot StateGet BotsGet DimensionGet EffectsGet Entity StateGet ExperienceGet GamemodeGet HealthGet HungerGet InventoryGet Light LevelGet PositionGet RotationGet Selected SlotGet Target BlockGet TimeGet VelocityGet WeatherIs Container OpenFlow ControlBranchDebounceFor EachFor Each BotGateLoopRate LimitRepeat UntilResultSequenceSwitchLogicAndCompareNotOrXorMathAbsoluteAddB-SplineCeilingClampCosineDistanceDivideFloorFormulaLerpMaximumMinimumModuloMultiplyPowerRandomRoundSineSquare RootSubtractTangentStringConcatEnds WithFormatIndex OfRegex MatchRegex ReplaceReplaceSplitStarts WithString ContainsString LengthSubstringTo Lower CaseTo Upper CaseTrimCollectionCollection AddCollection Add AllCollection ContainsCollection Is EmptyCollection RemoveCollection Remove AllCollection Retain AllCollection SizeCollection to ListCollection to SetList AddList CreateList Remove AtMap KeysMap ValuesSet CreateListFirstGet At IndexJoin to StringLastList ContainsList LengthRangeConstantsBooleanNumberStringVector3UtilityCreate Vector3Is EmptyIs NullSplit Vector3TimestampTo NumberTo StringNetworkWeb FetchAILLM ChatJSONJSON ArrayJSON GetJSON ObjectJSON ParseJSON SetJSON StringifyEncodingBase64 DecodeBase64 EncodeCompress/DecompressDecryptEncryptHashStateCacheState MachineIntegrationDiscord WebhookVariablesGet Persistent Bot VariableGet Persistent Instance VariableGet Session Bot VariableGet Session Instance VariableSet Persistent Bot VariableSet Persistent Instance VariableSet Session Bot VariableSet Session Instance Variable