Skip to content

Bedrock UI Forms & Cumulus Integration

Minecraft Bedrock UI (Geyser/Cumulus forms) does NOT support Adventure MiniMessage tags (such as <gradient:#ff0000:#00ff00>, <bold>, or <#00d2ff>).

If raw MiniMessage strings are passed into Cumulus buttons or titles, Bedrock clients display ugly raw XML syntax: <#00d2ff><bold>BUY RANK</bold></#00d2ff>


Always wrap any dynamic or translated text using CC.toBedrock(...) before passing it to Cumulus Form builders:

// ❌ INCORRECT (Displays raw mini-message tags on Bedrock):
SimpleForm.builder()
.title(miniMessage.deserialize(configTitle))
.button(miniMessage.deserialize(buttonText))
.build();
// ✅ CORRECT:
String cleanTitle = CC.toBedrock(configTitle);
String cleanButton = CC.toBedrock(buttonText);
SimpleForm.builder()
.title(cleanTitle)
.button(cleanButton)
.build();

  1. SimpleForm: Used for menus, rank pickers, warp selectors, and cosmetic selectors.
  2. CustomForm: Used for settings, sliders, toggle switches, and input text fields.
  3. ModalForm: 2-button Yes/No confirmations (e.g. confirming purchase with BMC coins).