FAQ
Common questions about Donut QuickBuy.
Does QuickBuy replace my auction plugin?
No. It’s a front-end — it drives the auction plugin you already run (CrazyAuctions, AxAuctions, zAuctionHouse, ZelAuction or PlayerAuctions). All listings, money and rules stay in that plugin.
Which auction plugin should I use?
CrazyAuctions has the deepest hook (buy, sell, prices, categories). The others work through their own native search and listing APIs. Set auction-hook to AUTO and it detects whatever you have.
Do players need a resource pack?
No. The item picker uses the native Dialog API with icons drawn from the vanilla texture atlas. Clients too old for the dialog automatically get an inventory-GUI picker with real icons.
Can it dupe items or lose listings?
No. QuickBuy reads your auction plugin’s live in-memory data (no second copy to desync), mirrors its own buy/list transactions exactly, and runs every mutation on the buyer’s region thread behind a lock — so concurrent clicks can’t race. A pending sell item is always returned on cancel, close or quit.
How do I give ranks more sell slots?
Grant quickbuy.slots.27, quickbuy.slots.36, or quickbuy.donutplus (every slot). They default to off so OPs don’t silently unlock everything. See Commands & permissions.
Does it run on Folia / Canvas?
Yes — no BukkitScheduler/BukkitRunnable; every call uses the correct region/entity/global/async context. One jar runs on Paper, Folia and Canvas, MC 1.21.8 → 26.2.
Why does it need MC 1.21.8+?
The Quick Buy picker is built on the native Dialog API. 1.21.6/1.21.7 had an earlier, less stable form; 1.21.8 is the floor for a smooth experience. Older clients connecting through ViaVersion get the inventory-GUI fallback.
How do I change the menus or text?
Layout (titles, slots, materials) is in config.yml; every string is in messages.yml (MiniMessage). Run /quickbuy reload after editing.