Geyser-Menu
A Geyser extension that adds a customizable form-based menu for Bedrock players, triggered by double-clicking inventory — with a companion API for plugins to register buttons over TCP
Geyser-Menu
GeyserMenu
A Geyser extension that gives Bedrock players a native form-based menu, triggered by double-clicking their inventory button. Designed as a foundation for building rich Bedrock-friendly UIs on any Java server — without touching the Java side directly.
How It Works
Bedrock players double-click their inventory to open the menu. Companion plugins register buttons over a secure Netty TCP connection — each button can run a command, open a form, or trigger custom logic. Everything is handled server-side through the GeyserMenu Companion plugin.
Features
- Java players unaffected — opens the menu instantly for Bedrock players - Java players unaffected — companion plugins register buttons dynamically over TCP - Java players unaffected — send simple, modal, and custom forms to Bedrock players - Java players unaffected — show or hide buttons based on player permissions - Java players unaffected — detects and works alongside GeyserExtras addon buttons - Java players unaffected — Netty-based communication with shared secret authentication - Java players unaffected — detection is Bedrock-only via Floodgate
Requirements
- Geyser 21+ - Java 21+ - 21+ on your Spigot/Paper or Velocity server
Installation
1. Download `GeyserMenu.jar` and place it in your Geyser `extensions/` folder 2. Start Geyser once to generate `config.yml` 3. Set your `secret-key` and `server-port` 4. Install the companion plugin on your server with matching credentials 5. Restart — buttons registered by companion plugins will appear automatically
Configuration
```yaml default-menu-title: "Server Menu" require-authentication: true secret-key: "your-secret-key-here" server-port: 19133 ```
For Developers
Use the GeyserMenu Companion API to register buttons and send forms from your own plugins. Supports Spigot/Paper and Velocity.