Logic: Actions
Actions do things — each has an exec input and chains onward through its exec output(s). Every action in the engine is documented below with its real node. Use the “On this page” list to jump straight to one.
Run Command runCommand
Runs any command as player, op, or console. The command is a text input pin — build it dynamically with Join Text and placeholders. This is the bridge to every other plugin on your server.
player— runs with the viewer's own permissionsop/console— elevated; each can be disabled server-side vialogic.allow-op-commands/allow-console-commands
Send Message message
Sends text to the viewer as chat, an actionbar strip, or a fullscreen title. Color codes work everywhere. Actionbar is the polite default for feedback while a menu is open — it doesn't cover the UI.
Play Sound playSound
Plays any Minecraft sound id for the viewer only (the field suggests as you type). Pitch-shift the same click sound up for confirm and down for cancel — cheap, effective UI feel.
Set Element Text setText
Live-swaps a text element's content. Fonts, colors and the placeholder anchor all still apply — an anchored label stays pinned when the new text is longer. The workhorse of every dynamic screen.
Set Element Visible setVisible
Shows or hides any element or group. Design dialogs/tooltips as groups with Start hidden checked, then flip them on here — that's how the NEXUS confirm-purchase dialog works.
Set Element Value setValue
Writes a component's state: 0–1 for progress bars and sliders, true/false for toggles and checkboxes. Animates smoothly client-side. Placeholder → Math (÷ max) → Set Element Value is the standard live-bar recipe.
Switch Screen switchScreen
Jumps to another screen in the project, in place — camera lock, cursor and session variables survive; only the content swaps. Permissions and open requirements of the target screen still apply.
Switch Tab switchTab
Sets a tab view's page by index (0-based). Because the index is a pin, you can compute it — e.g. jump to the tab matching a search result.
Move / Scale / Rotate setTransform
The numeric animator: offset in blocks, scale multiplier, rotation in degrees — tweened over the duration and interpolated by the client, so it's smooth at any TPS. All four amounts are pins: drive them from variables or sliders for computed motion.
Animate (canvas) animate
The visual animator — the node embeds a mini canvas where you drag the element to pose its end state (corners scale, same as the inspector's hover editor). Pick duration + easing (linear / ease / bounce) and fire it from any trigger. For anything you can pose by eye, prefer this over the numeric node.
Reset Transform resetTransform
Tweens the element back to its authored design pose. End every animation sequence with it — repeated relative moves otherwise drift, and this is the guaranteed way home.
Set Player Head setHead
Retargets a Player Head element at runtime — a name, or a placeholder like a leaderboard entry. Skins are fetched live and cached (dynamic.* config). Loop over top-10 placeholders on screen open and you have a live leaderboard with faces.
Set QR Code setQr
Regenerates a QR element with new data and colors. Any text or URL becomes scannable in-game — Discord invites, vote links, and most powerfully the Tebex checkout URL (below).
Tebex Checkout tebex
Creates a Tebex basket for a package and outputs the Checkout URL. It's async: Then fires on success, Error if the store call failed. The signature move: wire the URL into Set QR Code — players scan and pay without ever leaving the game.
Needs your Headless API keys in config.yml → tebex.*.
Give / Take Money economy
Vault economy in one node. Take is transactional: if the player can't afford it, execution exits Failed instead — no separate balance check needed. Take → give item → sound is a complete shop purchase in three nodes.
Webhook (POST) webhook
Fire-and-forget HTTP POST — plain text becomes a Discord-compatible message, or send raw JSON to your own endpoints. Purchase logs, staff-action alerts, vote notifications: your GUIs can talk to the outside world.
Give / Take XP xp
Adjusts experience in points or whole levels. Combine with Chance for XP crates or with Cooldown for a daily XP claim.
Potion Effect effect
Gives (or clears) a potion effect on the viewer. A kit-preview screen can hand out its buffs directly; clear makes a one-click "remove all effects" button.
Set Variable setVar
Writes a variable (see scopes above). The session scope is your menu's working memory — selection state, cart contents, wizard steps. Player/global scopes persist automatically; there is nothing to save manually.
Wait wait
Pauses the exec chain, then continues — the timing glue for sequences: reveal → wait → animate → wait → sound. Non-blocking; the player keeps interacting while a chain waits.
Close Menu closeMenu
Closes the screen, optionally teleporting the player back to where they opened it. Remember the design rule: every screen needs a visible path to this node (or a close behavior) — players have no escape key.