Economy

Shop

The 752-item server shop — buy and sell blocks, gear, food, and specials on the Framed UI.

The server shop is Imperium's centralised marketplace: a 752-item catalog of blocks, gear, food, and specials loaded from shop.yml at startup, so the catalog can be tuned live without a plugin rebuild. Buy what you need and sell surplus materials back for Denarius. 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

The catalog is two-level: six groups (the tabs you see when you open /shop), each bundling several dozen named categories (Stone & Bricks, Wood, Glass, Banners, Redstone, PVP, Food, and so on):

Group (tab)IconWhat it sells
BuildingBricksStone & bricks, earth, and wood - every building block family.
ColorsCyan ConcreteWool, concrete, terracotta, and all 16 stained glass colors.
NatureCherry SaplingPlants, farming, and ocean blocks - flowers, crops, coral, kelp.
DecorItem FrameFurniture, beds, lighting, banners, and heads.
TechRedstoneRedstone components, transport (rails, boats), and storage.
CombatDiamond SwordPVP gear, food, and special items (totems, elytra, ender pearls).

Run /shop shops any time to list the live categories on your server - that's the authoritative list, since admins can extend it. /shop open <category> jumps straight to a shelf (for example /shop open stone).

Buying Items

Every item carries a buy_price in Denarius (the code also supports optional token_price and crystal_price for Auctoritas and Civitas shelves - when one is set, that currency is charged instead). The live catalog is priced in Denarius, so in practice you pay cash.

  1. Open a group from /shop, or a category directly with /shop open <category>.
  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 catalog's default is a 40% sell-back of the buy price, with a few faucet exceptions that sell for zero - Clay Balls, Sticks, Tripwire, and Arrows - so freely bought junk can never be minted back into money. 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 handy for crafted surplus and bulk blocks; for your mined Sarcina contents,/sellall is usually faster.

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.

The Framed UI (Java & Bedrock)

The shop renders on the FramedUIScreen standard - one tabbed wireframe window whose chrome is shared with the Aureus Emporium - and the underlying UIScreen framework 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 groups and categories.
/shop open <category>Open a specific shop category directly (e.g. /shop open stone).
/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 the sell-back exceptions. Clay Balls, Sticks, Tripwire, and Arrows sell for zero - buy them to use, never to resell.
  4. Open shelves directly. /shop open stone is faster than clicking through the tabs - tab-complete shows every live category.
  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.