1.0.0latestDonutOrders 1.0.0Jun 14, 2026
A player-driven buy order marketplace. No chest shops. No admin setup. Just a clean GUI and automatic economy.DonutOrders
Paper · Purpur · Folia · Spigot — 1.20.x / 1.21.x · Java 17+ · Requires Vault
---How it works
1. A buyer opens/orders→ New Order → picks a material → types quantity and price-per-unit in chat. 2. Funds are escrowed immediately — buyers can't spend money they don't have. 3. Sellers browse the marketplace, pick an order, drop items into the 45-slot delivery GUI → paid on the spot. 4. Partially-filled orders keep delivered items in a virtual stash until the buyer collects them. 5. Orders expire automatically after a configurable number of days; any unspent funds are refunded. ---Features
Buyer side
- Post buy orders for any material on the server's allowed list - Escrow system — funds are withdrawn on order creation, preventing double-spending - Status tracking — Active, Completed, Expired, or Cancelled - Virtual stash — delivered items are stored server-side even when your inventory is full - Overflow protection — items that don't fit on collection are dropped at your feet - Cancel & refund — cancel any active order and receive the unspent balance backSeller side
- Browse all active orders in a paginated marketplace GUI - 45-slot delivery grid — only the correct material is accepted - Wrong-item rejection — the GUI refuses incompatible items immediately with a clear message - Partial fills — deliver as many or as few items as you want; payment is per-item - Anti-duplication lock — concurrent delivery attempts on the same order are serialised server-side - Excess item return — items beyond what the order needs are automatically returned to your inventoryEconomy
- Vault-powered — works with EssentialsX, CMI, and any Vault-compatible economy plugin - Optional seller tax as an economy sink (disabled by default) - Refunds are always exact — no rounding errorsTechnical
- Full Folia support — all scheduling uses regionalised entity/global schedulers; also works on standard Paper/Spigot - SQLite + HikariCP — orders persisted to a local WAL-mode database; no external DB required - Fully async I/O — database reads and writes never block the main thread - Shaded & relocated dependencies — no classpath conflicts with other plugins ---GUI screens
| Screen | Purpose | |---|---| | Main menu | Your orders / Browse market / Collect stash | | Your orders | View active orders, cancel, collect stash | | New order | Pick material, set amount and price via chat | | Browse market | Paginated list of all active orders | | Deliver items | 45-slot grid accepting only the correct material | | Order detail | Progress, price, expiry, stash status, cancel button | ---Commands
| Command | Description | Permission | |---|---|---| |/orders| Open the orders menu (alias:/order,/market) |donutorders.use| |/orders admin reload| Reload config and messages |donutorders.admin|Permissions
| Permission | Description | Default | |---|---|---| |donutorders.use| All/orderscommands and GUI features | Everyone | |donutorders.admin| Access admin sub-commands | OP | ---Configuration
All player-facing strings are inorders: max-per-player: 10 # Max simultaneous active orders per player default-expiry-days: 7 # Days before an unfilled order expires tax-percent: 0.0 # % of seller payout taken as economy sink (0 = off) database: filename: donutorders.db allowed-materials: - DIAMOND - EMERALD - GOLD_INGOT # ... any Bukkit Material namemessages.yml— supports&colour codes and#RRGGBBhex colours. ---Installation
1. DropDonutOrders.jarinto yourplugins/folder. 2. Make sure Vault and an economy plugin (e.g. EssentialsX) are installed. 3. Start the server —config.ymlandmessages.ymlare generated automatically. 4. Editallowed-materialsand other options to your liking. 5. Run/orders admin reloadto apply changes without a restart.Requirements
| Requirement | Version | |---|---| | Paper / Purpur / Folia / Spigot | 1.20.x or 1.21.x | | Java | 17+ | | Vault | Any compatible release | | Economy plugin | EssentialsX, CMI, or any Vault economy |
Similar projects
Plugin →Simple Voice Chat
A working voice chat in Minecraft!
76.8MSueta
Emotecraft
Create your own emotes in Minecraft.
7.5MSueta
Plasmo Voice
A proximity voice chat mod with audio positioning and lots of features
4.1MSueta
Customizable Player Models
Customize your minecraft avatar!
3.2MSueta
PatPat [Mod & Plugin]
Allows you to pat ANY loved and unloved living mobs in Minecraft!
2.8MSueta
ItemSwapper
Inventory update concept for hotswapping items.
2.1MSueta