Skip to content

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

SettingTypeRequiredDefaultDescription
Player SelectorSelectYesTriggering PlayerChoose which player(s) open the GUI.
UsernameStringYes (if Specific)Visible when selector = Specific Player.
PermissionStringYes (if Permission)Visible when selector = Players with Permission.
GUI TitleMultilineYesTitle at the top of the GUI (supports color codes and placeholders).
GUI SizeSelectYes3 Rows (27 slots)Number of rows: 1–6 rows (9–54 slots).
GUI SlotsInventory EditorNoConfigure fixed items, click actions, dynamic rules, and item visibility using the visual inventory editor.

Size Options

OptionSlots
1 Row9
2 Rows18
3 Rows27
4 Rows36
5 Rows45
6 Rows54

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:

FieldDescription
MaterialMinecraft material ID, such as DIAMOND, COMPASS, or PLAYER_HEAD.
AmountStack size, clamped in game to the normal item stack range.
Custom NameDisplay name with color codes and placeholders.
LoreLore lines with color codes and placeholders.
EnchantmentsEnchantments and levels to apply to the item.
Enchantment ShimmerAdds the enchantment glow even when no real enchantment is shown.
Hide FlagsHide enchantments, attributes, or the unbreakable line.
UnbreakableMarks the item as unbreakable.
Player Head OwnerFor PLAYER_HEAD, set a username, texture URL/hash, Base64 texture data, or placeholder.
Custom NBTRaw NBT compound. Placeholders are resolved before the item is created.
Conditional VisibilityShow the slot only when a variable or placeholder matches a comparison.
Click ActionFunction 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:

FieldDescription
Variable / PlaceholderValue to read, such as %local.page%.
Comparison==, !=, >, >=, <, <=, or contains.
ValueValue 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 FieldDescription
Array / HashMap VariableVariable to read, such as %local.reports%. Lists generate one item per entry; maps generate one item per map value.
First SlotFirst slot where generated items may appear. Supports placeholders.
Last SlotLast slot where generated items may appear. Supports placeholders.
Click ActionFunction node to run when a generated item is clicked.
Item Design TemplateItem template copied for each generated entry.

Inside a dynamic item template, use:

PlaceholderMeaning
%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:

  1. Title: &6Teleport Menu
  2. Size: 3 Rows (27 slots)
  3. Fill fixed slots with items representing different locations
  4. Point each clickable item to a Function node that teleports the player

Create a report list:

  1. Store report data in an Array or HashMap variable, such as %local.reports%.
  2. Add a dynamic rule from slot 9 to slot 44.
  3. Use %each_value.player% and %each_value.reason% in the item name or lore.
  4. Point the dynamic click action to a Function node that opens the selected report.

Sandbox - Oasis Network Documentation