gui.yml
Detailed browse and confirm slot layout — the only menus configurable in YAML.
Based on GrzybcioRynek 1.0.3 and web 0.1.0 source.
File: plugins/GrzybcioRynek/gui.yml. Class: GuiConfigManager. Slots numbered from 0.
You configure only browse and confirm. Browse action bar 45–53 and all other GUIs are in Java — changing YAML will not move them.
browse.size
| Type | int (must be a legal Bukkit size: 9, 18, …, 54) |
| Default | 54 |
| Effect | Bukkit.createInventory(..., size, title) in MarketBrowseGUI. |
Default 54 = 6 rows. settings.gui-rows does not override this (UNUSED).
With size: 36 slots 36–53 do not exist — YAML pagination (39–41) and Java bar (45–53) will fall outside the inventory. Do not shrink without also changing slots and the bar code.
browse.border-slots
Default:
0–9, 17, 18, 26, 27, 35, 36–44
This is the list of slots treated as border for decoration. Filler (browse.filler) still fills every unused slot in range 0 … size-1.
browse.listing-slots
Default 21 slots per page:
Row 2: 10 11 12 13 14 15 16
Row 3: 19 20 21 22 23 24 25
Row 4: 28 29 30 31 32 33 34
Click → MarketDetailGUI. Slot count = items per page (getItemsPerPage()).
browse.categories
Used in MarketCategoryGUI (category GUI size = 54 hardcoded). Each entry: slot + material.
| Key | Slot | Material | Enum |
|---|---|---|---|
all | 10 | NETHER_STAR | ALL |
tools | 11 | DIAMOND_PICKAXE | TOOLS |
weapons | 12 | DIAMOND_SWORD | WEAPONS |
armor | 13 | DIAMOND_CHESTPLATE | ARMOR |
blocks | 14 | GRASS_BLOCK | BLOCKS |
food | 15 | COOKED_BEEF | FOOD |
farming | 16 | WHEAT | FARMING |
redstone | 19 | REDSTONE | REDSTONE |
decorations | 20 | PAINTING | DECORATIONS |
potions | 21 | POTION | POTIONS |
enchanted_books | 22 | ENCHANTED_BOOK | ENCHANTED_BOOKS |
other | 23 | CHEST | OTHER |
You can move a button and change the icon. You cannot add a new category — the key must be MarketCategory.configKey(). Back in this GUI: slot 49 (Java).
browse.pagination
| Key | Default | Role |
|---|---|---|
previous | 39 | Previous page (ARROW / gray glass when inactive) |
page | 40 | Indicator gui.page-indicator ({page} {total}) |
next | 41 | Next page |
Default pagination (39–41) sits in border-slots (36–44). It works because buttons are placed before filler. Do not set 45–53 — those slots are taken by the hardcoded action bar.
Browse action bar — NOT in this file
MarketBrowseGUI:
| Slot | Item | Action |
|---|---|---|
| 45 | COMPASS | Search (chat) |
| 46 | HOPPER | Sort |
| 47 | CHEST | Categories |
| 48 | CHEST_MINECART | Mailbox |
| 49 | EMERALD | Statistics |
| 50 | BELL | Alerts |
| 51 | GOLDEN_APPLE | Favorites |
| 52 | PLAYER_HEAD | My listings |
| 53 | BOOK | History |
Change requires Java edits.
browse.filler
filler:
enabled: true
material: BLACK_STAINED_GLASS_PANE
name: " "enabled: false — empty slots stay empty (still unmovable, button no-op). name is the pane display name.
confirm
| Key | Default | Effect |
|---|---|---|
size | 27 | MarketConfirmGUI size |
slots.confirm | 11 | Buy button → buyItem |
slots.item | 13 | Stack preview |
slots.cancel | 15 | Return to Detail |
confirm-material | LIME_CONCRETE | Confirm icon |
cancel-material | RED_CONCRETE | Cancel icon |
filler.enabled | true | Panes in empty slots |
filler.material | BLACK_STAINED_GLASS_PANE | Pane material |
filler.name | " " | Pane name |
Button texts: messages.gui.confirm.*, not gui.yml.
Default 54-slot browse map
0 1 2 3 4 5 6 7 8 border
9 17 border
10 11 12 13 14 15 16 listings
18 26 border
19 20 21 22 23 24 25 listings
27 35 border
28 29 30 31 32 33 34 listings
36 37 38 39 40 41 42 43 44 border + pagination 39/40/41
45 46 47 48 49 50 51 52 53 action bar (Java)
What is missing here
Detail, MyListings, Manage, Favorites, History, Mailbox, Alerts, Stats, SellerProfile, Category (size 54) — slots in code. See GUI.