Listing Generation
How the Random Auction Addon decides when to post listings and how many.
Schedulingโ
Listings are posted at random intervals between a configurable minimum and maximum (in minutes). This creates an organic, unpredictable marketplace cadence rather than listings appearing on a fixed timer.
generation:
interval-min: 5 # earliest the next run can fire (minutes)
interval-max: 15 # latest the next run can fire (minutes)
After each run completes, a new random delay is drawn from this range before the next run fires.
Minimum Online Playersโ
Generation only runs when a minimum number of players are online. This prevents bot listings from accumulating while no players are active to see or buy them.
generation:
min-online-players: 2
Set to 0 or 1 to always generate regardless of player count.
Player-Count Scalingโ
The number of listings created per run scales automatically with online players:
| Scale Level | Trigger | Listings per Run |
|---|---|---|
| Low | Below low-threshold players | low-count |
| Medium | medium-threshold range | medium-count |
| High | high-threshold+ players | high-count |
All thresholds and counts are fully configurable. This ensures the auction house is modestly stocked during quiet hours and well-populated during peak times.
Peak Hour Multiplierโ
During configured peak hours, the listing count for that run is multiplied by the peak-hour multiplier:
generation:
peak-hours:
- "18:00-22:00"
peak-hour-multiplier: 2.0
A multiplier of 2.0 doubles the normal scaled count. Multiple peak-hour windows can be configured.
Caps and Limitsโ
| Setting | Description |
|---|---|
max-listings-per-run | Hard upper bound on listings created in any single run, regardless of scaling or multipliers |
max-bot-listings | Global cap on total active bot-owned listings in the auction house; generation is skipped entirely when this is reached |
Per-Item Cooldownโ
After a specific material is listed, that material enters a cooldown period before it can be listed again. This prevents the auction house from filling up with identical items.
generation:
cooldown-per-item: 30 # minutes
Material Poolsโ
Pool Selectionโ
On each run, a material pool is selected using weighted probability:
| Pool | Default Weight | Typical Contents |
|---|---|---|
| Common | High | Food, basic crafting materials |
| Rare | Low | Harder-to-obtain drops |
| Ores | Medium | Iron, gold, diamond, netherite ore variants |
| Blocks | Medium | Building and decorative blocks |
| Enchanted | Low | Items intended to receive enchantments |
| Potions | Medium | Normal, splash, and lingering potions |
Higher weight values mean that pool is selected more often relative to the others.
Per-Pool Settingsโ
Each pool is independently configurable:
| Setting | Description |
|---|---|
| Pool weight | Probability of this pool being chosen |
quantity-ranges.min/max | Min/max item stack size for listings from this pool |
listing-durations.min/max | Min/max time (minutes) a listing from this pool stays active |
items list | Materials that can be selected from this pool |
Potion Typesโ
Potions pool items are drawn from a separate, configurable list of potion types covering:
- Regular potions (strength, speed, healing, fire resistance, etc.)
- Splash potions
- Lingering potions
Custom Itemsโ
When use-custom-items: true is set, pool item lists can include custom item IDs from:
- ItemsAdder โ
ia:<namespace>:<id> - Oraxen โ
oraxen:<id> - Nexo โ
nexo:<id> - MMOItems โ
mmoitems:<type>:<id>
Dimension-Specific Itemsโ
Two optional extra item sets can be added to the generation pool:
| Set | Toggle Key | Description |
|---|---|---|
| Nether items | nether-items.enabled | Nether-specific materials (e.g. Nether Quartz, Magma Cream, Blaze Rods) |
| End items | end-items.enabled | End-specific materials (e.g. Chorus Fruit, Dragon's Breath, Purpur) |
See Alsoโ
- Pricing System โ How listing prices are calculated
- Enchantment System โ Enchanted item generation
- Engagement Features โ Flash sales and market events
- Configuration โ Full config reference