{"id":53166,"date":"2026-06-03T01:57:39","date_gmt":"2026-06-02T22:57:39","guid":{"rendered":"https:\/\/vpesports.com\/minecraft\/mods\/custommenu\/"},"modified":"2026-06-03T01:57:39","modified_gmt":"2026-06-02T22:57:39","slug":"custommenu","status":"publish","type":"mod","link":"https:\/\/vpesports.com\/minecraft\/mods\/custommenu\/","title":{"rendered":"CustomMenu"},"content":{"rendered":"<p># CustomMenu<\/p>\n<p>**Create beautiful menus for both Bedrock and Java players!**<\/p>\n<p>CustomMenu is a powerful Paper plugin that lets you create custom menus using simple YAML files. It automatically shows the right UI for each player &#8211; Bedrock players see native forms, Java players see the new Dialog API.<\/p>\n<p>&#8212;<\/p>\n<p>## \u2728 Features<\/p>\n<p>| Feature | Description |<br \/>\n|&#8212;&#8212;&#8212;|&#8212;&#8212;&#8212;&#8212;-|<br \/>\n| \ud83c\udfae **Cross-Platform** | Works for both Bedrock (via Floodgate) and Java players |<br \/>\n| \ud83d\udccb **Easy YAML Config** | Simple, readable menu configuration files |<br \/>\n| \ud83d\udd04 **Hot Reload** | Reload menus without restarting the server |<br \/>\n| \ud83d\uddbc\ufe0f **Button Images** | Add icons to buttons (Bedrock only) |<br \/>\n| \ud83d\udcdd **Input Forms** | Text fields, dropdowns, toggles, sliders |<br \/>\n| \ud83d\udd10 **Permissions** | Per-menu permission control |<br \/>\n| \u26a1 **Lightweight** | No dependencies required |<\/p>\n<p>&#8212;<\/p>\n<p>## \ud83d\udce6 Installation<\/p>\n<p>1. Download the JAR file<br \/>\n2. Place it in your `\/plugins\/` folder<br \/>\n3. Restart your server<br \/>\n4. Edit menus in `\/plugins\/CustomMenu\/menu\/`<\/p>\n<p>&#8212;<\/p>\n<p>## \ud83c\udfae Commands<\/p>\n<p>| Command | Permission | Description |<br \/>\n|&#8212;&#8212;&#8212;|&#8212;&#8212;&#8212;&#8212;|&#8212;&#8212;&#8212;&#8212;-|<br \/>\n| `\/cmenu open <\/p>\n<menu>` | `custommenu.open` | Open a menu |<br \/>\n| `\/cmenu reload` | `custommenu.reload` | Reload all menus |<br \/>\n| `\/cmenu list` | `custommenu.list` | List available menus |<\/p>\n<p>### Permissions<\/p>\n<p>&#8211; `custommenu.open` &#8211; Use the open command<br \/>\n&#8211; `custommenu.open.<\/p>\n<menu>` &#8211; Open specific menu<br \/>\n&#8211; `custommenu.reload` &#8211; Reload menus (default: op)<br \/>\n&#8211; `custommenu.list` &#8211; List menus (default: true)<\/p>\n<p>&#8212;<\/p>\n<p>## \ud83d\udcdd Menu Configuration<\/p>\n<p>Create `.yml` files in `\/plugins\/CustomMenu\/menu\/`<\/p>\n<p>### Simple Button Menu<\/p>\n<p>&#8220;`yaml<br \/>\ntitle: &#8220;Server Menu&#8221;<br \/>\ncontent: &#8220;Welcome! Choose an option:&#8221;<\/p>\n<p>buttons:<br \/>\n  &#8211; text: &#8220;Spawn&#8221;<br \/>\n    action: command<br \/>\n    value: spawn<\/p>\n<p>  &#8211; text: &#8220;Shop&#8221;<br \/>\n    action: command<br \/>\n    value: shop<\/p>\n<p>  &#8211; text: &#8220;Close&#8221;<br \/>\n    action: close<br \/>\n&#8220;`<\/p>\n<p>### Button with Image (Bedrock)<\/p>\n<p>&#8220;`yaml<br \/>\nbuttons:<br \/>\n  &#8211; text: &#8220;Spawn&#8221;<br \/>\n    action: command<br \/>\n    value: spawn<br \/>\n    image: &#8220;https:\/\/example.com\/icon.png&#8221;<br \/>\n    image_type: url<br \/>\n&#8220;`<\/p>\n<p>### Form with Inputs<\/p>\n<p>&#8220;`yaml<br \/>\ntitle: &#8220;Player Report&#8221;<br \/>\ncontent: &#8220;Fill out the form:&#8221;<\/p>\n<p>inputs:<br \/>\n  &#8211; type: input<br \/>\n    id: player<br \/>\n    label: &#8220;Player Name&#8221;<br \/>\n    placeholder: &#8220;Enter name&#8230;&#8221;<\/p>\n<p>  &#8211; type: dropdown<br \/>\n    id: reason<br \/>\n    label: &#8220;Reason&#8221;<br \/>\n    options:<br \/>\n      &#8211; Cheating<br \/>\n      &#8211; Griefing<br \/>\n      &#8211; Spam<\/p>\n<p>  &#8211; type: toggle<br \/>\n    id: urgent<br \/>\n    label: &#8220;Urgent&#8221;<br \/>\n    default: &#8220;false&#8221;<\/p>\n<p>submit:<br \/>\n  text: &#8220;Submit Report&#8221;<br \/>\n  action: console<br \/>\n  value: &#8220;report {player} {reason} {urgent}&#8221;<br \/>\n&#8220;`<\/p>\n<p>&#8212;<\/p>\n<p>## \ud83d\udd27 Actions<\/p>\n<p>| Action | Description | Example |<br \/>\n|&#8212;&#8212;&#8211;|&#8212;&#8212;&#8212;&#8212;-|&#8212;&#8212;&#8212;|<br \/>\n| `command` | Run as player | `spawn` |<br \/>\n| `console` | Run as console | `give {player} diamond 1` |<br \/>\n| `message` | Send message | `Hello {player}!` |<br \/>\n| `menu` | Open menu | `settings` |<br \/>\n| `close` | Close menu | &#8211; |<\/p>\n<p>&#8212;<\/p>\n<p>## \ud83d\udccc Placeholders<\/p>\n<p>| Placeholder | Description |<br \/>\n|&#8212;&#8212;&#8212;&#8212;-|&#8212;&#8212;&#8212;&#8212;-|<br \/>\n| `{player}` | Player name |<br \/>\n| `{uuid}` | Player UUID |<br \/>\n| `{input_id}` | Value from input |<\/p>\n<p>&#8212;<\/p>\n<p>## \ud83c\udfa8 Input Types<\/p>\n<p>| Type | Description | Platform |<br \/>\n|&#8212;&#8212;|&#8212;&#8212;&#8212;&#8212;-|&#8212;&#8212;&#8212;-|<br \/>\n| `input` \/ `text` | Text field | Both |<br \/>\n| `dropdown` | Select list | Both |<br \/>\n| `toggle` \/ `bool` | On\/Off switch | Both |<br \/>\n| `slider` | Number range | Both |<br \/>\n| `label` | Display text | Both |<\/p>\n<p>&#8212;<\/p>\n<p>## \ud83d\udd17 Platform-Specific Settings<\/p>\n<p>&#8220;`yaml<br \/>\ntitle: &#8220;Menu&#8221;<br \/>\ncontent: &#8220;Select option:&#8221;<\/p>\n<p>buttons:<br \/>\n  &#8211; text: &#8220;Option&#8221;<br \/>\n    action: command<br \/>\n    value: test<\/p>\n<p># Override for Bedrock players<br \/>\nform:<br \/>\n  title: &#8220;Bedrock Menu&#8221;<br \/>\n  content: &#8220;Tap to select!&#8221;<\/p>\n<p># Override for Java players<br \/>\ndialog:<br \/>\n  title: &#8220;Java Menu&#8221;<br \/>\n  content: &#8220;Click to select!&#8221;<br \/>\n&#8220;`<\/p>\n<p>&#8212;<\/p>\n<p>## \ud83d\udccb Requirements<\/p>\n<p>&#8211; **Paper 1.21.7+** (required for Dialog API)<br \/>\n&#8211; **Floodgate** (optional, for Bedrock support)<\/p>\n","protected":false},"excerpt":{"rendered":"<p>CustomMenu is a powerful Paper plugin that lets you create custom menus using simple YAML files. It automatically shows the right UI for each player &#8211; Bedrock players see native forms, Java players see the new Dialog API.<\/p>\n","protected":false},"featured_media":0,"template":"","meta":{"_minecraft_slug":"custommenu","_minecraft_project_id":"wf93OdhG","_minecraft_author":"UnReal-HaFiz","_minecraft_license":"MIT","_minecraft_downloads":84,"_minecraft_follows":1,"_minecraft_client_side":"unsupported","_minecraft_server_side":"required","_minecraft_storage_type":"zip","_minecraft_archive_name":"custommenu.zip","_minecraft_size_bytes":25533,"_minecraft_version_count":1,"_minecraft_updated_at":"2026-05-15T20:06:26.909428Z","_minecraft_date_created":"2026-01-17T23:50:32.682669Z","_minecraft_date_modified":"2026-01-13T09:26:49.267006Z","_minecraft_project_url":"https:\/\/modrinth.com\/mod\/custommenu","_minecraft_icon_attachment_id":0,"_minecraft_imported_at":"2026-06-02T22:57:40+00:00","_minecraft_import_hash":"340e08708c1e64ea7046f755ba4de9e1","_minecraft_versions":"","_minecraft_links":"","_minecraft_gallery":"","_minecraft_api_metadata":""},"mod_category":[124,125,1003,126,127,128,129,92],"mod_loader":[130,131,1004,132,133,134],"minecraft_version":[40,41,80,81,82],"class_list":["post-53166","mod","type-mod","status-publish","hentry","mod_category-bukkit","mod_category-folia","mod_category-geyser","mod_category-management","mod_category-paper","mod_category-purpur","mod_category-spigot","mod_category-utility","mod_loader-bukkit","mod_loader-folia","mod_loader-geyser","mod_loader-paper","mod_loader-purpur","mod_loader-spigot","minecraft_version-1-21-10","minecraft_version-1-21-11","minecraft_version-1-21-7","minecraft_version-1-21-8","minecraft_version-1-21-9"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>CustomMenu - Minecraft<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/vpesports.com\/minecraft\/mods\/custommenu\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"CustomMenu - Minecraft\" \/>\n<meta property=\"og:description\" content=\"CustomMenu is a powerful Paper plugin that lets you create custom menus using simple YAML files. It automatically shows the right UI for each player - Bedrock players see native forms, Java players see the new Dialog API.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vpesports.com\/minecraft\/mods\/custommenu\/\" \/>\n<meta property=\"og:site_name\" content=\"Minecraft\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/custommenu\\\/\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/custommenu\\\/\",\"name\":\"CustomMenu - Minecraft\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/#website\"},\"datePublished\":\"2026-06-02T22:57:39+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/custommenu\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/custommenu\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/custommenu\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Mods\",\"item\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"CustomMenu\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/#website\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/\",\"name\":\"Minecraft\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"CustomMenu - Minecraft","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/vpesports.com\/minecraft\/mods\/custommenu\/","og_locale":"en_US","og_type":"article","og_title":"CustomMenu - Minecraft","og_description":"CustomMenu is a powerful Paper plugin that lets you create custom menus using simple YAML files. It automatically shows the right UI for each player - Bedrock players see native forms, Java players see the new Dialog API.","og_url":"https:\/\/vpesports.com\/minecraft\/mods\/custommenu\/","og_site_name":"Minecraft","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/vpesports.com\/minecraft\/mods\/custommenu\/","url":"https:\/\/vpesports.com\/minecraft\/mods\/custommenu\/","name":"CustomMenu - Minecraft","isPartOf":{"@id":"https:\/\/vpesports.com\/minecraft\/#website"},"datePublished":"2026-06-02T22:57:39+00:00","breadcrumb":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/custommenu\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vpesports.com\/minecraft\/mods\/custommenu\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/vpesports.com\/minecraft\/mods\/custommenu\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/vpesports.com\/minecraft\/"},{"@type":"ListItem","position":2,"name":"Mods","item":"https:\/\/vpesports.com\/minecraft\/mods\/"},{"@type":"ListItem","position":3,"name":"CustomMenu"}]},{"@type":"WebSite","@id":"https:\/\/vpesports.com\/minecraft\/#website","url":"https:\/\/vpesports.com\/minecraft\/","name":"Minecraft","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/vpesports.com\/minecraft\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"_links":{"self":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod\/53166","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod"}],"about":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/types\/mod"}],"wp:attachment":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/media?parent=53166"}],"wp:term":[{"taxonomy":"mod_category","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_category?post=53166"},{"taxonomy":"mod_loader","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_loader?post=53166"},{"taxonomy":"minecraft_version","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/minecraft_version?post=53166"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}