Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Bedrock Tile Menu

Picture-tile server menus with arbitrary button sizes for Minecraft Bedrock Edition — no client mods, no experimental toggles. Just a resource pack (JSON UI) on top of the completely standard server Form API, with a tiny demo plugin for Nukkit-MOT.

Main menu Auction screen
Main menu with tiles of different sizes Auction house screen

Bedrock's Form API officially gives you only a vertical list of identical buttons. This project shows how to turn that same form into a hand-laid grid of differently-sized picture tiles — a big feature tile, a 2×2 grid, a wide bottom bar — while the server keeps receiving ordinary form responses.

How it works

  • The server sends a completely ordinary SimpleForm (title + content + buttons). Any server software that can send forms works: Nukkit / Nukkit-MOT, PocketMine-MP, etc.
  • The resource pack overrides ui/server_form.json. Each custom screen is gated on the exact form title ('BedrockIslands', 'Islands§r', 'Island Settings', 'Auction House'): if the title matches, the default button list is hidden and a custom tile panel is rendered instead. Any other form on the server renders normally.
  • Every tile is an image plus an invisible button bound to the form's button collection by collection_index N — pressing the tile fires form button N, so the server-side click handler is a plain getClickedButtonId().
  • Tiles have hover/press overlay states, and can even swap art based on the button text — the same slot renders donate.png when the button says Donate and settings.png when it says Island Settings (same trick powers the Make Public / Make Private toggle).
  • The first line of the form content becomes the status/balance line at the top of the panel.

Try it (Nukkit-MOT)

  1. Grab MenuDemo.jar and tile-menu-ui.zip from Releases — or build them (below).
  2. Drop MenuDemo.jar into plugins/, tile-menu-ui.zip into resource_packs/.
  3. In server.properties: force-resources=on.
  4. Join and type /menu.

The demo is deliberately non-functional: tiles only navigate between the four screens; nothing else happens. It exists to showcase the UI technique.

Build from source

# plugin (needs JDK 17+ and a Nukkit-MOT jar)
NUKKIT_JAR=/path/to/nukkit-mot.jar plugin/build.sh

# resource pack
cd resource-pack && zip -r ../tile-menu-ui.zip . -x '.*'

Make it your own

Everything lives in resource-pack/ui/server_form.json:

  • Change the title gates to your own form titles (they must match exactly, including formatting codes — that's why one screen is Islands§r).
  • Lay out tiles with nested stack_panels; each tile is a bi_pic_button instance with $bg (texture), $slot/$btn (sizes) and collection_index (which form button it fires).
  • Keep your server-side buttons in the same order as the collection_index values — the art is positional.
  • Button art sizes used here are in textures/ui/menu/ (rendered at 2× and downscaled by the client).

По-русски

Меню из картинок-плиток разного размера для Bedrock-серверов без модов на клиенте: ресурс-пак перехватывает стандартную серверную форму по точному заголовку и рисует вместо списка кнопок свою сетку плиток; клики возвращаются серверу как обычные индексы кнопок. В комплекте демо-плагин для Nukkit-MOT (/menu, четыре экрана, без игровой логики).

License

MIT


If this saved you from writing your own JSON UI from scratch — please star the repo!

About

Picture-tile server menus with arbitrary button sizes for Minecraft Bedrock — JSON UI resource pack over standard Forms, no client mods. Demo plugin for Nukkit-MOT

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages