Delivery System
Players fulfill orders by delivering requested items. Supports partial deliveries - multiple players can contribute to the same order.
Processโ
- Find an order -
/ordersGUI,/orders list, or/orders search <query>. /orders deliver <id>- opens delivery GUI showing required items, quantity needed, price/item, current progress.- Select items from inventory; system validates material, enchantments, and NBT match the order.
- On confirm: items removed from inventory, delivery recorded, deliverer paid (if
pay-on-delivery), order status updated.
Partial Deliveriesโ
Each deliverer is paid proportionally to what they deliver, e.g. for a 64-item order: Player A delivers 32 (32 remain), Player B delivers 16 (16 remain), Player C delivers the last 16 (order complete).
Delivery Validation - Rejects Ifโ
- Item material/enchantments/NBT don't match order
- Order is cancelled, completed, or expired (unless
allow-deliveries-to-expired) - Player is delivering to their own order
- Player is blacklisted
Concurrencyโ
Optimistic locking prevents over-delivery and race conditions when multiple players deliver at once.
Notes (v1.0.3)โ
- Fixed double item return on delivery failure - only consumed items are returned, not the full stack.
- Delivery count now reads directly from DB instead of a cached
OrderItem, fixing stale-data failures on first delivery.
If delivery-history is enabled, every delivery (who/what/when) is recorded for stats - see Statistics.
See Alsoโ
- Order Lifecycle - order states
- Collection System - collecting delivered items
- Escrow System - payment on delivery
- NBT Support - NBT matching rules