Skip to main content

Shop System

EliteMobs ships with a built-in shop system that lets players spend and earn Elite Coins (the EliteMobs currency) on EliteMobs gear and arrows. The shops are normally accessed through Blacksmith and merchant NPCs in the Adventurer's Guild, but they can also be opened with commands.

Economy must be enabled

The shops only work when the EliteMobs economy is turned on (enableEconomy: true in EconomySettings.yml). If you have Vault integration enabled, EliteMobs will read and write balances through your Vault economy instead of its own currency database.

Currency

The default currency is called Elite Coins (currencyName in EconomySettings.yml). Players earn it primarily by killing elites (currency showers) and by selling EliteMobs loot. Balances can be checked and paid using the standard money commands:

  • /em wallet / /em money check – check your balance
  • /em pay <player> <amount> – pay another player (subject to playerToPlayerPaymentTaxes)

Admins can manage balances with /em money add|remove|set and friends.

The shops

Dynamic Shop (procedurally generated gear)

Opened with /em shop dynamic or by talking to the Blacksmith NPC (elitemobs.shop.dynamic.npc).

The Dynamic Shop fills a 54-slot menu with procedurally generated EliteMobs weapons and armor. The level of the offered items is scaled to your skill level for that item type: each item is rolled between (skillLevel - 5) and skillLevel (clamped to 1–100), using the relevant weapon/armor skill (or your average skill level for items that have no matching skill). This keeps the shop stocked with gear that is appropriate for your current progression.

  • Click an item to buy it. The price is the item's calculated worth, and the purchase is blocked if you cannot afford it, if your inventory is full, or if you do not meet the skill requirement to equip the item.
  • Use the reroll button to refresh the offered stock (short 2-second cooldown).

Custom Shop (special items)

Opened with /em shop custom or by talking to the Special Blacksmith NPC (elitemobs.shop.custom.npc).

The Custom Shop sells handcrafted Custom Items that have been flagged for the shop. Items shown here are pulled from the pool of custom items configured to appear in the shop, and are automatically soulbound to the buyer. Like the Dynamic Shop it has a reroll button (2-second cooldown) and the same buy rules (price, inventory space, and funds checks).

Selling items

Selling is reached through the Sell option of the buy-or-sell menu (after opening the Dynamic or Custom Shop), or directly by an admin with /em shop sell <player> (elitemobs.shop.sell.other). The Selling items Blacksmith NPC uses the elitemobs.shop.sell.npc permission.

In the Sell menu:

  • Drag EliteMobs items from your inventory into the sell slots. Only EliteMobs items soulbound to you can be sold — vanilla items and items soulbound to someone else are rejected with a message.
  • The confirm button shows the running total. Click it to sell everything and receive Elite Coins.
  • Resale value is a fraction of the item's full worth, set by itemResaleValue in EconomySettings.yml (default 5%).

Arrow Shop

Opened by talking to the Arrow Shop NPC (elitemobs.shop.arrow.npc).

The Arrow Shop sells ammunition for Elite Coins. The default stock includes:

  • Regular arrows (a small stack and a large stack)
  • Spectral arrows
  • Tipped arrows of Poison, Slowness, Weakness, Harming, and Healing

Each entry's amount and price are configurable in the arrow shop menu config. Click an arrow to buy it (blocked if you cannot afford it or your inventory is full).

Commands and permissions

CommandPermissionDefaultDescription
/em shop dynamicelitemobs.shop.dynamictrueOpens the dynamic (procedural) gear shop
/em shop procedural <player>elitemobs.*opOpens the dynamic (procedural) shop for another player
/em shop customelitemobs.shop.commandtrueOpens the custom item shop
/em shop custom <player>elitemobs.shop.custom.otheropOpens the custom shop for another player
/em shop sell <player>elitemobs.shop.sell.otheropOpens the sell menu for another player

NPC interaction permissions (granted to players by default via the elitemobs.user bundle):

PermissionNPC
elitemobs.shop.dynamic.npcBlacksmith (dynamic shop)
elitemobs.shop.custom.npcSpecial Blacksmith (custom shop)
elitemobs.shop.sell.npcSelling items
elitemobs.shop.arrow.npcArrow Shop

Configuration

The shop economy is configured in EconomySettings.yml. Notable keys:

KeyDefaultEffect
enableEconomytrueMaster switch for the whole shop/economy system
currencyNameElite CoinsDisplay name of the currency
useVaultfalseRoute balances through Vault instead of the EliteMobs database
itemResaleValue5Percentage of full item worth paid when selling
playerToPlayerPaymentTaxes0.2Tax rate (0.0–1.0) applied to /em pay transfers (0.2 = 20%)
materialWorth.defaultMaterialWorth1Fallback worth for materials with no explicit price

Menu layouts (slots, item icons, names, and messages) for each shop live in the EliteMobs menu config files (for example the buy-or-sell, custom shop, procedural shop, sell, and arrow shop menu configs).