GUI Menus
Last updated Jul 6, 2026
GUI Menus
Inventory menus are controlled by gui.enabled in config.yml and layout in gui.yml.
When GUIs are disabled, use /sf help and subcommands instead.
Global GUI settings
From gui.yml settings:
| Key | Default | Description |
|---|---|---|
enabled |
true |
Note: master kill switch is config.yml → gui.enabled |
filler-material |
GRAY_STAINED_GLASS_PANE |
Empty slot filler |
filler-name |
" " |
Filler display name |
open-sound |
BLOCK_CHEST_OPEN |
Sound on open |
open-sound-volume |
0.7 |
Open volume |
open-sound-pitch |
1.2 |
Open pitch |
click-sound |
UI_BUTTON_CLICK |
Click sound (NONE to disable) |
click-sound-volume |
0.5 |
Click volume |
click-sound-pitch |
1.0 |
Click pitch |
Menu size
size is row count (3 to 6), not total slots.
| Menu | Rows | Slots |
|---|---|---|
| Main Hub | 4 | 36 |
| Player Stats | 3 | 27 |
| Player Settings | 3 | 27 |
| Admin Control | 3 | 27 |
| Room Browser | 5 | 45 |
| Leaderboard Rooms | 5 | 45 |
| Leaderboard View | 5 | 45 |
| Schematic Browser | 5 | 45 |
Menus
Main Hub (/sf menu)
| Slot item | Action | Permission |
|---|---|---|
| Leaderboards | Open leaderboard room list | None |
| Your Stats | Open player stats | None |
| Commands | Run help | None |
| Quick Join | Join random available room | None |
| Room Browser | Open room browser | None |
| Session Status | Display only | None |
| Admin Control | Open admin panel | soapsfloor.admin.gui |
| Leave Session | Leave current run | None |
| Settings | Open settings | soapsfloor.admin.gui |
| Close | Close menu | None |
Room Browser
Paginated list of rooms. Click a room to join.
Placeholders on room items: {room_id}, {floors}, {players}, {max_players}, {status}, {best_time}.
Player Stats (/sf stats)
Shows {total_kills}, {games_completed}, {best_time_current_room}, {best_time_overall}, {best_room_name}, {rooms_with_best}.
Player Settings
| Toggle | Action |
|---|---|
| Feedback Mode | Chat vs actionbar for editor feedback |
| Actionbar Hints | Editor wand hints |
| Floor Preview | Ghost block previews |
Admin Control
| Button | Action | Permission |
|---|---|---|
| Reload Config | /sf reload |
soapsfloor.admin.gui |
| Debug Info | /sf debug |
soapsfloor.admin.gui |
| Room Browser | Open browser | None |
| Main Hub | Return to hub | None |
Leaderboards
- Pick a room from the room list.
- View Best Time or Best Kills tabs.
Schematic Browser
Used from /sf wand schematics or shift + right-click wand in editor.
- Lists
.schemfiles fromplugins/SoapsFloor/schematics/ - Empty folder shows a notice item
- After selecting a schematic, the floor selector sub-menu sets layer count
GUI actions
Defined in gui.yml header comments:
| Action | Effect |
|---|---|
[close] |
Close menu |
[open_menu] <id> |
Open another menu |
[command] <cmd> |
Player runs command |
[prev_page] / [next_page] |
Pagination |
[refresh] |
Refresh current menu |
[join_random] |
Join random room |
[leave_session] |
Leave session |
[help] |
Show help |
[toggle] feedback |
Toggle feedback mode |
[toggle] actionbar |
Toggle actionbar hints |
[toggle] preview |
Toggle floor preview |
[reload] |
Reload config |
[debug] |
Show debug info |
[tab] time / [tab] kills |
Leaderboard tab |
[none] |
Decorative only |
Menu IDs for [open_menu]: main_hub, room_browser, stats, settings, admin, leaderboards, leaderboard_view, schematic_browser.
Per-item permissions
Add permission: soapsfloor.some.perm on a gui.yml item to hide it from players without that node.
Customizing
Edit titles, materials, lore, and slots in gui.yml. Use MiniMessage formatting. Reload with /sf reload.