Skip to main content

QuickBuy Addon - Overview

The QuickBuy Addon is a personal shop companion for Sigma Orders & Auctions that lets each player configure up to 54 quick-buy slots, each targeting a specific item from the live auction house. One click on a configured slot instantly purchases the cheapest currently active listing โ€” no browsing, no manual searching.

What It Doesโ€‹

Every player gets their own private shop layout. Each slot is bound to a material the player chooses, with an optional per-item price cap and optional minimum enchantment requirements. When a player clicks a configured slot, the addon queries the live auction in real time, finds the cheapest qualifying listing, and calls the core plugin's buy() method โ€” the same path a normal auction purchase takes, with the same balance checks, delivery, and confirmation. The shop GUI then refreshes immediately to reflect the new auction state.

Key Featuresโ€‹

Per-Player Configurable Shopโ€‹

  • Each player independently configures their own layout of up to 54 slots (server-configurable, multiple of 9)
  • Slots are private, persisted per-player as YAML, and survive restarts
  • Unconfigured slots show as a green glass pane invite; locked slots (beyond permission allotment) show as red

Real-Time Cheapest Listing Purchaseโ€‹

  • One click finds and purchases the cheapest active listing for that slot's material at that moment
  • If the targeted listing was just bought by someone else in a concurrent request, the addon silently falls through to the next-cheapest candidate โ€” no error, no failed click
  • The buyer's own listings are never matched

Dialog-Based Material Picker (1.21.6+ Java clients)โ€‹

  • Shift-clicking a slot opens a sleek scrollable Dialog UI with an embedded search box
  • All 1 000+ materials load at once in a single scrollable grid โ€” the client scrolls natively, no page reloads
  • Real vanilla item textures render inline in the buttons via Adventure's sprite object components, no resource pack needed
  • Items with applicable enchantments advance to a dedicated enchantment requirement screen with per-enchantment level dropdowns

Automatic Client Fallbackโ€‹

  • Bedrock clients (via Floodgate) and Java clients below protocol 771 (pre-1.21.6) are detected automatically โ€” via the ViaVersion API when installed, not the bridged Bukkit protocol
  • Those clients get a fully independent chest-GUI + chat picker: material browsing by page, enchantment selection by chest-GUI, price input by chat with a persistent title/subtitle overlay

Optional Per-Slot Price Capโ€‹

  • Each slot can have a max price per item, or be left unlimited ("No Limit") to always buy the absolute cheapest listing regardless of price
  • The slot lore shows "No Limit" in place of a price when uncapped

Enchantment Requirement Matchingโ€‹

  • Require specific enchantments at a minimum level (โ‰ฅ) on the purchased item
  • Enchanted books are handled via EnchantmentStorageMeta separately from regular item enchantments
  • Required enchantments are shown in the slot's lore for quick reference

Permission-Based Slot Allotmentsโ€‹

  • Server admins configure how many slots each permission group can use
  • Conflict resolution always takes the highest matching limit โ€” no permission conflicts
  • Slots beyond the player's allotment are shown as locked (non-interactive)

Configurable Command Aliasesโ€‹

  • /quickbuy ships with /qb as a built-in alias
  • Additional aliases can be added to config.yml under command-aliases โ€” effective after a restart, no rebuild needed

Fully Config-Drivenโ€‹

  • Every chat message, lore line, GUI title, Dialog label, and button text lives in config.yml
  • Translate, rebrand, or tweak without touching code

Folia-Safeโ€‹

  • Uses EntityScheduler for per-player work and AsyncScheduler for background I/O throughout
  • No Bukkit.getScheduler() calls

How It Worksโ€‹

Setup (one time per slot):

  1. Run /quickbuy (or /qb) to open your personal shop
  2. Click an empty slot or shift-click a configured slot to reconfigure it
  3. Search for and pick the material you want to auto-buy
  4. Optionally set minimum enchantment levels on the purchased item
  5. Enter a max price per item, or leave it empty for no limit

Daily use:

  1. Open /quickbuy โ€” each slot shows live availability, quantity, price-per-unit, and total cost
  2. Click any configured slot to instantly buy the cheapest matching auction listing
  3. The slot refreshes after every click โ€” what you see is always current

Requirementsโ€‹

RequirementDetails
Sigma Orders & AuctionsRequired โ€” the addon will not enable without SigmaOrders-Auction
Java21+
Paper / Folia1.21.7+ (tested on 1.21.11)
ViaVersionSoft dependency โ€” enables accurate old-client auto-detection
Floodgate / GeyserSoft dependency โ€” enables Bedrock client auto-detection

Next Stepsโ€‹