AT-ShoppingMallAT-ShoppingMall

In-Game Menus

A tour of every clickable menu in the plugin, from the player hub to the admin panel, warps, audit log, and eviction queue.

Almost everything in AT-ShoppingMall is done through in-game menus, so players rarely have to remember commands. This page walks through every menu, how to open it, and what each button does.

Two habits to know. Buttons that destroy or reset something ask for a double-click: click once, then click again within 5 seconds to confirm. Buttons that need you to type (a price, a name, a reason) close the menu and wait for your chat message, then reopen.

These are open to everyone, no permission needed.

These need the shoppingmall.admin permission.

Not everything is a menu. /sm pwarp <name> and /sm members add|remove <player> run straight from the command line. The full list is on the Commands page.

Customizing the menus

Every menu is a file you can edit: titles, item names, materials, slots, height, and filler. The files live in plugins/AT-ShoppingMall/menus/ (one .yml per menu). The ranks menu is the one exception, its look lives in ranks.yml next to the rank data, see Player Ranks.

After editing, run /sm reload to apply the changes. No restart needed.

Each menu file has a menu-version line at the top. Leave it as-is. It lets a plugin update merge in new keys (and their comments) without wiping your edits. Don't lower it by hand.

Set a menu's height with rows:, a number from 1 to 6 (each row is 9 slots). The bottom row is usually reserved for navigation and buttons.

menus/browse_plots.yml
rows: 4

Older files set the height as a slot count (size: 54). If yours still has size:, the plugin converts it to rows: for you the first time it loads (slots divided by nine, rounded up) and removes the old key. You don't have to change anything.

Entry list slots (entries)

Six menus show a paginated list of things: Browse Plots, My Plots, Player Warps, Mall Warps, Evicted Items (the grid where you reclaim your belongings), and Members (a plot's member heads). On these you can pick exactly which slots the list fills with the entries key, handy when you raise rows and want the list laid out a certain way.

entries is a 0-based list of slots (slot 0 is the top-left), written as a comma-separated mix of single slots and A-B ranges:

menus/warps.yml
rows: 6
entries: "0-44"            # the whole grid above the bottom button row
entries: "10-16, 19-25, 28-34"   # three centred rows
entries: "0, 2, 4, 6, 8"         # every other slot on the top row

A few things worth knowing:

  • The list fills the slots in the order you list them, and the number of slots sets how many entries show per page. Anything that doesn't fit moves to the next page.
  • Leave it blank (entries: "") to fall back to the default: every slot above the bottom button row. On My Plots and Members a blank value (with rows: 0) also restores their auto-fit height (the menu grows with the list); a written entries pins them to 6 rows so every slot fits.
  • Keep your button slots out of the list (page arrows, search, back, etc.). The buttons are drawn on top, so an entry sharing a button's slot would be hidden.

Page number (page-format)

Browse Plots, Evicted Items, and Members add a page number to the menu title, controlled by the page-format key. {page} is the current 1-based page.

menus/evicted_items.yml
page-format: " &8(Page {page})"   # default, shows "(Page 1)"
page-format: ""                    # hide the page number entirely

Leave it blank (page-format: "") to drop the suffix, handy when a resource pack styles the title and the page number gets in the way.

Admin filter button (admin.yml)

The Filter button in the admin panel cycles which plots are shown (All / Available / Rented / Purchased / Unavailable). Its icon, name, and lore are edited like any other item, plus two extras.

The status list in the lore. Put {filters} on its own lore line and it expands into the five status rows, with an arrow marking the active one. Any other line is shown as plain text, so you can wrap the list however you like, or drop {filters} to hide it.

menus/admin.yml
items:
  filter:
    slot: 49
    material: HOPPER
    model-data: 0
    name: "&#C77DFF&lFilter Plots"
    lore:
      - "{filters}"          # expands into the 5 status rows
      - ""
      - "&eClick to cycle filter"

The title tag. While a filter is active the admin title gets a tag showing which status is selected, controlled by the top-level filter-title-suffix key. {filter} is the status name.

menus/admin.yml
filter-title-suffix: " &8[{filter}]"   # default, shows "[RENTED]" and so on
filter-title-suffix: ""                # hide the tag entirely

Leave it blank (filter-title-suffix: "") to remove the tag.

Filler

The filler key fills the empty slots of a menu. The simple form is a single material:

filler: GRAY_STAINED_GLASS_PANE

Use NONE (or AIR / EMPTY) to switch the filler off and leave empty slots blank.

For more control, the advanced form takes a background material plus extra items on specific slots:

filler:
  material: GRAY_STAINED_GLASS_PANE   # background; NONE disables it
  model-data: 0
  name: " "
  items:
    border:
      material: BLACK_STAINED_GLASS_PANE
      name: " "
      slots: [0, 8, 36, 44]
      model-data: 0

Decorations

Decorations are fixed items placed before the filler, handy for borders and accents. Each one sets a material, a name, optional lore, and the slots it sits in. A PLAYER_HEAD can take a base64 texture.

decorations:
  accent-corners:
    material: RED_STAINED_GLASS_PANE
    name: "&f"
    slots: [0, 8, 36, 44]

Custom icon models

Every menu item accepts a model-data number for a custom resource-pack model. 0 (the default) keeps the normal icon, and a positive number picks a model from your pack.

items:
  info:
    material: BOOK
    model-data: 0

A few icons are built from live data (player heads, stored chest contents, plot previews) and don't take a model-data key. Those are clearly commented in the file.

Optional close button (main menu)

The main menu has a built-in close button that is hidden by default. Give it a real slot in menus/main_menu.yml to show it, or leave the slot at -1 to keep it hidden.

menus/main_menu.yml
items:
  close:
    slot: -1            # set to a real slot (e.g. 40) to show it
    material: BARRIER
    name: "&cClose"

Back and close together

Three menus normally show one bottom button: Back when you reach them from the main menu, Close otherwise. These are Mall Warps (menus/warps.yml), Player Warps (menus/player_warps.yml), and Evicted Items (menus/evicted_plots.yml). To show both at once, set show-both-buttons: true in that menu's file.

menus/warps.yml
show-both-buttons: true
items:
  back:
    slot: 48
  close:
    slot: 50

The Ranks menu (ranks.yml) has the same toggle, with one difference: it always shows a Back button (which returns to the main menu), and turning show-both-buttons: true on adds a Close button beside it. Its default slots are Info 22 / Back 26 / Close 18 on the fixed 3-row menu.

When you turn this on you must give back and close different slot values, as shown above. They share a default slot (49 on the warps menus, 22 on Evicted Items), so if you leave them sharing a slot the menu logs a console warning each time it opens and falls back to showing only the Back button until you fix it. On the Ranks menu back and close default to different slots (26 and 18) already, so the warning only fires if you move one on top of the other.

On this page