Skip to main content

Full YAML Reference

Comprehensive reference of all configuration keys available in EasyMenu 7.

Use in-page search (Ctrl + F or Cmd + F) to instantly locate any key, its specifications, and links to detailed guides.


Table of Contents​

  1. Top-Level Menu Settings
  2. Item Element Settings (menu-items)
  3. Presentation Settings (presentation)
  4. Action Settings (action / actions)
  5. Condition Settings (open-when / visible-when / enabled-when / when)
  6. Input Form Settings (inputs)
  7. Item Component Settings (components)
  8. Cooldown Settings (cooldown)
  9. Variant Settings (variants)
  10. Dynamic Open Command Settings (open-command)

1. Top-Level Menu Settings​

Configuration keys placed directly at the root of a menu YAML file (main.yml, sub/*.yml).

Configuration KeyTypeDefaultDescriptionGuide Link
menu-titleStringMenu IDTitle displayed at the top of the menu. Color codes and placeholders supported.Menu Basics
menu-sizeInteger54Inventory GUI slot count. A multiple of 9 from 9 to 54; anything else is an error (invalid-size).Inventory GUI
menu-background-itemMaterialGRAY_STAINED_GLASS_PANEFiller material for unassigned slots. Set none (or leave it empty) to disable. An unknown material logs a warning and the default is used.Menu Basics
menu-opensoundSoundNoneSound played immediately after opening the menu.Menu Basics
menu-itemsList[]List of items (interactive elements) placed in the menu.Item Settings
dialogBooleanNonetrue is shorthand for presentation.mode: native-preferred. false forces the inventory display (overriding runtime.default-presentation). Ignored with a warning when presentation is also set.Native Dialog
presentationSectionruntime.default-presentation (default: inventory)Detailed display format settings (Inventory GUI / Native Dialog / Rich UI).Body & Presentation
open-commandSectionNoneRegisters custom server commands to open this menu (e.g. /shop).Opening Menus
open-whenConditionAlwaysConditions that must be satisfied to open this menu.Display & Usage Conditions
open-denied-messageStringLocalized defaultMessage sent to players when open-when conditions fail.Display & Usage Conditions
bodyList[]Decorative content (text / item) rendered above buttons in Native Dialogs. Not shown in inventory GUIs.Body & Presentation
inputsList[]Named input form fields declared for the menu.Inputs
schemaIntegerNoneReserved for schema versioning. EasyMenu 7.0.2 does not read it, so writing it has no effect.-

2. Item Element Settings (menu-items)​

Configuration keys specified on elements within the menu-items: list.

Configuration KeyTypeDefaultDescriptionGuide Link
idStringDeterministicElement identifier. Derived from slot or location if omitted.Item Settings
slotIntegerNoneZero-indexed inventory slot, 0 to menu-size - 1. Out-of-range or duplicate slots are errors.Item Settings
location"col,row"NoneOne-indexed column and row (e.g. "5,2"). Column 1-9, row 1 to menu-size / 9. slot wins when both are set (warning).Item Settings
materialMaterialRequiredMaterial name (e.g. DIAMOND, COMPASS).Item Settings
nameStringMaterial nameDisplay name of the item. Color codes and placeholders supported.Item Settings
loreString List[]Lore lines (becomes button tooltip in Native Dialog mode).Item Settings
amountInteger1Stack size.Item Settings
glintBooleanNoneGives the item an enchantment glint effect.Item Settings
custom-model-dataIntegerNoneCustomModelData integer for resource packs.Item Settings
base64StringNoneBase64 skin texture string for PLAYER_HEAD.Item Settings
componentsSection{}Modern item components (1.20.5+).Item Settings
soundSoundNoneSound effect played when clicked.Menu, Message, Sound
close-menuBooleantrueCloses the menu after action execution finishes.Menu, Message, Sound
click-policyEnumPRIMARYAccepted click types (PRIMARY, LEFT, RIGHT, ANY).Actions Overview
commandStringNoneShorthand command (runs with the player's permissions) or navigation (sub_<id>, main_mainopen). action / actions win when present (warning).Executing Commands
actionSectionNoneSingle typed action definition. Combining it with actions is an error.Actions Overview
actionsListNoneList of typed actions executed sequentially. An empty list [] makes a decorative item.Actions Overview
visible-whenConditionAlwaysIf false, element is completely omitted from the menu.Display & Usage Conditions
enabled-whenConditionAlwaysIf false, element is visible but clicking is refused.Display & Usage Conditions
disabled-messageStringLocalized defaultMessage sent when enabled-when refuses click.Display & Usage Conditions
cooldownDuration / SectionNoneRate limit settings for the element.Cooldown
variantsList[]Dynamic overrides based on player conditions.Variants
input-refsString List[]List of input IDs to collect before running actions.Inputs

3. Presentation Settings (presentation)​

Options inside the presentation: block controlling display formats.

Configuration KeyTypeDefaultDescriptionGuide Link
modeEnumruntime.default-presentation (default: inventory)Display mode (inventory, native-preferred, native-required, rich-preferred, rich-required, auto; aliases native / rich).Body & Presentation
fallbackBooleantrueWhether to fall back to the next renderer when the requested mode cannot open. *-required modes never fall back.Body & Presentation
inventory.sizeInteger54Inventory GUI slot count.Inventory GUI
inventory.backgroundMaterialGRAY_STAINED_GLASS_PANEInventory GUI background filler item.Inventory GUI
native.columnsInteger3Button column count in Native Dialogs (1-8). Bedrock Rich UI behaves as at most 3 columns.Native Dialog
native.button-widthInteger150Button width in Native Dialogs (1-1024). Rounded into three tiers on Bedrock.Native Dialog
native.can-close-with-escapeBooleantrueAllow closing dialog with Escape key.Native Dialog
native.pauseBooleanfalsePause game flag in singleplayer.Native Dialog

4. Action Settings (action / actions)​

Properties of the 12 supported typed actions.

Action Type (type)ParametersDescriptionGuide Link
commandcommand, executorExecutes command as player or console.Executing Commands
player-commandcommandExecutes command as the clicking player.Executing Commands
console-commandcommandExecutes command with elevated console privileges.Executing Commands
open-menumenuTransitions to specified menu ID (waits for render).Menu, Message, Sound
close-menuNoneSafely closes the original UI session.Menu, Message, Sound
messagemessageSends a formatted chat message to player.Menu, Message, Sound
soundsound, volume, pitchPlays a sound effect to player.Menu, Message, Sound
titletitle, subtitle, fade-in, stay, fade-outShows an on-screen title banner.Menu, Message, Sound
teleportworld, x, y, z, yaw, pitch, reset-velocity, no-fall-ticks (default 0). safe is parsed but has no effectTeleports player to world and coordinates.Advanced Actions
delaydurationAsynchronously delays subsequent actions without thread blocking.Advanced Actions
potion-effecteffect, duration, amplifier, ambient, particlesApplies status effects or buffs to player.Advanced Actions
inputprompt, input-type (string / integer / decimal), min, max, timeout-seconds, variable, command, actionsPrompts player for chat input before proceeding. command must contain {variable-name} ({input} by default).Advanced Actions

5. Condition Settings (open-when / visible-when / enabled-when / when)​

Condition types and operators for access control and conditional branches.

Condition KeyValue TypeDescriptionGuide Link
permissionStringPlayer must have the permission node. A bare string used as the whole condition behaves the same.Conditions
worldString / List / SectionChecks current world (in / not-in supported).Conditions
gamemodeString / ListChecks gamemode (SURVIVAL, CREATIVE, ADVENTURE, SPECTATOR).Conditions
placeholderSectionEvaluates PlaceholderAPI comparisons (value, operator, compare).Conditions
allListTrue if ALL conditions in list hold (AND).Conditions
anyListTrue if AT LEAST ONE condition holds (OR).Conditions
notConditionInverts the child condition outcome (NOT).Conditions

Comparison Operators (placeholder.operator)​

==, !=, >, >=, <, <=, contains, not-contains, starts-with, ends-with (aliases: =, eq, equals, <>, ne, not-equals, gt, ge, gte, lt, le, lte)

A condition may also be a bare string (permission), true / false, or a section with several keys (an implicit all). See Conditions.


6. Input Form Settings (inputs)​

Field properties declared in the menu-wide inputs: block.

Configuration KeyTypeDefaultDescriptionGuide Link
idStringRequiredField identifier (referenced via {input.<id>}).Inputs
typeEnumtextInput type (text, integer, decimal, boolean, option). Separate from the type: input action's types.Inputs
labelStringValue of idPrompt label displayed to player.Inputs
minNumberNoneMinimum numeric value for integer / decimal.Inputs
maxNumberNoneMaximum numeric value for integer / decimal.Inputs
max-lengthInteger128Maximum input length for text, integer, and decimal; numeric plain output is limited too.Inputs
initialVariousNoneInitial field value (must satisfy validation constraints).Inputs
optionsList[]Option choices for option input (contains id and display).Inputs
timeout-secondsIntegerinput.default-timeout-seconds (default 60)Timeout in seconds. 0 or less is an error.Inputs

7. Item Component Settings (components)​

Modern Minecraft components (1.20.5+) in the components: block.

Configuration KeyTypeDescriptionGuide Link
unbreakableBooleanSets item durability to unbreakable.Item Settings
max-stack-sizeIntegerMaximum stack size (1–99).Item Settings
damageIntegerDurability damage value.Item Settings
max-damageIntegerMaximum durability value.Item Settings
repair-costIntegerAnvil repair cost.Item Settings
rarityEnumItem rarity (common, uncommon, rare, epic).Item Settings
item-modelString1.21.6+ item model reference (e.g. minecraft:bundle).Item Settings
hide-tooltipBooleanHides item tooltip.Item Settings
enchantment-glint-overrideBooleanOverrides enchantment glint.Item Settings

8. Cooldown Settings (cooldown)​

Options inside the cooldown: block for rate limiting interactions.

Configuration KeyTypeDefaultDescriptionGuide Link
durationDurationRequiredCooldown duration (500ms, 5s, 1m, 1h, 40t; a bare number is seconds).Cooldown
bypass-permissionStringNoneExemption permission node.Cooldown
messageStringLocalized defaultRejection message ({remaining} expanded).Cooldown
keyStringNoneShared group identifier across elements.Cooldown

9. Variant Settings (variants)​

Dynamic conditional overrides inside the variants: list.

Configuration KeyTypeDefaultDescriptionGuide Link
idStringvariant-<index>Variant identifier. Optional.Variants
whenConditionAlwaysCondition required to activate this variant.Variants
overrideSectionRequiredProperties to override when active (name, lore, material, command, etc.).Variants

10. Dynamic Open Command Settings (open-command)​

Registration options inside open-command:.

Configuration KeyTypeDefaultDescriptionGuide Link
nameStringRequiredCommand name (e.g. shop). Letters, digits, _ and - only, up to 32 characters.Opening Menus
aliasesString List[]List of alternate command labels.Opening Menus
permissionStringNonePermission required to run command.Opening Menus
permission-defaultBooleanfalseDefault permission target (true for all, false for OPs).Opening Menus