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

ВЕРСИИ (20)

release

2.0.0

2.0.0
24 окт. 2026 г.208Minecraft: 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.2, 26.2, 26.3folia, paper, purpur
Скачать
Что нового
# DonutOrders 2.0.0: The Supply Update **Supported platforms:** Paper, Folia and Purpur, Minecraft 1.20.1 through 26.3 (one jar). Plain Spigot is no longer supported: the plugin needs Paper's API and says so on startup. Paper is a drop-in replacement. A full rebuild of DonutOrders. Every order is now a conditional database update that only one click, thread or server can win, and money moves only after the database has decided. Tested end to end on 14 Paper and Folia servers from 1.20.1 to 26.3, and on two servers sharing one MySQL database. ## The board - Sorts: money per item, recently listed, most delivered, most paid, ending soon. - Nine categories, search by item, enchantment or player (`/orders diamond`), and a "what I can deliver" filter. - `/orders view <player>`. Each order shows the buyer, the price each, a progress bar, what is still wanted, what was paid out and the time left. ## Delivering and selling - The delivery menu takes only items the order accepts, shows the payout (and tax) as you fill it, and has an "add from inventory" button. - Shift-click an order on the board to deliver straight from your inventory. - Shulker boxes are opened: the order takes what it wants, and the box comes back with the rest. - **`/orders sell` and `/orders sell all`** sell into the best-paying orders first, after a confirmation that shows the payout. - Anything an order did not take comes back. What does not fit goes to your mailbox; nothing is ever dropped. ## Creating orders - An item picker with every item of your server, by category or search. - "Order the item in your hand" for potions, goat horns, custom items and anything with variants. - Enchanted books: an enchantment and level picker from the server's registry. - The setup menu: - amount buttons, and typed amounts and prices (`2.5k`, `1m` and `3b` work); - a duration picker, and the full cost with fee and balance after; - "outbid the best order" and "use the average"; - price insight (average, range, last price, volume and open demand) and a warning when the price is far above the market. - `/order create <item|hand> <amount> <price> [time]` creates without menus. ## Your orders - Collect delivered items any time; only whole stacks that fit are handed over. Collect all in one click. - **Change an order**: add items, raise or lower the price, add time. The money difference is charged or refunded. - Cancel for an instant refund of the money still held. Delivered items stay collectable. - A mailbox, history of finished orders and of your deliveries, and your lifetime totals. ## Notifications - Delivery alerts to the buyer, gathered per order (one line for a burst of deliveries), in chat, the action bar or both. - A title and sound when an order fills. - Book orders name their enchantment everywhere: "Enchanted Book (Mending)". - A "while you were away" summary on join: deliveries, filled orders, refunds. - Works across servers: a buyer on another server of the network is told there. - `/order alerts` mutes delivery alerts and new-order announcements. - Clickable new-order announcements, with a minimum value and a cooldown. ## Economy and rules - Creation fee (flat, percent, cap, refund on cancel, exempt permission) and seller tax with permission tiers. Both can pay into an account. - Price limits globally and per material or book, a cap on amount and on order value, and a creation cooldown. - Open-order limits by permission (`donutorders.limit.<n>`) or LuckPerms group. - Duration options with permission caps. - Blacklist with wildcards, names, lore, model data and plugin data; an optional whitelist; disabled worlds and game modes. - Matching rules for renamed, worn, enchanted and custom items, book levels, and custom-item ids (Nexo, Oraxen). - Same-address deliveries: off, alert staff and Discord, or block. ## Staff and integrations - Shift-right-click to cancel any order from the board (refunded, with an optional reason the buyer sees). - `/orderadmin view`, `history`, `cancel`, `purge`, `info`, `freeze` and `unfreeze`. - **Server orders**: unlimited or fixed demand paid by the server. - Discord webhooks (created, delivered, filled, cancelled, expired, suspicious). - PlaceholderAPI (17 placeholders, including best and average prices per material). - A developer API with cancellable events and sell routing for `/sell` plugins. - A daily transaction log and bStats. - MySQL or MariaDB for several servers, with optional Redis for instant updates. Every message is in `messages.yml` (MiniMessage, `&` codes, hex, optional small caps). ## Fixed from 1.x - Sellers were paid before the order was updated, so a race could pay twice. Payment now follows the database update. - Stash items beyond 54 slots were discarded. Delivered items are now stored without limit. - Expired orders refunded their money only when the buyer collected the stash. Expiry now refunds at once, and so do 1.x orders it imports. - Several delivery-menu and close-event paths could return items twice (issue #5 was fixed in 1.9.1). The new menu hands items over exactly once, through logouts, deaths and shutdowns. ## Upgrading from 1.x 1. Back up `plugins/DonutOrders/` (and your MySQL database). 2. Replace the jar and restart. 3. The plugin carries your data and settings over: - Orders and stash items are imported once. The 1.x tables are left untouched. - Open orders keep their held money. Expired orders whose money was never refunded are refunded once. - The 1.x `config.yml`, `messages.yml` and `items.yml` move to `legacy-1.x/`. Limits, rank limits, expiry, tax, broadcast, database and the item list (as `whitelist.materials`) are written into the new `config.yml`. - Messages start from the 2.0 defaults. 4. The permissions `donutorders.use`, `donutorders.admin` and `donutorders.limit.<n>` and the placeholder `%donutorders_order_limit%` keep working.
release

1.9.2

1.9.2
28 сент. 2026 г.8,1 тыс.Minecraft: 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.2, 26.2, 26.3bukkit, folia, paper, purpur, spigot
Скачать
Что нового
# Patch notes ## 1.9.2 - Added Minecraft **26.3** support (Paper / Folia / Spigot / Purpur); existing 1.20.6, 1.21.x, 26.1.x, and 26.2 support is unchanged - Compiled against Paper API `26.3.build.49-alpha` (latest published 26.3 API jar); `plugin.yml` `api-version` stays `1.20` so older servers still load - Tested against Paper 26.3 build #133 (ALPHA), Paper 26.2 build #129, and Paper 1.20.6 build #151 ## 1.9.1 - Fixed delivery item duplication when cancelling after proceeding from the deliver-items box (GitHub #5): cancel and GUI close no longer both return the same snapshot - Delivery items are returned exactly once on cancel, ESC-close, disconnect, death, and plugin disable; double-click confirm/cancel cannot duplicate or lose the box contents ## 1.9.0 - Split commands: `/order` (your active orders), `/order history`, `/orders` (public market), `/orderadmin` (reload, history, simulate) - Order history GUI for completed, expired, cancelled, and claimed orders - `/orderadmin reload` works from console; admin history view for any player ## 1.8.1 - New-order chat input (amount, price, cancel keyword) now reads Paper's Adventure chat event so integers are accepted on 1.20.1–26.2 - Amount/price parsing ignores color codes and commas; whole values like `64.0` work - Folia no longer treats a retired entity callback as cancel while you are typing a number ## 1.8.0 - Added bStats metrics (plugin ID **33559**) - Hardened Modrinth update check for [donut-orders](https://modrinth.com/plugin/donut-orders): pick newest release by date, strip version suffixes, warn in console, notify `donutorders.admin` on join (`update-check.notify-ops-on-join`) - Confirmed support matrix: Bukkit / Spigot / Paper / Purpur / Folia on Minecraft **1.20.1–26.2** - Relicensed to Apache-2.0; added OSS contributor docs; removed committed build/AI clutter ## 1.7.0 - New-order chat broadcast to other online players (`orders.broadcast-on-create`, `order-created-broadcast`) - Folia-safe: recipients messaged on their entity thread ## 1.6.1 - Fixed empty enchanted-book Select Enchant picker on modern Paper - Enchant list cache clears on `/orders admin reload` ## 1.6.0 - MySQL storage backend and cross-server order sync - `updated_at` tracking and optimistic updates to reduce duplicate payouts ## 1.5.1 - Folia enable crash fix (`runAsync` / scheduler hardening) ## 1.5.0 - Enchanted book orders, VIP order limits, New Order item search ## 1.3.1 - Fixed New Order picker Previous page always returning to page 1
release

1.9.1

1.9.1
26 сент. 2026 г.481Minecraft: 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.2, 26.2bukkit, folia, paper, purpur, spigot
Скачать
Что нового
# Patch notes ## 1.9.1 - Fixed delivery item duplication when cancelling after proceeding from the deliver-items box (GitHub #5): cancel and GUI close no longer both return the same snapshot - Delivery items are returned exactly once on cancel, ESC-close, disconnect, death, and plugin disable; double-click confirm/cancel cannot duplicate or lose the box contents ## 1.9.0 - Split commands: `/order` (your active orders), `/order history`, `/orders` (public market), `/orderadmin` (reload, history, simulate) - Order history GUI for completed, expired, cancelled, and claimed orders - `/orderadmin reload` works from console; admin history view for any player ## 1.8.1 - New-order chat input (amount, price, cancel keyword) now reads Paper's Adventure chat event so integers are accepted on 1.20.1–26.2 - Amount/price parsing ignores color codes and commas; whole values like `64.0` work - Folia no longer treats a retired entity callback as cancel while you are typing a number ## 1.8.0 - Added bStats metrics (plugin ID **33559**) - Hardened Modrinth update check for [donut-orders](https://modrinth.com/plugin/donut-orders): pick newest release by date, strip version suffixes, warn in console, notify `donutorders.admin` on join (`update-check.notify-ops-on-join`) - Confirmed support matrix: Bukkit / Spigot / Paper / Purpur / Folia on Minecraft **1.20.1–26.2** - Relicensed to Apache-2.0; added OSS contributor docs; removed committed build/AI clutter ## 1.7.0 - New-order chat broadcast to other online players (`orders.broadcast-on-create`, `order-created-broadcast`) - Folia-safe: recipients messaged on their entity thread ## 1.6.1 - Fixed empty enchanted-book Select Enchant picker on modern Paper - Enchant list cache clears on `/orders admin reload` ## 1.6.0 - MySQL storage backend and cross-server order sync - `updated_at` tracking and optimistic updates to reduce duplicate payouts ## 1.5.1 - Folia enable crash fix (`runAsync` / scheduler hardening) ## 1.5.0 - Enchanted book orders, VIP order limits, New Order item search ## 1.3.1 - Fixed New Order picker Previous page always returning to page 1
release

1.9.0

1.9.0
28 авг. 2026 г.5,7 тыс.Minecraft: 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.2, 26.2bukkit, folia, paper, purpur, spigot
Скачать
Что нового
- Split commands: `/order` (your active orders), `/order history`, `/orders` (public market), `/orderadmin` (reload, history, simulate) - Order history GUI for completed, expired, cancelled, and claimed orders - `/orderadmin reload` works from console; admin history view for any player
release

1.8.1

1.8.1
24 авг. 2026 г.794Minecraft: 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.2, 26.2bukkit, folia, paper, purpur, spigot
Скачать
Что нового
# DonutOrders v1.8.1 ### New Features * None. ### Improvements * Order creation chat input uses Paper Adventure `AsyncChatEvent` (legacy Bukkit chat still used when that event is absent). * Amount and price parsing accepts trimmed values, commas, and whole decimals such as `64.0`. * The `chat-cancel-keyword` from `messages.yml` is matched after stripping color codes. ### Bug Fixes * Typing an amount or price (or the cancel keyword) while creating an order is no longer ignored on modern Paper/Folia. ### Configuration * No config schema change. Existing `chat-cancel-keyword` still applies. ### Compatibility * Paper and Folia, Minecraft 1.20.1 through 26.2, Java 17. ### Upgrade Notes 1. Replace the jar. Keep `plugins/DonutOrders/` config and data. 2. Restart, open `/orders`, create an order, type a whole number for amount then a price.
release

1.8.0

1.8.0
21 авг. 2026 г.641Minecraft: 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.2, 26.2bukkit, folia, paper, purpur, spigot
Скачать
Что нового
# Patch notes ## 1.8.0 - Added bStats metrics (plugin ID **33559**) - Hardened Modrinth update check for [donut-orders](https://modrinth.com/plugin/donut-orders): pick newest release by date, strip version suffixes, warn in console, notify `donutorders.admin` on join (`update-check.notify-ops-on-join`) - Confirmed support matrix: Bukkit / Spigot / Paper / Purpur / Folia on Minecraft **1.20.1–26.2** - Relicensed to Apache-2.0; added OSS contributor docs; removed committed build/AI clutter ## 1.7.0 - New-order chat broadcast to other online players (`orders.broadcast-on-create`, `order-created-broadcast`) - Folia-safe: recipients messaged on their entity thread ## 1.6.1 - Fixed empty enchanted-book Select Enchant picker on modern Paper - Enchant list cache clears on `/orders admin reload` ## 1.6.0 - MySQL storage backend and cross-server order sync - `updated_at` tracking and optimistic updates to reduce duplicate payouts ## 1.5.1 - Folia enable crash fix (`runAsync` / scheduler hardening) ## 1.5.0 - Enchanted book orders, VIP order limits, New Order item search ## 1.3.1 - Fixed New Order picker Previous page always returning to page 1
release

1.7.0 · paper

1.7.0
12 авг. 2026 г.1,7 тыс.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.2, 26.2bukkit, folia, paper, purpur, spigot
Скачать
Что нового
# DonutOrders v1.7.0 ### New Features * **New-order chat broadcast** — when a player creates a buy order, all other online players see a chat announce (item, amount, price). The creator still gets the private `order-created` confirmation only. ### Configuration * `orders.broadcast-on-create` (default `true`) — set to `false` to disable the public announce. * `order-created-broadcast` in `messages.yml` — `{0}` buyer, `{1}` item, `{2}` amount, `{3}` price per item. Missing keys fall back to jar defaults on `/orders admin reload`. ### Compatibility * Same loaders as 1.6.1 (Paper / Folia / Purpur family). Folia-safe: each recipient is messaged on their entity thread. ### Upgrade Notes 1. Replace the DonutOrders jar with **1.7.0**. Keep your existing `plugins/DonutOrders/` folder. 2. Optional: add `broadcast-on-create: true` under `orders:` in `config.yml`, and `order-created-broadcast` to `messages.yml`, then `/orders admin reload`. If you skip this, in-code / jar defaults still enable the announce. 3. Confirm by creating an order on one account and checking chat on another.
release

1.6.1

1.6.1
10 авг. 2026 г.212Minecraft: 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.8bukkit, folia, paper, purpur, spigot
Скачать
Что нового
# DonutOrders v1.6.1 ### Bug Fixes * **Empty enchant picker** — New Order → Enchanted Book no longer opens an empty Select Enchant GUI. Modern Paper returns `false` from `Enchantment#canEnchantItem` for enchanted books; the picker now builds the list via stored-enchant checks so vanilla (and storeable) enchants appear again. ### Improvements * Enchant list cache clears on `/orders admin reload`. ### Compatibility * Same loaders as 1.6.0 (Paper / Folia / Purpur family). Drop-in jar replace. ### Upgrade Notes 1. Replace the DonutOrders jar with **1.6.1**. 2. Restart or use your preferred hot-swap flow, then open New Order → Enchanted Book to confirm the enchant list populates.
release

1.6.1

1.6.1
10 авг. 2026 г.356Minecraft: 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.2, 26.2bukkit, folia, paper, purpur, spigot
Скачать
Что нового
# DonutOrders v1.6.1 ### Bug Fixes * **Empty enchant picker** — New Order → Enchanted Book no longer opens an empty Select Enchant GUI. Modern Paper returns `false` from `Enchantment#canEnchantItem` for enchanted books; the picker now builds the list via stored-enchant checks so vanilla (and storeable) enchants appear again. ### Improvements * Enchant list cache clears on `/orders admin reload`. ### Compatibility * Same loaders as 1.6.0 (Paper / Folia / Purpur family). Drop-in jar replace. ### Upgrade Notes 1. Replace the DonutOrders jar with **1.6.1**. 2. Restart or use your preferred hot-swap flow, then open New Order → Enchanted Book to confirm the enchant list populates.
release

1.6.0

1.6.0
7 авг. 2026 г.612Minecraft: 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.2, 26.2bukkit, folia, paper, purpur, spigot
Скачать
Что нового
# DonutOrders v1.6.0 ### New Features * **MySQL storage backend** — set `database.type: mysql` in `config.yml` so multiple servers share one database * **Cross-server order sync** — orders created or fulfilled on one server appear on all servers sharing the MySQL database (polls every `database.sync-interval-seconds`, default 5) ### Improvements * `updated_at` column on orders for change tracking and safe multi-server merges * Optimistic DB updates on fulfill/collect prevent duplicate payouts when two servers race * Critical paths refresh the order from the database before mutating ### Bug Fixes * None ### Configuration ```yaml database: type: mysql # sqlite (default) or mysql sync-interval-seconds: 5 mysql: host: localhost port: 3306 database: donutorders username: donutorders password: "" pool-size: 10 ``` ### Compatibility * SQLite remains the default — no config change required for single-server setups * Existing SQLite databases auto-migrate (`updated_at` column added on startup) * Drop-in jar replacement; restart all network servers after switching to MySQL ### Upgrade Notes 1. For cross-server: create a MySQL database, grant access, set `database.type: mysql` on every server 2. Replace the jar with `DonutOrders-1.6.0.jar` on all servers 3. Restart servers — console should show `(MySQL backend)` when configured correctly 4. Verify an order placed on server A appears in `/orders` on server B within a few seconds
release

1.5.1

1.5.1
4 авг. 2026 г.605Minecraft: 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.2, 26.2bukkit, folia, paper, purpur, spigot
Скачать
Что нового
# DonutOrders v1.5.1 ### New Features * None ### Improvements * Folia async scheduling hardened — `runAsync` always uses Paper's `AsyncScheduler` on regionalised servers; legacy `BukkitScheduler` async calls are never used on Folia * Startup load falls back to synchronous DB read if async scheduling is unavailable, then continues enable on the global thread * Scheduled task failures are logged instead of crashing the server thread ### Bug Fixes * Fixed **Folia enable crash** (`UnsupportedOperationException` from `CraftScheduler.runTaskAsynchronously` during `StorageManager.loadAll`) on Folia 1.21.x * All scheduler entry points (`runAtEntity`, `runGlobal`, `runGlobalRepeating`, `runAsync`, etc.) now catch `UnsupportedOperationException` and route to the correct Paper/Folia scheduler as a safety net ### Configuration * None ### Compatibility * Drop-in update from 1.5.0 (and older 1.3.x / 1.4.x builds still on broken Folia async scheduling) * `folia-supported: true` unchanged in `plugin.yml` * No database migration required * Tested build target: Paper/Folia 1.20.6+ API; runtime tested on JDK 21 ### Upgrade Notes 1. Replace the jar with `DonutOrders-1.5.1.jar` 2. Restart the server (recommended over hot-reload for scheduler changes) 3. Confirm console shows `Folia detected — using regionised schedulers.` followed by `Enabled successfully` with no `UnsupportedOperationException` 4. Run `/orders` on a Folia 1.21.4 server to verify the marketplace opens
release

Donut Orders 1.5.0

1.5.0
29 июл. 2026 г.1,1 тыс.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.2, 26.2bukkit, folia, paper, purpur, spigot
Скачать
Что нового
# DonutOrders v1.5.0 ### New Features * **Enchanted book orders** — New Order → Enchanted Book opens an enchant picker, then a level picker (Sharpness, Efficiency, Unbreaking, and other vanilla book enchants). Listings show names like `Sharpness V Enchanted Book`; sellers must deliver the exact enchanted book * **VIP order limits** — per-rank and per-permission active order caps via `OrderLimitManager` (wired into order creation, join/quit cache, LuckPerms updates, and PlaceholderAPI) * **Item search in New Order picker** — compass button opens a chat search; filter persists across pagination; clear-search button when a filter is active ### Improvements * `/orders admin reload` refreshes cached order limits for all online players * New Order GUI title shows the active search filter when filtering * Order list / delivery / wrong-item messages use enchant-aware item names ### Configuration * `ENCHANTED_BOOK` added to default `items.yml` allowed list * `orders.default-limit` — default active order cap (default: `2`) * `orders.max-per-player` — legacy alias kept in sync with `default-limit` * `rank-limits` — per-LuckPerms-group caps (e.g. `default: 2`, `vip: 5`) * Optional permission override: `donutorders.limit.<n>` (highest wins) * New `messages.yml` keys for enchant picker and New Order search UI ### Compatibility * Drop-in update from 1.3.x / 1.4.x * Folia-supported unchanged * No database migration required * Soft-depends on **LuckPerms** and **PlaceholderAPI** (optional; features degrade gracefully when absent) * Placeholder: `%donutorders_order_limit%` ### Upgrade Notes 1. Replace the jar with `DonutOrders-1.5.0.jar` 2. Restart the server (or reload after reviewing config) 3. If upgrading an existing install, add `ENCHANTED_BOOK` under `allowed-items` in `items.yml`, then `/orders admin reload` 4. Review `config.yml` — add or adjust `rank-limits` if you use VIP ranks: ```yaml rank-limits: default: 2 vip: 5 ``` Or grant LuckPerms permission `donutorders.limit.5` instead of/in addition to rank limits. 5. Ensure VIP players have LuckPerms group `vip` (maps to `group.vip`) or the permission node above. 6. Test `/orders` → New Order → Enchanted Book + Search (compass), and confirm VIP players can hold more active orders than default.
release

Donut Orders 1.3.1

1.3.1
28 июл. 2026 г.249Minecraft: 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.2, 26.2bukkit, folia, paper, purpur, spigot
Скачать
Что нового
### Improvements * New Order item picker Previous/Next now share the same Folia-safe open path ### Bug Fixes * Fixed **Previous** in the New Order item picker always returning to page 1 instead of the previous page
release

Donut Orders 1.3.0

1.3.0
10 июл. 2026 г.2,9 тыс.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.2, 26.2bukkit, folia, paper, purpur, spigot
Скачать
Что нового
### New Features * Full translation support for the entire player-facing interface via `messages.yml`. * GUI titles, buttons, item names, lore, status labels, pagination text, chat prompts, success/error messages, and order expiry formatting are all configurable without recompiling. * New `MessageHelper` system with color codes (`&` and `#RRGGBB`), positional placeholders (`{0}`, `{1}`, …), and named placeholders (`{item}`, `{buyer}`, `{price}`, etc.). * Translable chat cancel keyword via `chat-cancel-keyword` (default: `cancel`). ### Improvements * Missing translation keys safely fall back to English defaults shipped in the jar. * `/orders admin reload` reloads `messages.yml` (and config) so translations update without a full restart. * Order cancel refund message now shows the correct refund amount. ### Configuration * Expanded `plugins/DonutOrders/messages.yml` with organized sections: general, chat, orders, delivery, collect, status, time, buttons, and all GUI screens. * Existing servers keep their current `messages.yml`; new keys fall back to jar defaults until added or the file is regenerated.
release

Donut Orders 1.2.1

1.2.1
18 июн. 2026 г.571Minecraft: 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.2, 26.2bukkit, folia, paper, purpur, spigot
Скачать
Что нового
### Bug Fixes * Fixed plugin failing to enable on Folia and Folia-based servers (e.g. Canvas) with `UnsupportedOperationException` during async database load. * Async database I/O and network tasks now use Paper's `AsyncScheduler` on Folia instead of the deprecated Bukkit async scheduler.
release

Donut Orders 1.2.0

1.2.0
10 июн. 2026 г.4,3 тыс.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
Скачать
Что нового
### New Features * Added Shulker Box delivery support — matching items inside shulkers count toward order fulfillment. * Shulker contents are scanned from shulkers placed in the delivery GUI and from shulkers anywhere in the seller's inventory. * Added `items.yml` for configuring allowed order materials separately from `config.yml`. * Added Modrinth update check on plugin startup (`update-check.enabled` in `config.yml`). * Added `donutorders` as a command alias for `/orders`. ### Improvements * Allowed materials are validated server-side when creating orders (prevents GUI bypass). * Invalid material names in `items.yml` log warnings instead of crashing the plugin. * `/orders admin reload` now reloads `config.yml`, `messages.yml`, and `items.yml`.
release

Donut Orders 1.1.0

1.1.0
8 июн. 2026 г.321Minecraft: 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
Скачать
Что нового
### New Features * Added permission-based order limits via `donutorders.limit.<n>` nodes (e.g. `donutorders.limit.5`, `donutorders.limit.10`). * Added support for rank-specific maximum active orders through optional `rank-limits` configuration. * Added PlaceholderAPI support: `%donutorders_order_limit%` returns the player's currently applied limit. * Added `/orders limit <player>` admin command (alias: `/donutorders limit <player>`). ### Improvements * Added a caching system for permission-based limit lookups to avoid scanning permissions on every order creation. * Limit cache refreshes automatically on player join, config reload, and LuckPerms permission recalculation. * Order limit reached messages are now configurable via `messages.yml`. ### Configuration * Added `orders.default-limit` as an optional config key (takes priority over legacy `orders.max-per-player` when set). * Added optional `rank-limits` configuration section for group-based fallback limits. * Added `messages.order-limit-reached` with `%limit%` and `%active_orders%` placeholders. ### Permissions * `donutorders.admin.limit` — allows use of `/orders limit <player>`. * `donutorders.limit.<n>` — grants a custom maximum active order count.
release

Donut Orders 1.0.3

1.0.3
22 мая 2026 г.1,9 тыс.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
Скачать
Что нового
- Fixed Fill Order GUI item movement issue - Players can now manually move items into order fill slots - Improved Bedrock / Pocket Edition compatibility - Shift-click is no longer required to fill orders - Protected GUI slots still block invalid interactions - Kept server-side validation and anti-dupe protections intact ## Critical Security Patch - **Item Duplication Exploit Fixed**: Completely resolved a critical exploit where delayed or replayed `ClickSlot` inventory packets could trigger order collection multiple times before the server-side database state could update. - **WaterTight Concurrency Protections**: - Implemented an atomic, in-memory compare-and-set claim lock (`tryLockClaim` / `unlockClaim`) to guarantee that concurrent stash claims from replayed/spam packets fail immediately. - Added a state-based collection lifecycle: orders now transition to `PENDING` upon completion/cancellation/expiration and to `CLAIMED` immediately when collection starts in-memory, ensuring absolute claim idempotency. - Implemented automatic SQLite database schema migration (`claimed_by` and `claimed_at` columns) to persist claiming information and protect against exploits across server restarts or hot reloads. - Added tick-based packet rate-limiting at the listener level to reject rapid click spam (max 2 clicks per tick) and click replays targeting the exact same slot in a single tick. ## Improvements & Lifecycle Hardening - **Safe Expiry Flow**: Redesigned the order expiration checker to safely transition orders to `PENDING` (pending collection) rather than performing immediate, unsafe synchronous refunds. Players can now safely retrieve their expired order refunds from their personal stash GUI at any time. - **Thread-Safety & Folia Compatibility**: Guaranteed thread-safe SQLite operations by usingHikariCP WAL-mode queries dispatched asynchronously and synchronizing on player entity threads for Vault deposits and item insertions. ## Admin & Testing Command - **Concurrency Simulator**: Registered the `/orders admin simulate` command (requires `donutorders.admin` permission). This executes a live high-latency packet replay and concurrent race simulation in SQLite, spawning 10 concurrent threads racing to collect the exact same stash at the exact same millisecond. Reports back in chat showing exactly 1 successful claim and 9 rejections.
release

Donut Orders 1.0.1

1.0.1
3 мая 2026 г.1,7 тыс.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
Скачать
Что нового
- Fixed a critical issue where items could duplicate when placing them in order slots - Resolved a bug causing items to return to the sender while still being delivered to the receiver - Improved inventory handling to prevent unintended item cloning - Fixed items being silently lost when clicking Cancel in the delivery confirmation screen - Fixed items being lost when pressing ESC to close the delivery confirmation screen
release

Donut Orders 1.0.0

1.0.0
8 апр. 2026 г.1,1 тыс.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.1bukkit, folia, paper, purpur, spigot
Скачать
Что нового
- init release