-
Notifications
You must be signed in to change notification settings - Fork 0
Nodes
sandwich edited this page Mar 17, 2026
·
2 revisions
This document lists every built-in node, what it does, and its ports.
- Execution wires: Control flow between event, logic, and action nodes.
- Data wires: Pass values between data/event/logic/action ports.
- Events: Red
- Logic: Purple
- Actions: Blue
- Data: Green
- Type:
event.plugin_enable - Purpose: Runs once during plugin startup.
- Outputs:
-
Then(Execution)
-
- Type:
event.plugin_disable - Purpose: Runs once during plugin shutdown.
- Outputs:
-
Then(Execution)
-
- Type:
event.player_join - Purpose: Triggered when a player joins.
- Outputs:
-
Then(Execution) -
Player(Data: Player)
-
- Type:
event.player_leave - Purpose: Triggered when a player leaves.
- Outputs:
-
Then(Execution) -
Player(Data: Player)
-
- Type:
event.player_break_block - Purpose: Triggered when a player breaks a block.
- Outputs:
-
Then(Execution) -
Player(Data: Player) -
Location(Data: Location)
-
- Type:
event.player_place_block - Purpose: Triggered when a player places a block.
- Outputs:
-
Then(Execution) -
Player(Data: Player) -
Location(Data: Location)
-
- Type:
event.player_chat - Purpose: Triggered when a player sends chat.
- Outputs:
-
Then(Execution) -
Player(Data: Player) -
Message(Data: Text)
-
- Type:
event.player_move - Purpose: Triggered when a player moves.
- Outputs:
-
Then(Execution) -
Player(Data: Player) -
From(Data: Location) -
To(Data: Location)
-
- Type:
event.player_death - Purpose: Triggered when a player dies.
- Outputs:
-
Then(Execution) -
Player(Data: Player) -
Killer(Data: Player)
-
- Type:
event.player_damage - Purpose: Triggered when a player takes damage.
- Outputs:
-
Then(Execution) -
Player(Data: Player) -
Damage(Data: Number)
-
- Type:
event.player_interact - Purpose: Triggered when a player interacts.
- Outputs:
-
Then(Execution) -
Player(Data: Player) -
Location(Data: Location) -
Item(Data: ItemStack)
-
- Type:
event.player_drop_item - Purpose: Triggered when a player drops an item.
- Outputs:
-
Then(Execution) -
Player(Data: Player) -
Item(Data: ItemStack)
-
- Type:
event.player_pickup_item - Purpose: Triggered when a player picks up an item.
- Outputs:
-
Then(Execution) -
Player(Data: Player) -
Item(Data: ItemStack)
-
- Type:
event.entity_death - Purpose: Triggered when an entity dies.
- Outputs:
-
Then(Execution) -
Entity(Data: Entity) -
Killer(Data: Player)
-
- Type:
event.block_explode - Purpose: Triggered when a block explodes.
- Outputs:
-
Then(Execution) -
Location(Data: Location)
-
- Type:
event.redstone_change - Purpose: Triggered when redstone power changes.
- Outputs:
-
Then(Execution) -
Location(Data: Location) -
Power(Data: Number)
-
- Type:
event.command_run - Purpose: Triggered when a player runs a command.
- Outputs:
-
Then(Execution) -
Player(Data: Player) -
Command(Data: Text) -
Arguments(Data: Text)
-
- Type:
event.server_tick - Purpose: Runs repeatedly every tick.
- Outputs:
-
Then(Execution)
-
- Type:
logic.if_condition - Purpose: Branches flow based on a boolean.
- Inputs:
-
In(Execution) -
Condition(Data: Boolean)
-
- Outputs:
-
True(Execution) -
False(Execution)
-
- Type:
logic.compare_values - Purpose: Compares two values and returns boolean.
- Editable fields:
-
Operator(==,!=,>,>=,<,<=)
-
- Inputs:
-
A(Data: Any) -
B(Data: Any)
-
- Outputs:
-
Equal(Data: Boolean)
-
- Type:
logic.boolean_and - Purpose: Boolean conjunction.
- Inputs:
-
A(Data: Boolean) -
B(Data: Boolean)
-
- Outputs:
-
Result(Data: Boolean)
-
- Type:
logic.boolean_or - Purpose: Boolean disjunction.
- Inputs:
-
A(Data: Boolean) -
B(Data: Boolean)
-
- Outputs:
-
Result(Data: Boolean)
-
- Type:
logic.boolean_not - Purpose: Boolean negation.
- Inputs:
-
Value(Data: Boolean)
-
- Outputs:
-
Result(Data: Boolean)
-
- Type:
logic.delay_timer - Purpose: Delays execution flow by ticks.
- Editable fields:
-
Ticks(default:20)
-
- Inputs:
-
In(Execution) -
Ticks(Data: Number)
-
- Outputs:
-
Then(Execution)
-
- Type:
logic.random_chance - Purpose: Returns a random boolean chance.
- Editable fields:
-
Chance(default:0.5, clamped to 0..1)
-
- Inputs:
-
Chance(Data: Number)
-
- Outputs:
-
Success(Data: Boolean)
-
- Type:
logic.loop - Purpose: Runs execution multiple times.
- Inputs:
-
In(Execution) -
Count(Data: Number)
-
- Outputs:
-
Loop(Execution) -
Done(Execution)
-
- Type:
logic.foreach_player - Purpose: Iterates through all online players.
- Inputs:
-
In(Execution)
-
- Outputs:
-
Loop(Execution) -
Player(Data: Player) -
Done(Execution)
-
- Type:
logic.while - Purpose: Repeats execution while a condition is true.
- Inputs:
-
In(Execution) -
Condition(Data: Boolean)
-
- Outputs:
-
Loop(Execution) -
Done(Execution)
-
- Type:
logic.random_number - Purpose: Generates a random number between Min and Max.
- Inputs:
-
Min(Data: Number) -
Max(Data: Number)
-
- Outputs:
-
Value(Data: Number)
-
- Type:
logic.math - Purpose: Performs a math operation on two numbers.
- Editable fields:
-
Operator(+,-,*,/,%)
-
- Inputs:
-
A(Data: Number) -
B(Data: Number)
-
- Outputs:
-
Result(Data: Number)
-
- Type:
logic.text_join - Purpose: Combines multiple text values into one string.
- Inputs:
-
A(Data: Text) -
B(Data: Text)
-
- Outputs:
-
Text(Data: Text)
-
- Type:
logic.number_to_text - Purpose: Converts a number value into text.
- Inputs:
-
Number(Data: Number)
-
- Outputs:
-
Text(Data: Text)
-
- Type:
action.send_message - Purpose: Sends a chat message to a player.
- Editable fields:
-
Default Text(used when Text input is not wired)
-
- Inputs:
-
In(Execution) -
Player(Data: Player) -
Text(Data: Text)
-
- Outputs:
-
Then(Execution)
-
- Type:
action.spawn_entity - Purpose: Spawns an entity at a location.
- Editable fields:
-
Entity(default:ZOMBIE, used when input not wired)
-
- Inputs:
-
In(Execution) -
Location(Data: Location) -
Entity Type(Data: Text)
-
- Outputs:
-
Then(Execution)
-
- Type:
action.give_item - Purpose: Gives an item to a player.
- Editable fields:
-
Default Material(used when Item input is not wired) -
Default Amount(used when Item input is not wired)
-
- Inputs:
-
In(Execution) -
Player(Data: Player) -
Item(Data: ItemStack)
-
- Outputs:
-
Then(Execution)
-
- Type:
action.teleport_player - Purpose: Teleports player to location.
- Inputs:
-
In(Execution) -
Player(Data: Player) -
Location(Data: Location)
-
- Outputs:
-
Then(Execution)
-
- Type:
action.play_sound - Purpose: Plays a Bukkit sound for a player.
- Editable fields:
-
Sound(default:ENTITY_EXPERIENCE_ORB_PICKUP, used when input not wired)
-
- Inputs:
-
In(Execution) -
Player(Data: Player) -
Sound(Data: Text)
-
- Outputs:
-
Then(Execution)
-
- Type:
action.run_command - Purpose: Runs a console command.
- Editable fields:
-
Command(default command if input is not wired)
-
- Inputs:
-
In(Execution) -
Command(Data: Text)
-
- Outputs:
-
Then(Execution)
-
- Type:
data.player - Purpose: Exposes player context from event-based flows.
- Outputs:
-
Player(Data: Player)
-
- Type:
data.location - Purpose: Provides a configured world location.
- Editable fields:
-
World(default:world) -
X(default:0) -
Y(default:64) -
Z(default:0)
-
- Outputs:
-
Location(Data: Location)
-
- Type:
data.itemstack - Purpose: Provides a configured item stack.
- Editable fields:
-
Material(default:DIAMOND) -
Amount(default:1)
-
- Outputs:
-
Item(Data: ItemStack)
-
- Type:
data.number - Purpose: Provides a numeric value.
- Editable fields:
-
Number(default:1)
-
- Outputs:
-
Value(Data: Number)
-
- Type:
data.text - Purpose: Provides a text string.
- Editable fields:
Text
- Outputs:
-
Text(Data: Text)
-
- If a node input is not wired, most nodes use their editable default field.
- Compare operator defaults to
==if invalid. - Numeric fields fallback safely if invalid input is entered.
- Material, sound, and entity names should use Bukkit enum names.