Welcome to the Hangar Open Beta. Please report any issue you encounter on GitHub!
Avatar for ChestShop

A simple, yet very powerful system for making physical shops using signs and chests!

If you are upgrading from a previous version of ChestShop please make sure to always read the warnings in the update note!

ChestShop is a simple, yet very powerful system for making physical shops using signs and chests that was originally created by Acrobot and is now being continued.

It's never been that easy to create shops! With features like shop protection and anti-lag protection, you won't have to worry about your server's economy anymore!

"Just works"! ChestShop supports almost all economy plugins by using Vault! (Versions above 3.9.2 also support economy plugins using the Reserve API) Some known compatible and incompatible economy plugins.

Please check if there are newer development builds before reporting issues!

The plugin by default submits anonymous stats about your server (player count, plugin/server version and type) to a public statistics websites (bstats.org) in order to provide the developers with usage information. If you wish to opt out, you can do so in the PluginMetrics/config.yml and bstats/config.yml files. It also features an auto-update feature, which can be turned off in the config.

Additional modules for ChestShop:

Using shops

It's easy! Just right-click the sign to buy, left-click to sell. (You can configure the buttons in the config file!)

How to create a Player Shop

  1. Place a chest on the ground
  2. Place a sign 1 block away from the chest (for example, above it)
  3. On the sign, write:
  4. Leave the first line empty. It will be automatically filled with your name by the plugin (if you have the permission ChestShop.admin then you can create shops with the names of other players)
  5. Second line is the amount of items to buy or sell
  6. Third line is a combination of buy and sell prices. You need to have a price indicator (like 'B' - price that will apply to items BOUGHT by PLAYERS - or 'S' - the SELL price) near the price - the prices are separated by a colon : Some of the possible price combinations: "B 5:5 S", "B 5", "S free"
  7. The forth line will hold the id/name of the item. Write ? on the sign and the item will be autofilled with the one from the chest or you can click on the sign with the item afterwards. Optionally you can put the actual name of the item on the forth line. You can find out the name of the item that you're holding by running /iteminfo

Resulting shop:

A person can buy 64 diamonds for 10 dollars and sell them back for 5 dollars from Phoenix616

If you want you can also take a look at this video tutorial.

Creating an Admin Shop with unlimited items

Firstly, you've got to be sure that you've the ChestShop.admin permission or that you are an OP. To make an Admin Shop, simply put "Admin Shop" (configurable in config.yml) on the first line of the sign when creating the shop. Admin Shops do not require a chest! (If there is a chest then they will use the items within and not be unlimited. You can change that with the FORCE_UNLIMITED_ADMIN_SHOP config option)


The latest builds include translations for many languages. They are shipped with the plugin. If you want to help out translating messages check out the ChestShop Crowdin project!


  • /iteminfo - Get information about the item in your hand
  • /iteminfo <id/name> - Get information about the item with the given id or name
  • /shopinfo - Get information about the looked-at shop
  • /csgive <itemcode> [<amount>] [<player>] - Give item with a unique ChestShop code to a player
  • /cstoggle - Toggle buy and sell notificiation messages
  • /chestshop version - Display the ChestShop version
  • /chestshop reload - Reload the ChestShop config and translation messages. (This might not reload some features)
  • /csaccess - Toggles ability to buy/sell on shops while having admin/access permissions and normally being ignored

Permission nodes

  • ChestShop.shop.* - shop creation and buying/selling - it contains:
  • ChestShop.shop.create.* - create all types of shops
  • ChestShop.shop.create.<itemid> - create shops with a specific item type
  • ChestShop.shop.create.buy.<itemid> - create buy shops for a type
  • ChestShop.shop.create.sell.<itemid> - create sell shops for a type
  • ChestShop.shop.buy - buy any item from shops
  • ChestShop.shop.buy.<itemid>* - buy only specific items from shops
  • ChestShop.shop.sell - sell any item to shops
  • ChestShop.shop.sell.<itemid> - sell only specific item to shops
  • ChestShop.mod - open any shop chest
  • ChestShop.admin - open any shop chest, destroy stores, create (admin) shops

A full list of permission nodes


Besides defining which shops a player can create via permission you can also configure almost any aspect about the plugin in the automatically generated yml files. The more general settings are in the config.yml (with explaining comments), setting minimum/maximum prices is done via the priceLimits.yml and setting up admin shop discounts is done via the discounts.yml. Messages can be set in the config files in the languages folder for each client language. They use the MineDown syntax for full component support.

Useful tips by players


ChestShop directly hooks into the following plugins to provide additional functionality:

And of course all Economy plugins that are Vault or Reserve compatible.


ChestShop's source code as well as the distributed plugin file are licensed under the terms of the GNU Lesser General Public License 2.1.


This resource sends metrics data to McStats and bStats. You can opt-out of metrics for all plugins on your server by changing the settings in the PluginMetrics/config.yml and the bStats/config.yml file if you don't want any data to be send.

More info

Even more information can be found in the old plugin thread on the forums.

Got an error or suggestion?

Simply submit a ticket here!

If you have a Github account and have coding knowledge you can also directly open an issue on Github.

If you just need general help feel free to ask in the comments or join the #chestshop channel on Spigot's IRC network (irc.spi.gt, webchat)

Has ChestShop helped you or your server?

If you want to thank the team in a more materialistic way, feel free to donate or buy Phoenix616 a beer! :)

Acrobot released his first Android game, would you mind giving it a go?

A shout-out to Acrobot's friend: We believe that the music he makes is really stunning - you can decide it for yourself! His SoundCloud account


Published onJanuary 29, 2023

Pinned Versions


Avatar for Phoenix616