Advanced Actions
EasyMenu 7 provides powerful flow control actions, including non-blocking delays, coordinate teleports, potion effects, and interactive user prompts.
Delay (type: delay)
Pauses pipeline execution for a specified duration before proceeding.
EasyMenu delays are managed asynchronously using Folia schedulers and never sleep or block server threads.
actions:
- type: message
message: "&eTeleporting in 3 seconds. Please do not move..."
- type: sound
sound: "BLOCK_NOTE_BLOCK_HAT"
- type: delay
duration: 3s # e.g. 500ms, 3s, 1m
- type: teleport
world: "world"
x: 100.5
y: 64.0
z: -200.5
- type: message
message: "&aTeleported!"
Teleport (type: teleport)
Teleports the player to a target world and coordinates.
actions:
- type: teleport
world: "world_nether" # World name
x: 0.5 # X coordinate (placeholders supported)
y: 70.0 # Y coordinate
z: 0.5 # Z coordinate
yaw: 90.0 # Horizontal angle (optional)
pitch: 0.0 # Vertical pitch (optional)
reset-velocity: true # Reset momentum/fall velocity (default: true)
no-fall-ticks: 40 # Ticks to keep resetting fall distance after arrival (default: 0 = disabled)
| Key | Required | Description |
|---|---|---|
world, x, y, z | Yes | Omitting any of them is an error at load time. Placeholders are allowed and expanded at click time. |
yaw, pitch | No | When omitted, the player keeps their current facing. |
reset-velocity | No (true) | When true, the player's velocity is set to 0 after arrival. |
no-fall-ticks | No (0) | When greater than 0, fall distance is reset every tick for that many ticks to prevent fall damage. Capped at 1200 (60 seconds). |
safe key currently has no effectThe safe key is parsed, but the teleport handler in EasyMenu 7.0.2 never reads it. Writing safe: true does not search for a safe landing spot; the player is teleported to the exact coordinates.
If you need a safe landing, choose safe coordinates yourself.
Potion Effects (type: potion-effect)
Applies a status effect or buff to the player for a set duration.
actions:
- type: potion-effect
effect: "SPEED" # PotionEffectType enum
duration: 30s # Duration (e.g. 10s, 1m)
amplifier: 1 # Amplifier (0 = Lv1, 1 = Lv2)
ambient: true # Ambient beacon particle style
particles: true # Show particles
In-Action Chat Input (type: input)
Prompts the player to enter a value in chat before completing the command sequence.
The menu closes while EasyMenu waits for the input, and the player can type cancel to abort.
actions:
- type: input
prompt: "&eEnter withdrawal amount (1 to 100,000) in chat:"
input-type: integer # string (default), integer, decimal
min: 1
max: 100000
timeout-seconds: 30 # Timeout in seconds (default: 60)
command: "bank withdraw {player} {input}"
| Key | Required | Description |
|---|---|---|
prompt | Yes | Text shown to the player. |
input-type | No (string) | One of string, integer, decimal. Anything else (such as text or boolean) is an error. |
min / max | No | Range for integer / decimal. min greater than max is an error. |
timeout-seconds | No (60) | How long to wait for input. 0 or less is an error. |
variable | No (input) | Variable name that holds the value. With variable: amount, use {amount}. |
command | No | Command run as the player once the value arrives. It must contain {variable-name} ({input} by default), otherwise loading fails with an error. |
actions | No | Actions run in order once the value arrives. When used together with command, command runs first. |
inputsThe type: input action accepts three types: string, integer and decimal.
They differ from the types you declare in a menu's top-level inputs (text, integer, decimal, boolean, option). See Inputs for those.
A warning is logged when an input action has neither command nor actions to run afterwards.
EasyMenu 7 also features a menu-wide Inputs system that renders as real text boxes and sliders in Native Dialogs!