Skip to content

GUI Menus

The menu/ folder controls the visual layout of TNT Run’s inventory interfaces. These menus are used for arena setup, player statistics, spectator settings, and spectator teleporting.


Most menu files share the same structure:

  • rows: Defines the height of the GUI (1-6).
  • title: The name displayed at the top of the menu. Supports MiniMessage for colors, gradients, and bold text.
  • items: The configurable buttons, decorations, and interactive entries inside the menu.

The setup-menu.yml file defines the appearance, feedback messages, and control items of the interactive GUI opened via /tntrun edit <arena>.

CategoryPurpose
Location SettingsSets lobby, start, and end locations.
Player AmountsControls minimum and maximum player counts.
Arena SignRegisters a join sign for the arena.
Map NameSets the display name used by messages and scoreboards.
Player SettingsConfigures inventory, effects, and player state when joining.
Potion EffectsAdds or removes potion effects for arena players.
Scoreboard & BossBarToggles arena-specific visual systems.
Arena RecordsResets stored best survival records for the arena.
Register ArenaRuns the integrity check and enables the arena.

The stats-menu.yml file controls the visual layout of the statistics GUI opened by:

Terminal window
/tntrun stats [player]

These placeholders are used within item names and lore:

  • %target%: The player whose profile is being viewed.
  • %games_played%: Total TNT Run games played.
  • %wins%: Total games won.
  • %loses%: Total games lost.
  • %win_streak%: Current consecutive wins.
  • %longest_win_streak%: Highest win streak reached by the player.
  • %longest_survive%: Longest survival time across all games.
  • %arena%, %best_time%, and leaderboard placeholders: Used by arena record entries.

This menu lets spectators change personal spectator options.

ItemBehavior
Night VisionToggles night vision while spectating.
SpectatorsShows or hides other spectators.
SpeedCycles spectator movement speed.
CloseCloses the menu.

This menu displays alive players as player heads. Spectators can click a player entry to teleport to that player.

The menu also supports previous and next page buttons for larger games.


Each menu item can be customized with materials, slots, and unique properties.

PropertyDescription
slotA single inventory slot, such as slot: 13.
slotsA list of slots for repeated decoration items, such as slots: [0, 1, 2].
materialThe Bukkit material to display.
decoration-onlyIf true, the item is purely visual and cannot be interacted with.
skullUsed for PLAYER_HEAD materials. Set to %target% to show a player’s skin.
glowIf true, adds an enchantment glint to the item.
item-flagsUsed to clean up the item’s look, such as hiding attributes.
actionConnects the item to a built-in menu action.

items:
player_head:
slot: 13
name: "<#00e5ff><bold>%target%'s Profile"
material: PLAYER_HEAD
skull: "%target%"
lore: []
wins:
slot: 30
name: "<light_purple><bold>Wins"
material: NETHER_STAR
glow: true
lore:
- "<#B0BEC5>Total games won."
- ""
- "<white>Count: <light_purple>%wins%"

  • Keep important buttons in stable slots so staff and players build muscle memory.
  • Do not remove required setup items unless you know the backing menu code no longer needs them.
  • Use decoration-only filler items for visual polish without adding accidental actions.
  • Test every changed menu with a non-OP account when possible.