quantity-menu.yml
plugins/dRotatingShop/quantity-menu.yml controls the look of the buy menu — its size, title, every slot, and each button’s icon, name and lore. Reloads with /dshop reload.
Top-level
Section titled “Top-level”title: "<dark_gray>Buy <gray>›</gray> <item>" # <item> = the item's display namesize: 27 # inventory size (multiple of 9, 9–54)fill-material: GRAY_STAINED_GLASS_PANE # empty-slot fillerPreview (the item — info only)
Section titled “Preview (the item — info only)”The centre item is an information display of what’s being bought; it does not buy (the Buy button does).
preview: slot: 13 name: "<item>" lore: - "<gray>Quantity: <yellow>{quantity}</yellow><gray>/</gray><yellow>{max}" - "<gray>Unit price: <gold>{unit_price}" - "<gray>Total: <gold>{total_price}" - "<gray>Stock: <white>{stock} <dark_gray>|</dark_gray> <gray>Limit: <white>{limit}"Preview tokens: {quantity}, {max}, {unit_price}, {total_price}, {stock}, {limit}. The title/name token <item> is the item’s display name. (Price/limit are the viewer’s own — see Pricing & Perks.)
Buttons
Section titled “Buttons”Six steppers, the Buy button, and a back button — each fully styleable:
buttons: add-1: { slot: 14, material: LIME_STAINED_GLASS_PANE, name: "<green><bold>+1", lore: [ "<gray>Add <white>1" ] } add-half: { slot: 15, material: LIME_STAINED_GLASS_PANE, name: "<green><bold>+{amount}", lore: [ "<gray>Add half a stack" ] } add-max: { slot: 16, material: LIME_STAINED_GLASS_PANE, name: "<green><bold>+{amount}", lore: [ "<gray>Add a full stack" ] } remove-1: { slot: 12, material: RED_STAINED_GLASS_PANE, name: "<red><bold>-1", lore: [ "<gray>Remove <white>1" ] } remove-half:{ slot: 11, material: RED_STAINED_GLASS_PANE, name: "<red><bold>-{amount}", lore: [ "<gray>Remove half a stack" ] } remove-max: { slot: 10, material: RED_STAINED_GLASS_PANE, name: "<red><bold>-{amount}", lore: [ "<gray>Remove a full stack" ] } buy: { slot: 26, material: PAPER, name: "<green><bold>✔ BUY", lore: [ "<gray>Buying <yellow>{quantity}</yellow> for <gold>{total_price}", "<green>▶ Click to confirm" ] } back: { slot: 18, material: ARROW, name: "<yellow>← Back to shop", lore: [ "<gray>Return without buying" ] }- The
buybutton is the only thing that completes the purchase; its lore can use the same tokens as the preview (e.g.{quantity},{total_price}). - Stepper names use
{amount}(the step size, e.g.32/64).
| Field | Description |
|---|---|
slot |
Where the button sits. |
material |
Vanilla material for the icon — or use head: instead (below). |
head |
A custom-head texture (Base64 value). Use this instead of material to put player heads on the buttons. |
name / lore |
MiniMessage. |
Using custom heads
Section titled “Using custom heads”buy: slot: 26 head: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvLi4uIn19fQ==" name: "<green><bold>BUY"- The half / full buttons are automatically hidden for non-stackable items (where they’d duplicate
±1). - Removing a button (deleting its block, or giving it a negative
slot) simply leaves it out. sizemust hold every slot you reference; out-of-range slots are ignored and logged.