FancyMenu lets you add interactivity to your menus by assigning actions to elements. These actions run when a button is clicked, ticker is ticking, slider gets used, or when a screen opens or closes. You can also build advanced action scripts using simple control statements, such as if, else-if, else, and while, to control which actions run and when.
An action is a task or job that FancyMenu runs when triggered. For example, an action might open a new screen, send a chat message, or adjust the volume of an audio element. In FancyMenu's editor, actions are configured with a value (if needed) that provides extra details—such as a URL or server address.
To create more complex behavior, FancyMenu supports basic control statements in action scripts. These include:
By combining these statements with actions, you can build dynamic and conditional behavior, for example, checking if a player's health is low before sending a warning message or repeating an update until a condition changes.
Action scripts are versatile and can be used throughout your layout. You can assign them, for example, to:
Action values support dynamic content through placeholders. Most of the time these placeholders use a JSON-like syntax and are replaced with live data when the action runs.
These are the normal placeholders that can be used in many places throughout layouts.
They follow this syntax:
{"placeholder": "placeholder_id", "values": {"key1": "value1", "key2": "value2"}}
They can fetch game data like the player's name, screen dimensions, or calculated values using the Calculator placeholder. You can also nest placeholders for more advanced uses.
$$value
PlaceholderThe $$value
placeholder is special. It's used to insert the current interactive value of the element that the action is attached to. For example, if actions are used with a slider, using $$value
in the action will be replaced with the slider's current value.
The following list contains menu of the available actions in FancyMenu, but some could be missing, so make sure to check FancyMenu's action UI for a complete list of all available actions!
audio_element_identifier
(the ID of the audio element to control)audio_element_identifier
(the ID of the audio element to control)element_identifier:1.0
(element ID and volume value between 0.0 and 1.0)audio_element_identifier
(the ID of the audio element to control)layout_name
(the name of the layout to toggle)layout_name
(the name of the layout to enable)layout_name
(the name of the layout to disable)screen_identifier
(identifier of screen to open after disconnecting)world_folder_name
(folder name of the world to load)server_ip:port
(e.g., "exampleserver.com:25565")screen_identifier
(identifier for the screen to open)text_to_copy
(the text to copy)option_name:set_to_value
(name of the option and the value to set)screen_identifier:widget_id
(e.g., "example.menu.identifier:505280")https://example.com
(the URL to open)true:Text to paste
or false:Text to paste
(true to append, false to replace existing text)message_text
or /command_text
(if it starts with "/" it's treated as a command)variable_name:variable_value
(name and value separated by colon)To add, edit, or remove actions (and statement blocks) for an element, simply right-click the element (whether it's a button, slider, ticker, or other interactive item) and then select Manage Action Script. This opens the Manage Actions screen, where you can: