Skip to content

v0.2.4 - beta

Latest

Choose a tag to compare

@hent324211 hent324211 released this 21 Mar 21:58

Veltrix v0.2.4 — Release Notes

Release Date: March 21, 2026


Overview

v0.2.4 is a node expansion release, adding 35 new nodes across all four categories: Events, Logic, Actions, and Data. These nodes significantly extend what plugins can do without writing code, covering player state, world interaction, item manipulation, variables, and flow control utilities.


New Event Nodes

Player Shoot Bow (event.player_shoot_bow)

Triggered when a player fires an arrow from a bow.

  • Outputs: Then, Player

Player Eat (event.player_eat)

Triggered when a player consumes food.

  • Outputs: Then, Player

Player Toggle Sneak (event.player_toggle_sneak)

Triggered when a player starts or stops sneaking.

  • Outputs: Then, Player, Sneaking (Boolean)

Player Toggle Sprint (event.player_toggle_sprint)

Triggered when a player starts or stops sprinting.

  • Outputs: Then, Player, Sprinting (Boolean)

Weather Change (event.weather_change)

Triggered when the world weather changes.

  • Outputs: Then, IsStorm (Boolean)

Time Change (event.time_change)

Triggered when the world time changes.

  • Outputs: Then, Time (Number)

New Logic Nodes

Set Variable (logic.set_variable)

Stores a value in a named global variable. Global variables persist across all players for the lifetime of the plugin instance.

  • Inputs: In, Name (Text), Value (Any)
  • Outputs: Then

Get Variable (logic.get_variable)

Reads a named global variable value.

  • Inputs: Name (Text)
  • Outputs: Value (Any)

Set Player Variable (logic.set_player_variable)

Stores a value in a named variable scoped to a specific player. Useful for per-player counters, states, and flags.

  • Inputs: In, Player, Name (Text), Value (Any)
  • Outputs: Then

Get Player Variable (logic.get_player_variable)

Reads a player-scoped variable by name.

  • Inputs: Player, Name (Text)
  • Outputs: Value (Any)

Get Distance (logic.get_distance)

Calculates the 3D distance between two locations.

  • Inputs: Location A, Location B
  • Outputs: Distance (Number)

Has Item (logic.player_has_item)

Checks whether a player currently has a specific item in their inventory.

  • Inputs: Player, Item (ItemStack)
  • Outputs: Has (Boolean)

Break Loop (logic.break)

Loop control node — signals the current loop to exit immediately.

  • Inputs: In
  • Outputs: Then

Continue Loop (logic.continue)

Loop control node — signals the current loop to skip to the next iteration.

  • Inputs: In
  • Outputs: Then

Cooldown Check (logic.cooldown)

Returns whether a named cooldown key is ready. Useful for rate-limiting actions per player or globally.

  • Inputs: Key (Text), Time (Number, seconds)
  • Outputs: Ready (Boolean)

Color Text (logic.color_text)

Applies Minecraft color and formatting codes (&a, &l, etc.) to a text string.

  • Inputs: Text
  • Outputs: Text

Is Sneaking (logic.is_sneaking)

Checks if a player is currently sneaking.

  • Inputs: Player
  • Outputs: Result (Boolean)

Is Sprinting (logic.is_sprinting)

Checks if a player is currently sprinting.

  • Inputs: Player
  • Outputs: Result (Boolean)

Is On Ground (logic.is_on_ground)

Checks if a player is standing on a solid block.

  • Inputs: Player
  • Outputs: Result (Boolean)

Is In Water (logic.is_in_water)

Checks if a player is currently submerged in water.

  • Inputs: Player
  • Outputs: Result (Boolean)

Random Player (logic.random_player)

Picks a random online player from the server.

  • Outputs: Player

New Action Nodes

Set Player Health (action.set_player_health)

Sets a player's health to an exact value (0–20 for vanilla hearts).

  • Inputs: In, Player, Health (Number)
  • Outputs: Then

Set Player Hunger (action.set_player_hunger)

Sets a player's food level (0–20).

  • Inputs: In, Player, Hunger (Number)
  • Outputs: Then

Set Block (action.set_block)

Replaces a block at a world location with the specified material.

  • Inputs: In, Location, Material (Text)
  • Outputs: Then

Break Block (action.break_block)

Removes a block at a location, dropping no items.

  • Inputs: In, Location
  • Outputs: Then

Remove Item (action.remove_item)

Removes an item (by type and amount) from a player's inventory.

  • Inputs: In, Player, Item (ItemStack)
  • Outputs: Then

Clear Inventory (action.clear_inventory)

Removes all items from a player's inventory.

  • Inputs: In, Player
  • Outputs: Then

Damage Player (action.damage_player)

Deals damage to a player by the given amount.

  • Inputs: In, Player, Amount (Number)
  • Outputs: Then

Heal Player (action.heal_player)

Restores a player's health by the given amount.

  • Inputs: In, Player, Amount (Number)
  • Outputs: Then

Send Title (action.send_title)

Sends a title and subtitle text overlay to a player's screen.

  • Inputs: In, Player, Title (Text), Subtitle (Text)
  • Outputs: Then

Send Action Bar (action.send_actionbar)

Sends text to the player's action bar (above the hotbar).

  • Inputs: In, Player, Text (Text)
  • Outputs: Then

Set Item Name (action.set_item_name)

Changes the display name of an item stack. Returns the modified item.

  • Inputs: Item (ItemStack), Name (Text)
  • Outputs: Item (ItemStack)

Set Item Lore (action.set_item_lore)

Sets the lore (description) text on an item stack. Returns the modified item.

  • Inputs: Item (ItemStack), Lore (Text)
  • Outputs: Item (ItemStack)

Enchant Item (action.enchant_item)

Adds an enchantment to an item at a specified level. Returns the modified item.

  • Inputs: Item (ItemStack), Enchantment (Text), Level (Number)
  • Outputs: Item (ItemStack)

New Data Nodes

Get Player Health (data.get_player_health)

Reads a player's current health value.

  • Inputs: Player
  • Outputs: Health (Number)

Get Player Hunger (data.get_player_hunger)

Reads a player's current food level.

  • Inputs: Player
  • Outputs: Hunger (Number)

Get Player Location (data.get_player_location)

Reads a player's current world position.

  • Inputs: Player
  • Outputs: Location

Get Block Type (data.get_block_type)

Reads the material type of a block at a given location.

  • Inputs: Location
  • Outputs: Material (Text)

Usage Notes

  • Variable nodes (set_variable, get_variable, set_player_variable, get_player_variable) store values at runtime only — they do not persist between server restarts.
  • Player variable names are case-sensitive strings. Use consistent naming across Set and Get nodes in the same graph.
  • Item modification nodes (set_item_name, set_item_lore, enchant_item) return a new ItemStack output — wire their output Item port into a Give Item node to deliver the result to a player.
  • Enchantment names use Bukkit enum names (e.g. DAMAGE_ALL, PROTECTION_ENVIRONMENTAL, ARROW_DAMAGE).
  • color_text translates & color codes to the Minecraft § format (e.g. &aHello → green "Hello").
  • cooldown is keyed by a text string — use unique keys per cooldown (e.g. "kit_starter", "pvp_damage").

Node Count

Category Previous Added Total
Events 16 6 22
Logic 13 15 28
Actions 6 13 19
Data 5 4 9
Total 40 38 78

See Also