Skip to main content

Bedrock Menus

FioMenu Bedrock UI

FioMenu keeps Bedrock menus in a separate folder: bedrock_fio_menus/. These files are form-driven rather than inventory-grid driven.

How Java menus route to Bedrock menus​

The Java menu examples use:

menu:
bedrock: "example"

or:

menu:
bedrock: "settings"

That id points to a file in bedrock_fio_menus/<id>.yml, allowing one feature to have a Java layout and a Bedrock form layout at the same time.

Core Bedrock menu structure​

The bundled examples use:

menu:
type: "FLOODGATE"
form: "SIMPLE"

The source comments list supported form types:

  • SIMPLE
  • CUSTOM
  • MODAL

Main sections used by the source​

Bedrock menu files use these top-level areas:

  • menu
  • priority
  • form

priority controls button order, and form contains the actual button or rule entries.

Bedrock button structure​

The current examples use this shape:

form:
'Settings_Button':
button:
line1:
line2:
image:
type:
url:
actions:
any:

Image source modes documented in the YAML comments:

  • NONE
  • CUSTOM
  • PATH

Conditional Bedrock buttons​

bedrock_fio_menus/example.yml shows that Bedrock entries can use numbered rules just like Java menus:

'Advance':
rules0:
rules1:

That means button text, image, and actions can all change depending on placeholders or other rule results.

Bedrock settings flow​

bedrock_fio_menus/settings.yml is a good practical reference because it shows repeated toggle logic for:

  • private messages
  • AFK
  • teleport requests
  • pay access

Each button swaps between two states through rules0 and rules1, then reopens the linked settings flow after the command runs.

Action style​

The Bedrock files use the same bracketed action format as the Java menu files, including:

  • [OPEN_MENU]
  • [PLAYER]
  • [MESSAGE]
  • [SOUND]
  • [CLOSE]

That consistency is important when documenting or editing both menu families together.

When to use Bedrock forms instead of Java menus​

Use the Bedrock folder when the target experience must be friendly to Floodgate or Geyser users and you want:

  • button-first navigation
  • text and image-based entries
  • modal or custom form input flow
  • a dedicated Bedrock experience instead of forcing an inventory GUI concept