ChestShop (iConomyChestShop)
Acrobot released his first Android game, would you mind giving it a go?
ChestShop
A simple, yet very powerful system for making physical shops using signs and chests.
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!
If you are upgrading from a previous version of ChestShop please make sure to always read the warnings in the file's changelog!
The plugin by default submits anonymous stats about your server (player count, plugin/server version and type) to a public statistics websites (mcstats.org and 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.
Frequently Asked Questions
Permissions
User-made tutorials
Download the latest stable version
Download the latest development version
Download 1.12.2 version
Download 1.8.8 version
Download older versions
API for plugin developers
Source code on GitHub
Crowdin Localization Project
Thread on Bukkit forums
IRC chat (#chestshop on irc.esper.net)
Discord Channel Joining through that invite auto subscribes you to important update notifications, if you don't want that use this invite.
bStats metrics
Additional modules for ChestShop:
ChestShop LegacyIds - allows usage of numeric and old pre 1.13 string IDs on signs
Notification module - to use with Notifications plugin (outdated)
Towny module - to use with Towny plugin
ChestShop Notifier - records all sales, even when the player is offline (Maintained by Phoenix616)
ChestShopTools - Enchantment info signs and empty shop notifier (Maintained by Phoenix616)
Adda - Item display icons above the chest, transaction limit, Discord alerts, per-player shop limit! (User-made)
ChestIcon - Icons for Chests, just like the Showcase plugin! (User-made, broken on newer versions)
Libelula Auto Shop - easy creation of admin shops, using Essentials (User-made)
ChestShopLimiter+ - limits the number of shops per player (User-made, abandoned)
ChestShopListing - Stores shops and transactions in SQL; adds related features including in-game search (User-made)
ChestShopConfirmation - confirmation screen before buying (User-made)
SearchChestShop - search for shops selling certain items (User-made)
BoltChestShop - Add support for Bolt container protections (Made by the Bolt author)
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 shop
Player shop
| Place a chest on the ground | |
| Place a sign 1 block away from the chest (for example, above it) | |
| On the sign, write: | ![]() |
| 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) | |
| Second line is the amount of items to buy or sell | |
|
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" |
|
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 on it. You can find out the name of the item you're holding by doing /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.
Admin Shop - 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!
Translations
- /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
| Description | ||
|---|---|---|
| ChestShop.shop.* | shop creation and buying/selling - it contains: | |
| ChestShop.shop.create.* |
create all types of shops |
|
| ChestShop.shop.buy | buy any item from shop | |
| ChestShop.shop.sell | sell any item to shop | |
| ChestShop.mod | open any shop chest | |
| ChestShop.admin | open any shop chest, destroy stores, create (admin) shops |
A full list of permission nodes
Configurations
Useful tips by players
| How not to get bankrupt | A customisable price table |
| Alternative price table |
Compatibility
ChestShop directly hooks into the following plugins to provide additional functionality:
- AuthMe (and forks like AuthMe Reloaded)
- WorldGuard
- Residence
- LWC (and forks like LWCX and Modern-LWC)
- Lockette
- LockettePro
- Deadbolt
- SimpleChestLock
- OddItem
- Heroes
- ShowItem
Metrics
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. (You can also fund them via IssueHunt!)
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 Phoeni616 a beer! :)
A shout-out to Acrobot's friend:
We believe that the music he makes is really stunning - you can decide it for yourself!
If you have an issue then please open a ticket on GitHub or post on SpigotMC.org for faster replies to questions!


-
View User Profile
-
Send Message
Posted Jun 7, 2014@Acrobot
Yes, it is a new version of timings, it wasn't pulled to Spigot yet but i compiled a version for myself. And the database is on the same server, this never happened before, maybe it's some change Vault did.
-
View User Profile
-
Send Message
Posted Jun 6, 2014Hello, love the plugin!
I saw a server that incorporated items with custom enchantments and added a hashtag to the end in order to create shops to buy and sell certain items with the exact enchantments and names. How could I do this myself? Thanks.
-
View User Profile
-
Send Message
Posted Jun 6, 2014@Acrobot
iconomy on an intern mysql database maybe vault interacting with iconomy, but the lag only appears since 1.7.9,(maybe the last bugfix i don't know). So maybe something not working with 1.7.9
-
View User Profile
-
Send Message
Posted Jun 5, 2014@1337Zero I was right. Your economy plugin absolutely cannot handle the load of operations. It takes on average 40 miliseconds to just process one transaction. Are you hosting the economical database on an external server?
@dragonzrmetal Well, you can just configure logging to file in the config.
@NoChanceSD Interesting, this is the first time I see a timing report with method names written inside them. Probably some new version? Anyway, your economy plugin takes 250 miliseconds (that's 1/4th of a second!) to process a transaction. Are you hosting the economical database on an external server?
-
View User Profile
-
Send Message
Posted Jun 5, 2014@Acrobot
Btw, i also got a timing indicating some lag from ChestShop
http://aikar.co/timings.php?url=7596952
-
View User Profile
-
Send Message
Posted Jun 5, 2014Hi, Would it be possible to have a chestshop logger, logging everything people buy or sell to adminshops particularly in a .txt? I can't even find any other plugins which do this. It would help us server admins find any loopholes in our shops. Thanks
-
View User Profile
-
Send Message
Posted Jun 5, 2014@Acrobot
http://aikar.co/timings.php?url=6c9a435969151146a837aef062ed5b3e and http://aikar.co/timings.php?url=afe5df154f76ffe57a9c0436d4512c95
But I do not think it helps, because it onlyhappening very rarely.
-
View User Profile
-
Send Message
Posted Jun 5, 2014@Ruan942 Sure, this is fixed in the latest dev build, however due to the time it takes for Bukkit to update the files of ChestShop (5th day and still waiting for approval of a simple fix) I cannot start uploading it on BukkitDev...
@MarkehMe @Snowybearr
Could you send me your timings report? I find it is mostly economy plugins that can't handle the load, not ChestShop.
-
View User Profile
-
Send Message
Posted Jun 4, 2014Can also confirm the lag issue. Even with the interaction at 2k, if you spam buy or sell items it lags super bad. Nothing can go through chat or happen until the server catches up with however many items the player bought or sold.
-
View User Profile
-
Send Message
Posted Jun 4, 2014I regards to the TPS drop, I'm also getting it. ChestShop is using 31% of the resources just to itself.
-
View User Profile
-
Send Message
Posted Jun 3, 2014@Acrobot
It's because your latest build here calls Bukkit.getOfflinePlayer in the main thread, which is a blocking method as of 1.7.9.
-
View User Profile
-
Send Message
Posted Jun 3, 2014@Ultraxionpro Any supporting Vault.
@mrkos Hmm... Sounds bad, however if I'm calculating it right, it appears that your players are calling PlayerInteractEvent about 17 times PER SECOND. This is quite a bit, especially if some of those clicks are gonna be processed.
-
View User Profile
-
Send Message
Posted Jun 2, 2014@1337Zero
We got the exactly the same problem!
We have sett SHOP_INTERACTION_INTERVAL to 2000 and we still have the problem,
the player only get items 1 every 2000 but when they click fast at the sign , the server Get Insane lagg,
If a player click at the sign to fast for to long the server shutsdown! :/
-
View User Profile
-
Send Message
Posted Jun 2, 2014@JailRealms
I got the same Problem huge fps drop when someone sells items to the Servershop or a user shop. Setting SHOP_INTERACTION_INTERVAL to 1000 doesn't really helped.
-
View User Profile
-
Send Message
Posted Jun 1, 2014Hia,
Condering you are the developer of chestshop could you please tell me whats happening here?
http://aikar.co/timings.php?url=7570876
Its been making my server lag. I own a prison server and when people sell it creates a lot of lag.
I am not on shared hosting.
-
View User Profile
-
Send Message
Posted Jun 1, 2014What economy pluggin do i need to accompany this one?
-
View User Profile
-
Send Message
Posted May 30, 2014@TutorGuy Config?
@Durand1w OddItem is mostly a server-side plugin. It will allow you to put a localised name on the sign and ChestShop will properly resolve it to the ID.
-
View User Profile
-
Send Message
Posted May 29, 2014Is there A way I can toggle Hopper Protection?
-
View User Profile
-
Send Message
Posted May 29, 2014@Acrobot
I wasn't sure if that was still an option since it shows as 1.2.
If I include OddItem, will it resolve item IDs to names on signs, or only show names if the localized name is used on the sign.
-
View User Profile
-
Send Message
Posted May 29, 2014@ElSarraHD Does not tell me much. Please post the whole error on pastebin.com