Appearance
Action Open GUI
Opens a custom chest-style GUI with fixed slots, optional dynamic slot rules, custom item data, conditional visibility, and click actions.
Inputs: 1 · Outputs: Then
Settings
| Setting | Type | Required | Default | Description |
|---|---|---|---|---|
| Player Selector | Select | Yes | Triggering Player | Choose which player(s) open the GUI. |
| Username | String | Yes (if Specific) | — | Visible when selector = Specific Player. |
| Permission | String | Yes (if Permission) | — | Visible when selector = Players with Permission. |
| GUI Title | Multiline | Yes | — | Title at the top of the GUI (supports color codes and placeholders). |
| GUI Size | Select | Yes | 3 Rows (27 slots) | Number of rows: 1–6 rows (9–54 slots). |
| GUI Slots | Inventory Editor | No | — | Configure fixed items, click actions, dynamic rules, and item visibility using the visual inventory editor. |
Size Options
| Option | Slots |
|---|---|
| 1 Row | 9 |
| 2 Rows | 18 |
| 3 Rows | 27 |
| 4 Rows | 36 |
| 5 Rows | 45 |
| 6 Rows | 54 |
Fixed Slots
The Inventory Editor uses zero-based slot numbers. A 3-row GUI has slots 0 through 26; a 6-row GUI has slots 0 through 53.
Each fixed slot can configure:
| Field | Description |
|---|---|
| Material | Minecraft material ID, such as DIAMOND, COMPASS, or PLAYER_HEAD. |
| Amount | Stack size, clamped in game to the normal item stack range. |
| Custom Name | Display name with color codes and placeholders. |
| Lore | Lore lines with color codes and placeholders. |
| Enchantments | Enchantments and levels to apply to the item. |
| Enchantment Shimmer | Adds the enchantment glow even when no real enchantment is shown. |
| Hide Flags | Hide enchantments, attributes, or the unbreakable line. |
| Unbreakable | Marks the item as unbreakable. |
| Player Head Owner | For PLAYER_HEAD, set a username, texture URL/hash, Base64 texture data, or placeholder. |
| Custom NBT | Raw NBT compound. Placeholders are resolved before the item is created. |
| Conditional Visibility | Show the slot only when a variable or placeholder matches a comparison. |
| Click Action | Function node to run when the player clicks the slot. |
Fixed slots override generated dynamic slots when they use the same slot number. This is useful for static border items, back buttons, page controls, or pinned overrides in a dynamic list.
Click Actions
Clickable GUI items should point to a Function node. The editor stores the selected function node, and deployment resolves it to the function name used by the server handler.
The click action runs only for clicks inside the custom GUI slots. Use filler items with no click action for decoration.
Conditional Visibility
Each item can be hidden unless a condition passes:
| Field | Description |
|---|---|
| Variable / Placeholder | Value to read, such as %local.page%. |
| Comparison | ==, !=, >, >=, <, <=, or contains. |
| Value | Value to compare against. Placeholders are supported. |
If the condition fails, the item is not placed in the GUI and its click action is not registered.
Dynamic Slots
Open the Inventory Editor and choose Dynamic Slots to add one or more repeating rules. Each enabled rule generates GUI items from an Array or HashMap variable.
| Dynamic Rule Field | Description |
|---|---|
| Array / HashMap Variable | Variable to read, such as %local.reports%. Lists generate one item per entry; maps generate one item per map value. |
| First Slot | First slot where generated items may appear. Supports placeholders. |
| Last Slot | Last slot where generated items may appear. Supports placeholders. |
| Click Action | Function node to run when a generated item is clicked. |
| Item Design Template | Item template copied for each generated entry. |
Inside a dynamic item template, use:
| Placeholder | Meaning |
|---|---|
%each_value% | Current list value or current map value. |
%each_value.name% | Field access when the current value is an object/map. |
%each_index% | Current list index, or the current HashMap key for map-backed GUIs. |
The generated slot item also carries each_value and each_index into the click action context, so the clicked function can act on the selected entry.
Example
Create a teleport menu:
- Title:
&6Teleport Menu - Size:
3 Rows (27 slots) - Fill fixed slots with items representing different locations
- Point each clickable item to a Function node that teleports the player
Create a report list:
- Store report data in an Array or HashMap variable, such as
%local.reports%. - Add a dynamic rule from slot
9to slot44. - Use
%each_value.player%and%each_value.reason%in the item name or lore. - Point the dynamic click action to a Function node that opens the selected report.
