Skip to main content

Order Configuration

Configure order behavior, limits, and pricing.

Order Lifecycle

orders:
# Order expiration (in minutes)
order-life: 10080 # 7 days (1440 = 1 day, 10080 = 7 days, 0 = never expire)

# Limits
max-orders-per-player: 10
max-items-per-order: 54
max-items-per-type: 10000

# Pricing
min-price-per-item: 0.01
max-price-per-item: 1000000.0

# Cooldowns
creation-cooldown: 5 # seconds between order creation

# Cancellation
allow-cancellation: true
allow-deliveries-to-expired: false

Order Expiration

order-life

Type: Integer (minutes)
Default: 10080 (7 days)
Description: How long orders last before expiring

Examples:

  • 60 = 1 hour
  • 1440 = 24 hours (1 day)
  • 10080 = 7 days
  • 0 = Never expire

Behavior:

  • Expired orders are processed automatically
  • Auto-refund occurs if enabled
  • Orders with uncollected items are kept for collection

Legacy Support

The old default-expiration key is still supported for backward compatibility, but order-life is recommended.

Order Limits

max-orders-per-player

Type: Integer
Default: 10
Description: Maximum active orders per player

Behavior:

  • Counts PENDING and IN_PROGRESS orders
  • COMPLETED and CANCELLED orders don't count
  • Players can't create new orders if limit reached

Example:

max-orders-per-player: 5  # Allow 5 active orders per player

max-items-per-order

Type: Integer
Default: 54
Description: Maximum total items per order

Note: Currently, each order contains one item type, so this effectively limits quantity per order.

Example:

max-items-per-order: 64  # Allow up to 64 items per order

max-items-per-type

Type: Integer
Default: 10000
Description: Maximum quantity for a single item type in an order

Example:

max-items-per-type: 1000  # Limit to 1000 items per order

Pricing Limits

min-price-per-item

Type: Double
Default: 0.01
Description: Minimum price per item

Example:

min-price-per-item: 1.0  # Minimum $1 per item

max-price-per-item

Type: Double
Default: 1000000.0
Description: Maximum price per item

Example:

max-price-per-item: 10000.0  # Maximum $10,000 per item

Cooldowns

creation-cooldown

Type: Integer (seconds)
Default: 5
Description: Cooldown between order creation

Behavior:

  • Prevents spam order creation
  • Applied per player
  • Countdown shown to player

Example:

creation-cooldown: 10  # 10 seconds between orders

Cancellation Settings

allow-cancellation

Type: Boolean
Default: true
Description: Allow players to cancel their own orders

Behavior:

  • If false, only admins can cancel orders
  • Cancellation refunds are handled separately
  • See Payment Configuration for refund settings

allow-deliveries-to-expired

Type: Boolean
Default: false
Description: Allow deliveries to expired orders

Behavior:

  • If false, expired orders can't receive deliveries
  • If true, players can still deliver to expired orders
  • Useful for extending order lifetime

Configuration Examples

Conservative Settings

orders:
order-life: 1440 # 1 day
max-orders-per-player: 5
max-items-per-order: 32
max-items-per-type: 1000
min-price-per-item: 0.10
max-price-per-item: 10000.0
creation-cooldown: 10
allow-cancellation: true
allow-deliveries-to-expired: false

Permissive Settings

orders:
order-life: 0 # Never expire
max-orders-per-player: 20
max-items-per-order: 64
max-items-per-type: 100000
min-price-per-item: 0.01
max-price-per-item: 1000000.0
creation-cooldown: 0
allow-cancellation: true
allow-deliveries-to-expired: true

Economy-Focused Settings

orders:
order-life: 10080 # 7 days
max-orders-per-player: 10
max-items-per-order: 54
max-items-per-type: 10000
min-price-per-item: 1.0 # Higher minimum
max-price-per-item: 50000.0 # Lower maximum
creation-cooldown: 5
allow-cancellation: true
allow-deliveries-to-expired: false

Validation

The plugin automatically validates configuration:

  • Negative values are corrected
  • Invalid ranges are fixed
  • Warnings appear in console

Best Practices

  1. Set Reasonable Limits: Balance between flexibility and control
  2. Monitor Order Life: Adjust expiration based on server activity
  3. Price Limits: Prevent abuse while allowing fair pricing
  4. Cooldowns: Prevent spam without being too restrictive
  5. Test Changes: Test limit changes on dev server first

Next Steps