
Donut Auction
a Donut Auction House plugin for Paper/Folia servers inspired by DonutSMP.
- Загрузки
- 18K
- Подписчики
- 12
- Обновлён
- 8 июня 2026 г.
- Лицензия
- All-Rights-Reserved
Опубликован 7 марта 2026 г.
DonutAuctionHouse is a standalone auction house plugin for Paper/Folia servers (Minecraft 1.20+). It offers a clean, intuitive GUI-powered marketplace where players can list, browse, search, and purchase items using any Vault-compatible economy. With optional DonutCore integration, the plugin can resolve player display names and enhance the browsing experience in networks.
Key Features
GUI-based Auction Browser
- 54‑slot inventory with pagination
- Sorting, filtering by category, and text search
- Flexible controls: price sort, filter, refresh, search, and personal listings
Player Auction Management
- View, cancel, and collect on your own listings
- Sold, expired and active auctions are separated with clear status lines
- Cancellation returns items instantly and prevents duping
Vault Economy Support
- Works with any economy plugin supported by Vault (EssentialsX, iConomy, etc.)
- Money is transferred instantly at listing or purchase time
- Customizable max price and listing duration via configuration
Configurable Storage
- Default SQLite support for lightweight setups
- Optional MySQL backing for larger networks
- HikariCP connection pooling for high performance
DonutCore Hook (Optional)
- When DonutCore is present, player names in listings are resolved with the network’s display name system
- Graceful no‑op support if DonutCore is absent—no errors or dependencies
Asynchronous & Safe
- All database operations run off the main thread
- Executor abstraction ensures server responsiveness
Modern Codebase
- Written in Java 17 with Maven build system
- Clean modular architecture (service, storage, GUI, hooks)
- Shaded dependencies prevent conflicts with other plugins
- Easy to extend or fork for custom behavior
Customizable Messages & Appearance
- Titles and button names can be adjusted via source or messages support
- Colour scheme now uses neutral (white) text with gold headers for clarity
Why Choose DonutAuctionHouse?
- Easy Setup – Drop the jar into your
pluginsfolder and configure a few values; the default SQLite storage works out-of-the-box. - Low Overhead – Lightweight and efficient; plugins are shaded and namespaced to avoid dependency clashes.
- Player-Friendly UI – The intuitive inventory-based interface means players don’t need to memorize commands or syntax.
- Robust & Safe – Carefully written to avoid dupes, race conditions, and performance issues; tested with Paper’s asynchronous threading model.
- Flexible Integration – Works on small and large servers alike, with support for Vault economies and optional DonutCore networks.
- Active Development Foundation – Designed with clean code and modularity, making it simple for server owners or developers to tweak and expand functionality.
Need a server? → Click here
Ченджлог
1.2.0Релиз26.1, 26.1.1, 26.1.2 · 8 июня 2026 г.
Quality of Life & Marketplace Expansion Update
Feature 1 — Permission-Based Auction Limits
Configurable permission-based auction limits with highest-permission-wins resolution.
New permissions:
donutauction.limit.5(default: true)donutauction.limit.10donutauction.limit.25donutauction.limit.50donutauction.limit.100donutauction.limit.unlimited(-1)
New command: /ah limit — displays your current limit, active listings, and remaining slots.
Config:
auction-limits:
enabled: true
default-limit: 5
permissions:
donutauction.limit.10: 10
donutauction.limit.25: 25
donutauction.limit.50: 50
donutauction.limit.100: 100
donutauction.limit.unlimited: -1
Feature 2 — Preserve Original Item Lore
New configurable lore system that preserves original item lore from custom item plugins.
Lore modes:
APPEND— Adds auction info below existing lore (default)REPLACE— Replaces lore entirely (legacy behavior)DISABLED— Does not modify lore at all
Config:
auction-lore:
mode: APPEND
separator: true
Compatible with: MMOItems, Oraxen, ItemsAdder, EcoItems, ExecutableItems, MythicMobs, and any custom item plugin using ItemMeta/NBT.
Feature 3 — Fast Buy System
Instant purchase mode that skips the confirmation GUI.
New permission: donutauction.fastbuy
New command: /ah fastbuy — toggles fast buy mode.
Config:
fast-buy:
enabled: true
default-state: false
require-permission: true
Behavior:
- Normal: Click item → Confirm Purchase → Purchase Complete
- Fast Buy: Click item → Purchase Complete
- Setting persists across reconnects and server restarts.
Feature 4 — Fast Sell System
Instant listing mode that uses stored settings.
New permission: donutauction.fastsell
New command: /ah fastsell — toggles fast sell mode.
Config:
fast-sell:
enabled: true
default-state: false
require-permission: true
Behavior:
- Normal:
/ah sell <price>→ Sell GUI for duration/category selection - Fast Sell:
/ah sell <price>→ Listed immediately using last settings - Automatically remembers last duration, category, and price.
Feature 5 — Shulker Box Support
Full shulker box support with content preview.
Config:
shulker-support:
enabled: true
preview-contents: true
Features:
- Preserves all contents, NBT, names, lore, enchantments, colors, and custom metadata.
- Right-click any shulker box in the auction to preview its contents.
- Read-only preview GUI prevents extraction while listed.
- No duplication exploits.
Feature 6 — Modrinth Update Checker
Modern update checker using the Modrinth API.
Config:
update-checker:
enabled: true
notify-console: true
notify-admins: true
check-interval-hours: 12
New permission: donutauction.update.notify
Behavior:
- Checks asynchronously, never blocks startup.
- Caches results, handles rate limits and API downtime.
- Notifies console on enable if update available.
- Notifies admins on join if update available.
Feature 7 — Auction Slot Expansion
Additional monetization-friendly slot permissions.
New permissions:
donutauction.slots.10donutauction.slots.25donutauction.slots.50donutauction.slots.100
Config:
auction-slots:
enabled: true
permissions:
donutauction.slots.10: 10
donutauction.slots.25: 25
donutauction.slots.50: 50
donutauction.slots.100: 100
Performance Improvements
- All database operations now use the plugin's named async executor instead of the default ForkJoinPool.
- Operation lock cleanup prevents memory leaks from accumulated auction locks.
- Fire-and-forget DB updates now include exception logging.
- Search performance optimized with cached plain-text names.
Security & Stability Fixes
- CRITICAL: Fixed item duplication exploit where server crash during purchase could duplicate items.
- CRITICAL: Fixed item duplication exploit where server crash during cancellation could duplicate items.
- CRITICAL: Fixed item duplication exploit where server crash during item collection could duplicate items.
- All inventory/economy actions now happen after database persistence succeeds.
- Failed purchases now refund money automatically.
- Failed cancellations now restore auction state automatically.
- Failed collections now restore auction state automatically.
New Permissions Summary
| Permission | Description |
|---|---|
donutauction.use |
Access to the auction house |
donutauction.sell |
Allows selling items |
donutauction.admin |
Administrative controls |
donutauction.fastbuy |
Toggle fast buy mode |
donutauction.fastsell |
Toggle fast sell mode |
donutauction.update.notify |
Update notifications |
donutauction.limit.5 |
5 listing limit |
donutauction.limit.10 |
10 listing limit |
donutauction.limit.25 |
25 listing limit |
donutauction.limit.50 |
50 listing limit |
donutauction.limit.100 |
100 listing limit |
donutauction.limit.unlimited |
Unlimited listings |
donutauction.slots.10 |
10 slot expansion |
donutauction.slots.25 |
25 slot expansion |
donutauction.slots.50 |
50 slot expansion |
donutauction.slots.100 |
100 slot expansion |
New Commands Summary
| Command | Description |
|---|---|
/ah limit |
View your auction limit and remaining slots |
/ah fastbuy |
Toggle fast buy mode |
/ah fastsell |
Toggle fast sell mode |
Migration Notes from 1.1.0 → 1.2.0
- Existing configs are safely updated with new defaults on startup.
- A new
player_preferencestable is created automatically for fast buy/sell settings. - Existing
donutcore.*permissions continue to work alongside newdonutauction.*permissions. - Existing auction data is fully compatible — no data migration required.
- The lore system defaults to
APPENDmode. Set toREPLACEto preserve 1.1.0 behavior.
1.1.0Релиз26.1, 26.1.1, 26.1.2 · 28 апреля 2026 г.
Minimum Auction Price
A new configurable minimum listing price has been added to reduce auction spam.
New config options
auction:
min-price: 10
messages:
price-below-min: '&cMinimum auction price is &6%min_price%&c.'
1.0.3Релиз1.21.11, 26.1, 26.1.1 · 4 апреля 2026 г.
- Greatly reduced file size.
1.0.2Релиз1.21.11, 26.1, 26.1.1 · 3 апреля 2026 г.
- Resolved an issue where clicking
Next Pageon/ahalways returned to page 1.
1.0.1Релиз1.21.9, 1.21.10, 1.21.11 · 18 марта 2026 г.
- fixed a bug that caused the filter not to refresh on close.
1.0.0Релиз1.21.9, 1.21.10, 1.21.11 · 7 марта 2026 г.
- First Release
Комментарии
Загружаем…