Features
GUI Screens
Overview
XAuctionHouse has 8 GUI screens, each defined by a YAML file in plugins/XCore/addons/XAuctionHouse/guis/. You can customize materials, slots, sounds, and titles for every button.
| File | Screen | Purpose |
|---|---|---|
auction.yml | Main Auction House | Browse all active listings with sorting, filtering, and pagination |
my_items.yml | My Items | View your listings, expired items, sold items, purchases, and active bids |
confirm.yml | Purchase Confirm | Confirmation screen before buying a fixed-price item |
search.yml | Search Results | Display search results with pagination |
bid_amount.yml | Bid Amount Selector | Choose how much to bid with increment buttons |
bid_confirm.yml | Bid Confirm | Final confirmation before placing a bid |
player_auction.yml | Player Auction (Admin) | Admin view of a specific player's listings |
viewer.yml | Shulker Viewer | Read-only preview of a shulker box's contents |
Main Auction House
The main screen uses a 6-row inventory (54 slots). Slots 0-44 display items; slots 45-53 hold control buttons:
- Slot 45 — Time sort (Clock): toggles between newest and oldest first
- Slot 46 — Category sort (Hopper): cycles through All, Tools, Weapons, Blocks, Armors, Spawners, Other
- Slot 47 — Listing type filter (Gold Ingot): All, Buy Now Only, Auctions Only
- Slot 48 — Previous page (Arrow)
- Slot 49 — My Items (Chest)
- Slot 50 — Next page (Arrow)
- Slot 51 — Search (Name Tag)
- Slot 52 — Favorites (Gold Nugget)
Each listed item shows blinking lore with buy/bid buttons that alternate every 10 ticks. Shulker boxes show separate left-click (buy/bid) and right-click (view contents) actions.
My Items Screen
Accessed via /ah cancel or the My Items button. This screen has 5 filter tabs:
| Filter | Shows | Actions |
|---|---|---|
| For Sale | Your active listings | Click to cancel and return the item |
| Expired | Your expired listings | Click to reclaim the item |
| Sold | Items you sold (history) | View-only (shows buyer and price) |
| My Purchases | Items you bought | Click to claim uncollected items |
| My Active Bids | Auctions where you are bidding | Shows bid status (Leading/Outbid) |
Confirmation Screens
The Purchase Confirm (confirm.yml) and Bid Confirm (bid_confirm.yml) screens show the item details with Confirm and Cancel buttons. Tax information is displayed when applicable.
The Bid Amount Selector (bid_amount.yml) shows the current bid, minimum bid, your current bid amount, three increment buttons (scaled to the auction tier), and a custom amount button that prompts you to type in chat.
Admin View
Admins can inspect any player's listings with /pah <player>. This opens the Player Auction GUI showing that player's items with filter tabs for their active, expired, sold, and bought items.
Admins can also force-remove any listing by Shift + Left-clicking it in the main auction GUI or the player view. This action is logged to the Discord admin webhook if configured.
Customizing GUIs
Each GUI YAML file supports these settings per item:
items:
ButtonName:
slot: 45 # Inventory slot (0-53)
material: CLOCK # Bukkit material name
target-title: "sort-time" # Lang key for the display name
target-lore: "nav-go-to-lore" # Lang key for lore template (optional)
sound: "minecraft:ui.button.click" # Sound on click (optional)
permission: "some.perm" # Required permission (optional)
To customize text and lore, edit lang.yml (not the GUI YAML). The GUI files control layout; the lang file controls text.