Skip to main content

Pricing System

How the Random Auction Addon calculates a listing price for every generated item.


Pricing Pipelineโ€‹

Prices are calculated in layers, applied in this order:

  1. Shop-based price (if a shop provider is configured and the item has a price)
  2. Fallback price (per-item or category-level, if no shop price is available)
  3. Rarity multiplier applied based on which pool the item came from
  4. Time-based bonus for peak hours, nights, and weekends
  5. Enchantment additions (if the item is enchanted)
  6. Anti-arbitrage and anti-undercut checks โ€” price is adjusted or listing is skipped if needed

Shop-Based Pricingโ€‹

When a shop provider is configured, the bot derives prices from the shop's sell-price for that item, then applies a profit margin to ensure purchasing from the bot is convenient but not exploitable.

pricing:
shop-provider: economyshopgui # or: excellentshop / none
profit-margin:
min: 1.1 # at least 10% above shop sell price
max: 1.4 # at most 40% above shop sell price
ProviderDescription
economyshopguiReads sell prices from EconomyShopGUI config
excellentshopReads sell prices from ExcellentShop config
noneSkips shop lookup; uses fallback prices only

Fallback Pricingโ€‹

Used when no shop provider is configured or the specific material has no shop entry.

Per-Item Fallbacksโ€‹

Exact prices assigned to specific materials:

pricing:
fallback-prices:
DIAMOND: 500
IRON_INGOT: 20
EMERALD: 300

Category Fallbacksโ€‹

Applied when no per-item fallback exists:

CategoryConfig KeyApplies To
Blocksgeneric-fallback-prices.blocksBlock-type materials
Toolsgeneric-fallback-prices.toolsTool items
Armorgeneric-fallback-prices.armorArmor items
Defaultgeneric-fallback-prices.defaultAnything not matched above

Base Multiplierโ€‹

A random multiplier within a configured range is applied to the fallback base price, adding price variety across listings of the same item:

pricing:
base-multiplier:
min: 0.9
max: 1.3

Rarity Multipliersโ€‹

Each pool has a dedicated price multiplier. Items from rarer pools naturally cost more:

PoolExample MultiplierEffect
common1.0No adjustment
blocks0.9Slight discount
ores1.550% premium
rare2.0Double the base price
enchanted1.8High premium (before enchant additions)
potions1.2Moderate premium

All multipliers are configurable.


Time-Based Bonusesโ€‹

Prices automatically adjust based on real-world time (using the configured timezone):

BonusConfig KeyDescription
Peak hourstime-bonuses.peak-hoursApplied during configured peak time windows
Nighttime-bonuses.nightApplied during late-night / off-peak hours
Weekendtime-bonuses.weekendApplied on Saturday and Sunday

Multiple bonuses can apply simultaneously and stack multiplicatively.


Anti-Arbitrage Protectionโ€‹

Prevents the bot from creating listings that could be immediately exploited by buying from the auction house and instantly selling back to a shop for profit.

pricing:
prevent-arbitrage: true
arbitrage-gap: 1.05 # bot price must be at least 5% above shop buy price

When enabled, if the calculated price is below the arbitrage threshold, the price is adjusted upward or the listing is skipped entirely.


Anti-Undercut Protectionโ€‹

Prevents the bot from listing an item far below the cheapest existing player listing for the same item.

pricing:
prevent-undercut: true
undercut-gap: 0.9 # bot price must not be less than 90% of cheapest player listing

When enabled, the addon checks active player listings before posting and adjusts the bot price if it would undercut too aggressively.


Enchantment Price Additionsโ€‹

For enchanted listings, each applied enchantment adds to the listing price based on its level:

Final price = base price + ฮฃ (enchantment_level ร— random(min-price-per-level, max-price-per-level))

A Sharpness V listing will cost significantly more than a Sharpness I listing of the same base item. See Enchantment System for full details.


See Alsoโ€‹