Перейти к содержимому
Mineforgian

Donut Auction

a Donut Auction House plugin for Paper/Folia servers inspired by DonutSMP.

Загрузки
18K
Подписчики
12
Обновлён
8 июня 2026 г.
Лицензия
All-Rights-Reserved

Опубликован 7 марта 2026 г.

logo

Auction

logo

Discord Server Nightbeam Studio YouTube Nightbeam Studio GitHub Nightbeam Studio CurseForge Nightbeam Studio Modrinth

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?

  1. Easy Setup – Drop the jar into your plugins folder and configure a few values; the default SQLite storage works out-of-the-box.
  2. Low Overhead – Lightweight and efficient; plugins are shaded and namespaced to avoid dependency clashes.
  3. Player-Friendly UI – The intuitive inventory-based interface means players don’t need to memorize commands or syntax.
  4. Robust & Safe – Carefully written to avoid dupes, race conditions, and performance issues; tested with Paper’s asynchronous threading model.
  5. Flexible Integration – Works on small and large servers alike, with support for Vault economies and optional DonutCore networks.
  6. Active Development Foundation – Designed with clean code and modularity, making it simple for server owners or developers to tweak and expand functionality.

BisectHosting Partner 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.10
  • donutauction.limit.25
  • donutauction.limit.50
  • donutauction.limit.100
  • donutauction.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.10
  • donutauction.slots.25
  • donutauction.slots.50
  • donutauction.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_preferences table is created automatically for fast buy/sell settings.
  • Existing donutcore.* permissions continue to work alongside new donutauction.* permissions.
  • Existing auction data is fully compatible — no data migration required.
  • The lore system defaults to APPEND mode. Set to REPLACE to 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 Page on /ah always 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

Комментарии

Загружаем…