Infiniti Market
Player-Driven Auction House with Supply & Demand Pricing
A full economy marketplace where players list, search, bid, and buy.
Prices adapt dynamically to what your server actually trades.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Why Infiniti Market?
Most auction house plugins treat every item the same — flat prices set by players with no context. Infiniti Market tracks what your server actually buys and sells, then uses that data to power a real supply and demand pricing engine. Sellers see suggested prices based on market activity. Buyers see trend indicators showing whether prices are rising or falling. The result is an organic, self-balancing economy that makes your server feel alive.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Features
- Supply & Demand Pricing Engine — The heart of the plugin. Tracks active listings (supply), sales velocity (demand), and average sell prices for every item type. Calculates dynamic suggested prices using configurable multipliers. Players see real-time trend arrows (rising, falling, stable) when browsing and selling. All parameters are tunable — history window, baselines, min/max multipliers, recalculation interval.
- Full Searchable GUI — Search by item name, material, or seller name directly from the GUI or via
/market search <query>. Results display instantly in a paginated, sortable browser. Sort by newest, price low/high, or ending soon. - Fixed Price + Auction Listings
- Fixed Price — Set a price, buyers purchase instantly with confirmation
- Auction — Set a starting bid, players compete with configurable minimum bid increments. Previous bidders are automatically refunded and notified when outbid. Winner receives item when auction expires.
- 9 Browse Categories — Items are auto-categorized: Weapons, Armor, Tools, Blocks, Food, Potions, Enchanted Items, Redstone, and Miscellaneous. Category icons and names are fully configurable. Browse the entire market or drill into a specific category.
- Price Check & Market Trends — Hold any item and run
/market pcto see its average price, suggested price, trend direction, active supply, and recent demand — all in chat. Or open the Trends GUI to browse all tracked items sorted by trade volume, with 24-hour price change percentages. - Sales Tax System — Configurable percentage taken from the seller on each successful sale. Acts as a natural economy sink. Tax amount is shown in transaction notifications and history. Set to 0 to disable.
- Transaction History — Every buy and sell is logged. Players can browse their full history in a clean GUI — see what they bought, what they sold, the price, tax paid, counterparty, and when it happened. Stores up to 1,000 transactions.
- Expired Item Collection — When listings expire without selling, items are safely stored for the seller to collect. Auction winners who are offline when they win also get their items stored. Collect via GUI or
/market expired. Items that overflow your inventory drop at your feet — nothing is ever lost. - Player Listing Management — View all your active listings in one place. See time remaining, current bids, and prices at a glance. Cancel listings with Shift+Right-Click for quick management, or click into the detail view. Configurable max listings per player.
- Purchase Confirmation — A dedicated confirmation screen shows the item, price, and clear Confirm/Cancel buttons. No accidental purchases.
- Seller & Buyer Notifications — Sellers are notified when their item sells (with tax breakdown). Buyers get purchase confirmations. Bidders are notified when outbid. All messages are fully configurable with placeholders.
- Full Hex Color Support — Use
&#RRGGBBhex codes and&color codes in all messages, category names, and GUI text. Full gradient support throughout. - Vault Economy Integration — Works with any Vault-compatible economy plugin (EssentialsX, CMI, etc.). Economy is validated on startup — if Vault isn't present, the market gracefully disables with clear messaging.
- Admin Tools — Reload config on the fly, clear all listings (with automatic bid refunds and item returns), or remove specific listings by ID. Full tab completion for all admin commands.
- Lightweight & Async — YAML flat-file storage with no database dependencies. Price recalculations run asynchronously. Expiration checks are lightweight scheduled tasks. Designed for servers of any size.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
How Supply & Demand Works
Your server's economy drives the prices.
The pricing engine runs on a configurable interval (default: every 30 minutes) and tracks every material that has been listed or sold:
- Supply — Number of active listings for each item type. More listings = downward price pressure.
- Demand — Sales velocity (items sold per day). More sales = upward price pressure.
- Suggested Price —
averagePrice × (demandFactor / supplyFactor), clamped between configurable min/max multipliers (default: 0.3x to 3.0x). - Trend Indicators — Compares current average vs. 24 hours ago. Rising (green arrow), falling (red arrow), or stable (yellow dot).
When a player goes to sell an item, they see the suggested price right in the sell GUI. When browsing listings, every item shows its market trend. The Price Trends dashboard lets players research the market like a stock exchange.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Commands
Code:
/market - Open the market GUI
/market sell - Sell the item in your hand
/market search <query> - Search listings by name/material/seller
/market browse - Browse all active listings
/market my - View your active listings
/market history - View your transaction history
/market expired - Collect expired items
/market pc - Price check the item in your hand
/market trends - Open the price trends dashboard
/market help - Show command help
Admin Commands:
/market reload - Reload configuration
/market clear - Clear all listings (refunds bids)
/market remove <id> - Remove a specific listing
Aliases: /ah, /shop, /auction, /m
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Permissions
Code:
infinitimarket.admin - Full admin access (default: op)
├─ infinitimarket.use - Access the market (default: true)
├─ infinitimarket.sell - List items for sale (default: true)
├─ infinitimarket.buy - Purchase items (default: true)
├─ infinitimarket.search - Search the market (default: true)
├─ infinitimarket.pricecheck - Check item prices (default: true)
├─ infinitimarket.admin.reload - Reload config (default: op)
├─ infinitimarket.admin.clear - Clear all listings (default: op)
└─ infinitimarket.admin.remove - Remove any listing (default: op)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Quick Start Guide
Step 1: Drop the JAR in your
plugins/ folder. Make sure Vault + an economy plugin are installed.Step 2: Start the server. The config generates automatically.
Step 3: Run
/market in-game to open the main menu.Step 4: Hold an item and click Sell Item — choose Fixed Price or Auction, enter your price.
Step 5: Other players can now find your item by browsing, searching, or filtering by category.
Step 6: When it sells, you're notified with the sale price and tax. Money is deposited automatically.
Step 7: Check
/market pc on any item to see what the market thinks it's worth.━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Configuration Highlights
Everything is configurable in
config.yml:- Listing limits — Max per player, min/max price, default/max duration
- Sales tax — Percentage taken from seller (0 to disable)
- Auction settings — Enable/disable, default duration, minimum bid increment %
- Pricing engine — History window, supply/demand baselines, price multiplier bounds, recalculation interval
- Categories — Custom display names and icons for each of the 9 categories
- All messages — Every player-facing message is configurable with full placeholder support
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
FAQ
Q: What versions are supported?
A: Minecraft 1.21+ with Spigot or Paper.
Q: Is Vault required?
A: Yes. Vault and an economy provider (EssentialsX, CMI, etc.) are required since the market is economy-driven.
Q: Does this use a database?
A: No. All data is stored in YAML flat files — no MySQL, no SQLite, no setup. Just drop the JAR in and go.
Q: What happens when a listing expires?
A: For fixed-price listings, the item goes to the seller's expired collection. For auctions with bids, the item goes to the winning bidder and the seller receives payment. For auctions with no bids, the item goes back to the seller's expired collection.
Q: What happens if inventory is full?
A: Items drop naturally at the player's feet. Nothing is ever lost.
Q: How does the pricing engine know what items are worth?
A: It learns from your server's actual trades. After items start selling, the engine calculates average prices and adjusts suggestions based on supply (how many are listed) and demand (how fast they sell). A brand new server with no trades will show "no market data" until the first sales happen.
Q: Can players manipulate prices?
A: The engine uses configurable min/max multiplier clamps (default 0.3x - 3.0x) to prevent extreme swings. Prices are based on actual completed sales, not just listings, so listing items at absurd prices without them selling won't move the needle.
Q: What if a bidder goes offline?
A: When outbid, the previous bid is automatically refunded. When winning an auction while offline, the item is stored for collection via
/market expired.Q: Can I disable auctions?
A: Yes. Set
general.auctions-enabled: false in config.yml. The auction option disappears from the sell GUI.Q: Does this cause lag?
A: No. Price recalculations are async. Expiration checks are lightweight tasks running every 30 seconds. File saves are efficient. Designed for high-player-count servers.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Requirements
Server: Spigot or Paper 1.21+
Java: 21+
Required: Vault + Economy Plugin (EssentialsX, CMI, etc.)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Made by Infiniti Productions
