promotional bannermobile promotional banner

Adventurer's Market

This is a mod designed to add a store to any vanilla or modpack build. It is stand-alone and requires no dependencies so should work with any other mods.

Adventurer's Market

One store for the whole server, stocked and priced in game.

Adventurer's Market adds a single store that every player shares. Admins build it from an editor screen without touching a config file: they create categories, stock any item, price it in any item, and can lock products until a player has earned a particular advancement. Players open the store, browse or search, and buy.

This mod is not built for any one mod or pack. Vanilla items, modded items, custom coins, anything with special data: if it's an item, it can be sold, and it can be the price.


For players

Type /store to open the store.

  • Categories are listed down the left. Click one to see what it sells.
  • Each product shows the item, how many you get, and what it costs.
  • Hover over any item for its full tooltip: enchantments, stats, modded details, everything.
  • Use the search box to search every category at once. Results show which category each item is in.
  • Click a product, choose how many times to buy it with - and + (hold Shift to change by 10), and press Buy.
  • The bottom of the screen shows the total cost and how much of the currency you're carrying. If you can't afford it, the cost turns red and Buy is greyed out.
  • Locked products show what you need to unlock them, such as "Requires: Diamonds!".

Payment comes from your main inventory and hotbar. Armor and your offhand are never touched. If your inventory is full, the purchase drops at your feet so nothing is lost.


For admins

Type /adminstore to open the Store Editor.

Categories

Add, rename, reorder and delete categories. Each can have an icon. Without one, it shows its first product instead.

Products

Press + Product, then fill in the form:

  • Product: the item players receive.
  • Qty: how many they receive per purchase.
  • Price: the item they pay with.
  • Cost: how many of that item they pay.
  • Lock: an optional advancement they must have earned first.

There are two ways to choose the product and the price:

  • From your inventory. Click any item in your inventory, which is shown right in the form. The store saves an exact copy, including custom names, enchantments, durability and any data other mods attach. A specially built modded tool or a one-of-a-kind item is sold exactly as you stocked it.
  • From the item browser. Press Browse... to choose from the creative menu's own tabs and items, including every enchanted book and potion variant. Search by name, or type @modname to see one mod's items. Browser items come out plain, the way creative gives them. For anything custom, use your inventory.

Double-click a product to edit it. Deletes always ask for confirmation. Players with the store open see your changes the moment you save.

Currency

Any item can be the price, and it's matched exactly. If the price is a renamed "Gold Coin" (a gold nugget with a custom name), a plain gold nugget won't pay for it. That makes custom currencies safe to use. Common choices:

  • emeralds, gold nuggets or diamonds
  • a coin or token from another mod
  • a renamed item that only admins hand out

Each product can use a different currency, so one category can cost emeralds while another costs boss drops.

Purchase log

The editor's Purchase log tab lists recent purchases, newest first: the time, the player, what they got and what they paid. Type a player's name to see only their purchases. Every purchase is also written to logs/adventurers_market/purchases.log.

The log is written in the background and never holds up the server. It starts a fresh file once it reaches a set size, so it can't fill up your disk.


Advancement locks

Any product can be locked behind an advancement. A player can see a locked product, but can't buy it until they've earned that advancement. Then it unlocks for them straight away.

In the product form, press the Lock button. You get a searchable list of every advancement on the server: vanilla, from any mod, or from your own datapack. Pick one, or choose No lock.

Some ways to use it:

  • Progression gating. Sell diamond gear only after "Diamonds!", and Nether supplies only after "We Need to Go Deeper".
  • Mod milestones. Lock a mod's high-tier items behind that mod's own advancements, so players can't buy their way past its progression.
  • Quest rewards. Make a simple advancement in a datapack (an impossible trigger works well) and grant it with /advancement grant from a quest reward, a command block or any mod that can run commands. Finishing the quest opens up a new tier of the store.
  • Ranks or levels. If a mod in your pack grants advancements for ranks, levels or classes, lock products to those directly.

If an advancement is ever taken away again, for example by a mod that resets progress, the product locks again automatically. Locks are always checked by the server at the moment of purchase.


For modpack makers

The whole store is saved to one file, config/adventurers_market/store.json. Stock the store once in your dev instance, then ship that file in your pack, and every player starts with a ready-made store.

  • The file is plain JSON, so you can also edit it by hand and run /adminstore reload to apply your changes. Reload before making any edits in game, or the next in-game edit will save over your hand edits.
  • If a mod is removed from the pack, any products using its items are hidden but kept in the file. Put the mod back and they return.
  • If the file is ever damaged, for example by a typo in a hand edit, the store closes and editing is switched off, so the file is never overwritten with an empty store. The error is shown in the editor and the log. Fix the file and reload.

For server owners

Commands

  • /store opens the store for any player.
  • /adminstore opens the editor. It needs permission level 2 (a normal op) by default.
  • /adminstore help lists the admin commands for chat or the console. Products can be added from chat by holding the product in your main hand and the currency in your offhand.
  • /adminstore reload reloads the store from store.json.
  • /adminstore log [count] and /adminstore log player <name> show recent purchases in chat.
  • /store list, /store browse <category> and /store buy <category> <number> are chat versions of the store.

Config (config/adventurers_market-common.toml)

  • adminPermissionLevel: who can use /adminstore. Default 2.
  • maxBuyAtOnce: the most times a product can be bought in one purchase. Default 64.
  • purchase_log.enabled: turn the purchase log on or off.
  • purchase_log.maxSizeKb: the size at which the log file starts fresh.
  • purchase_log.recentKept: how many recent purchases the editor shows.

Security

Everything is checked by the server. The client only ever says "I'd like to buy this". The price, the lock and the player's inventory are checked again on the server for every purchase, and every edit is checked against the admin permission level when it arrives. A modified client can't buy for free, skip a lock, or edit the store.


FAQ

Does it work in singleplayer? Yes. To use /adminstore in singleplayer, the world needs cheats enabled.

Can players sell items back to the store? No. The store only sells.

Can I have more than one store? There's one store per world or server, organised by categories.

Does it need to be installed on the client too? Yes, on both the server and every client.

Does it need any other mods? No. Only NeoForge.


Requires: Minecraft 1.21.1 · NeoForge Licence: MIT. You're welcome to include it in any modpack.

Adventurer's Market Team

profile avatar
  • 5
    Projects
  • 1.2K
    Downloads

More from ArmedBobView all