Economy

Shop

The server shop — buy and sell blocks, gear, food, and limited items for Denarius, Auctoritas, or Civitas.

The server shop is Imperium's centralised marketplace for blocks, gear, food, and limited-time items. Buy what you need with Denarius, Auctoritas, or Civitas, and sell surplus materials back for Denarius. Every item, price, and category is loaded from shop.yml at startup, so the catalog can be tuned live without a plugin rebuild. The shop is also one of the few systems with a fully native Bedrock form-based UI — players on phones and consoles get a working menu, not a Java-only inventory.

Categories

Items are grouped into categories, each with its own icon. The default catalog ships with four, but admins can add or rename categories in shop.yml:

AliasesResolved CategoryWhat it sells
mining, mine, pickaxe, blocks, block, buildblocksBuilding materials and mining-related blocks.
tools, tool, gearupgradesTools, equipment, and upgrade items.
food, eatfoodConsumables to keep you fed in the mines.
special, limited, eventspecialLimited-time and event-specific offers.

Run /shop shops any time to list the live categories on your server — that's the authoritative list, since admins can extend it.

Buying Items

Each shop item can define up to four prices: buy_price (Denarius), sell_price (Denarius), token_price (Auctoritas), and crystal_price (Civitas). When you buy, the shop picks the currency in this fixed precedence: Auctoritas first, then Civitas, then Denarius. So if an item has a token price set, that's what you pay — not Denarius.

  1. Open the category from /shop or with a direct alias like /shop tools.
  2. Click an item to buy one; shift-click (bulk) buys a stack.
  3. The cost is withdrawn from the right currency and the item is dropped into your inventory.
  4. If your inventory is full the buy is refused — clear some space first.

Bought items are routed through the ItemFactory with an anti-dupe serial stamp, exactly like crate and auction items. That means shop gear is tracked across trades, vaults, and the auction house — no dupes, no exploits.

Selling Items

If an item has a sell_price greater than zero, you can sell it back to the shop for Denarius. The shop counts how many of that material you have in your storage slots only (slots 0-35), never armor or offhand — a hardened fix that closes a classic gold-armor money exploit. You're paid sell_price × amount × sellMult and the items are removed from your inventory.

Selling is the primary Denarius sink reversal for miners: dump your Sarcina's contents here when you don't want to use /sellall, or sell crafted surplus back for quick cash.

Dynamic Pricing (Optional)

Categories can opt into dynamic pricing — demand-driven price drift driven by a DynamicShopPricing collaborator. When enabled for a category, every buy pushes the price up a hair and every sell pushes it down, with pressure decaying back to baseline over time. The knobs live in shop.yml under dynamic_pricing:

KnobDefaultWhat it controls
ceiling1.3Maximum buy-price multiplier (demand pushes up to +30%).
floor0.8Minimum buy-price multiplier (oversupply drops to -20%).
sell_floor0.7Minimum sell-price multiplier the shop will pay.
step_size0.01How far the multiplier moves per pressure step.
pressure_per_step50.0Items bought/sold per 1% price step.
decay_per_tick5.0Pressure that bleeds off each tick back toward baseline.

Dynamic pricing is off by default and only applies to items priced in Denarius — token and crystal prices are flat. The ceiling and floor clamp how far the price can swing, so a sudden rush can't make an item absurdly expensive or worthless. Use /shop refresh (admin) to reload the knobs without a restart.

Bedrock-Friendly UI

The shop renders through the UIScreen framework, which detects whether a player is on Java or Bedrock and routes them to the right renderer. Java players see the familiar chest inventory; Bedrock players get a Floodgate form with the same items, prices, and buy/sell actions. There's no separate command or setup — Geyser players can just type /shop and go.

This replaced an older flow that locked Bedrock players out of the shop entirely. If you're on a phone or console and the shop ever feels broken, make sure you're on the latest Geyser/Floodgate build — the form UI depends on it.

Permissions

  • imperiummc.shop.access — required to open any shop (default: true).
  • imperiummc.shop.admin — required for /shop refresh (default: op).

Without imperiummc.shop.access the /shop open path refuses with a "No shop access permission" error. Most players have this by default; it exists so servers can restrict the shop to specific ranks if they choose.

Command Reference

CommandWhat it does
/shopOpen the shop main menu — browse categories and items.
/shop open <shop>Open a specific shop category directly (e.g. /shop open blocks).
/shop <alias>Shortcut: /shop mining, /shop tools, /shop food, /shop special.
/shop shopsList every available shop category (aliases: list, categories).
/shop helpShow the in-game shop command reference (aliases: ?, commands, guide).
/shop infoPrint shop feature summary (alias: about).
/shop refreshAdmin: hot-reload shop.yml and dynamic pricing (alias: reload).

Tab-completion is full-featured: the first argument offers every subcommand plus aliases plus category names, and /shop open <tab> lists the live categories.

Tips

  1. Watch the prices. In dynamic categories, prices drift with demand — buy early after a server restart when pressure has decayed.
  2. Sell in bulk. Shift-click to buy or sell a whole stack in one transaction.
  3. Check token and crystal prices. Some items are far cheaper in Auctoritas or Civitas than Denarius — spend the currency you have most of.
  4. Use the aliases. /shop mining is faster than opening the menu and clicking through.
  5. Don't sell with armor on. The sell counter only looks at storage slots, so accidentally wearing a sellable item just means it won't be counted — no harm, but no payout either.
  6. Refresh after edits. If you're staff and just edited shop.yml, run /shop refresh — no restart needed.

The shop is the simplest way to convert currencies into useful items and the cleanest way to liquidate mined blocks for Denarius. Pair it with /sellall for the Sarcina and the Auction House for high-value gear, and you have a complete economy loop.