COWMODSКаталог модов

DonutOrders

A marketplace with in-game purchases, vibe coded.

1,6 тыс.0обновлён 14 июн. 2026 г.
ЭкономикаОбщениеХранение

Описание

🛒 DonutOrders

A player-driven buy order marketplace. No chest shops. No admin setup. Just a clean GUI and automatic economy.

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 back

Seller 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 inventory

Economy

  • 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 errors

Technical

  • 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

ScreenPurpose
Main menuYour orders / Browse market / Collect stash
Your ordersView active orders, cancel, collect stash
New orderPick material, set amount and price via chat
Browse marketPaginated list of all active orders
Deliver items45-slot grid accepting only the correct material
Order detailProgress, price, expiry, stash status, cancel button

Commands

CommandDescriptionPermission
/ordersOpen the orders menu (alias: /order, /market)donutorders.use
/orders admin reloadReload config and messagesdonutorders.admin

Permissions

PermissionDescriptionDefault
donutorders.useAll /orders commands and GUI featuresEveryone
donutorders.adminAccess admin sub-commandsOP

Configuration

orders:
  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 name

All player-facing strings are in messages.yml — supports & colour codes and #RRGGBB hex colours.


Installation

  1. Drop DonutOrders.jar into your plugins/ folder.
  2. Make sure Vault and an economy plugin (e.g. EssentialsX) are installed.
  3. Start the server — config.yml and messages.yml are generated automatically.
  4. Edit allowed-materials and other options to your liking.
  5. Run /orders admin reload to apply changes without a restart.

Requirements

RequirementVersion
Paper / Purpur / Folia / Spigot1.20.x or 1.21.x
Java17+
VaultAny compatible release
Economy pluginEssentialsX, CMI, or any Vault economy

Галерея

DonutOrders Banner

Последние версии

Все версии →
release

DonutOrders 1.0.0

1.0.0
14 июн. 2026 г.1,6 тыс.Minecraft: 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2bukkit, folia, paper, purpur, spigot
Скачать
Что нового
# 🛒 DonutOrders **A player-driven buy order marketplace.** No chest shops. No admin setup. Just a clean GUI and automatic economy. > 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 back ### Seller 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 inventory ### Economy - **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 errors ### Technical - **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 `/orders` commands and GUI features | Everyone | | `donutorders.admin` | Access admin sub-commands | OP | --- ## Configuration ```yaml orders: 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 name ``` All player-facing strings are in `messages.yml` — supports `&` colour codes and `#RRGGBB` hex colours. --- ## Installation 1. Drop `DonutOrders.jar` into your `plugins/` folder. 2. Make sure Vault and an economy plugin (e.g. EssentialsX) are installed. 3. Start the server — `config.yml` and `messages.yml` are generated automatically. 4. Edit `allowed-materials` and other options to your liking. 5. Run `/orders admin reload` to 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 |