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 Jan 31, 2015Ok, I'll check that out. Thank you for your help, and still being so committed to such a core plugin after all these years!
Edit: just tried the backspace thing with her, worked like a charm! Thanks a ton c:
-
View User Profile
-
Send Message
Posted Jan 31, 2015@theboss192 Assuming that the sign is correct (it should be <B $:$ S>, but I guess that you probably know that) and you're using the latest version of Spigot, it might boil down to two problems:
@HowDareYouKitty @Mr_Simba
Look into the reply above. Assuming the players are using a Mac, it might just be a problem with Apple's Java.
-
View User Profile
-
Send Message
Posted Jan 30, 2015@2soldier3
Like it says at top of page ChestShop supports all of them with Vault
-
View User Profile
-
Send Message
Posted Jan 30, 2015@Mr_Simba
I've been having this same problem. Except now 2 people can't create shops.
-
View User Profile
-
Send Message
Posted Jan 30, 2015Hey Acro,
I'm having a weird problem where only one specific player can't create shops. She appears to format the signs correctly and it just doesn't create a shop. I even asked if she might be putting spaces after the numbers since that breaks it, and she says she isn't. Admins can forcefully create shops by putting her name, but if she does it herself it doesn't work no matter how she formats it. Any ideas? I'm having a hard time believing she's not formatting it wrong lol
-
View User Profile
-
Send Message
Posted Jan 29, 2015Hello Acrobot,
I love your plugin, and have used it for a while. I recently got my plugins back, after a stint in vanilla, thanks Bukkit, and I naturally came back to get your latest update now that I can use plugins again. :)
However, after uploading the plugin and starting up, all went well no errors in console. On the console and in game when you /plugins it shows as enabled.
I tried to place an Admin Shop sign, following the order, ( L1- 'Admin Shop' , L2- '<quantity>' , L3- '<buy $:$ sell>' , L4- '<data value>' .) But when I clicked on 'done' the sign merely placed itself with the text I had written, like any ordinary sign. No mention of a successful shop sign creation. The data value number remains a number and does not change to the name of the item. And the name does not auto fill for non Admin Shops. :(
FYI - i am running:
Do you think you can help me resolve this issue, I don't really know what else to do?
Thank you very much for your help and awesome plugin :)
-
View User Profile
-
Send Message
Posted Jan 29, 2015@Acrobot
What money plugin does this plugin go with?
-
View User Profile
-
Send Message
Posted Jan 29, 2015Dont work on my server!
can somebody or the maker of the plugin help me ?
i need it i have used the first version and last version of spigot
-
View User Profile
-
Send Message
Posted Jan 28, 2015@xtomyserrax It should be also compatible with 1.7.10. However, I have tested it only on 1.8, thus the version listed.
@Walkyy What happens when players try to buy?
-
View User Profile
-
Send Message
Posted Jan 28, 2015I have given my players the permission to buy, sell and create shops. The sell and create shops works perfectly however only OP's can buy. I have tried adding the permnode a million times and nothing seem to be working.
Whelp :O
-
View User Profile
-
Send Message
Posted Jan 27, 2015@Acrobot
Is the last version of ChestShop only compatible with 1.8?
Where can i get a version compatible with 1.7.10 ?
-
View User Profile
-
Send Message
Posted Jan 27, 2015@Chakles The warning is fine. You are probably running an outdated version of Spigot. Please update it.
@Thepom360 Probably, however this would mean introducing a lag to the transactions.
@angelgenie Update Residence.
@MysticalCrow To be quite honest, it sounds weird, however due to Minecraft's complexity, the two spawners might not be exactly the same, thus - cannot be sold in one shop.
@JesseWayne21 This sounds like a bug in Spigot. Please update to the latest version. If that doesn't work, delete users.db file in plugins/ChestShop/. Warning, shops will be unusable until their owner connects at least once to the server.
-
View User Profile
-
Send Message
Posted Jan 27, 2015Hi there Acrobot, Everything was working as a charm in 1.7.10 but we have switched to 1.8 and Chestshop is not working anymore.
The plugin loads but no shop can be made at all. Console error says:
Sv: CraftBukkit git-Spigot-"606148f" (MC:1.8) (Implementing API version 1.8-R0.1-SNAPHSOT)
Csv: 3.7.18
Vault
PermissionsEx
Any clues? thanks in advance.
-
View User Profile
-
Send Message
Posted Jan 27, 2015It Would be awesome to have a way to check How much money you've Made with the chest shops.
/ch check or something.
-
View User Profile
-
Send Message
Posted Jan 26, 2015I am using silkspawners plugin and have setup Admin Shops to sell them I have created the signs correctly but when you purchase one the name is correct but the type is always pig. You also cannot sell mined spawners to the shops.
I am using ChestShop v3.8.0 and SilkSpawners v3.6.2 I also have SilkSpawnersEcoAddon v1.0.4 but I doubt that is causing the problem.
EDIT: I think I have gotten it to work now by setting useLegacyName: true in silkspawners config.
EDIT 2: Buying spawners from the admin shop does work now and you can sell back the spawners you bought but you cannot sell spawners you have given yourself with for example: /ss creeper 1 and you cannot sell spawners you have mined from dungeons or even the spawners bought from the shop once placed down and mined. Hope that makes sense.
-
View User Profile
-
Send Message
Posted Jan 26, 2015i have a question, does it work with written books? cause when i deposit written books on the chest players cant buy cause it says out of stock
-
View User Profile
-
Send Message
Posted Jan 18, 2016Me2 D:
Please fix
-
View User Profile
-
Send Message
Posted Jan 26, 2015[18:03:24] [Server thread/ERROR]: Could not pass event ProtectionCheckEvent to ChestShop v3.8.0
org.bukkit.event.EventException
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:305) ~[spigot-1.8.jar:git-Spigot-b1e6da1-1092acb]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[spigot-1.8.jar:git-Spigot-b1e6da1-1092acb]
at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) [spigot-1.8.jar:git-Spigot-b1e6da1-1092acb]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487) [spigot-1.8.jar:git-Spigot-b1e6da1-1092acb]
at com.Acrobot.ChestShop.ChestShop.callEvent(ChestShop.java:452) [ChestShop.jar]
at com.Acrobot.ChestShop.Security.canAccess(Security.java:36) [ChestShop.jar]
at com.Acrobot.ChestShop.Security.canAccess(Security.java:31) [ChestShop.jar]
at com.Acrobot.ChestShop.Listeners.Block.BlockPlace.onChestPlace(BlockPlace.java:38) [ChestShop.jar]
at sun.reflect.GeneratedMethodAccessor195.invoke(Unknown Source) ~[?:?]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_25]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_25]
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:301) [spigot-1.8.jar:git-Spigot-b1e6da1-1092acb]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) [spigot-1.8.jar:git-Spigot-b1e6da1-1092acb]
at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) [spigot-1.8.jar:git-Spigot-b1e6da1-1092acb]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487) [spigot-1.8.jar:git-Spigot-b1e6da1-1092acb]
at org.bukkit.craftbukkit.v1_8_R1.event.CraftEventFactory.callBlockPlaceEvent(CraftEventFactory.java:125) [spigot-1.8.jar:git-Spigot-b1e6da1-1092acb]
at net.minecraft.server.v1_8_R1.ItemStack.placeItem(ItemStack.java:154) [spigot-1.8.jar:git-Spigot-b1e6da1-1092acb]
at net.minecraft.server.v1_8_R1.PlayerInteractManager.interact(PlayerInteractManager.java:503) [spigot-1.8.jar:git-Spigot-b1e6da1-1092acb]
at net.minecraft.server.v1_8_R1.PlayerConnection.a(PlayerConnection.java:724) [spigot-1.8.jar:git-Spigot-b1e6da1-1092acb]
at net.minecraft.server.v1_8_R1.PacketPlayInBlockPlace.a(PacketPlayInBlockPlace.java:50) [spigot-1.8.jar:git-Spigot-b1e6da1-1092acb]
at net.minecraft.server.v1_8_R1.PacketPlayInBlockPlace.a(PacketPlayInBlockPlace.java:80) [spigot-1.8.jar:git-Spigot-b1e6da1-1092acb]
at net.minecraft.server.v1_8_R1.PacketHandleTask.run(SourceFile:13) [spigot-1.8.jar:git-Spigot-b1e6da1-1092acb]
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_25]
at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_25]
at net.minecraft.server.v1_8_R1.MinecraftServer.z(MinecraftServer.java:683) [spigot-1.8.jar:git-Spigot-b1e6da1-1092acb]
at net.minecraft.server.v1_8_R1.DedicatedServer.z(DedicatedServer.java:316) [spigot-1.8.jar:git-Spigot-b1e6da1-1092acb]
at net.minecraft.server.v1_8_R1.MinecraftServer.y(MinecraftServer.java:623) [spigot-1.8.jar:git-Spigot-b1e6da1-1092acb]
at net.minecraft.server.v1_8_R1.MinecraftServer.run(MinecraftServer.java:526) [spigot-1.8.jar:git-Spigot-b1e6da1-1092acb]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_25]
Caused by: java.lang.NoClassDefFoundError net/t00thpick1/residence/api/ResidenceAPI
at com.Acrobot.ChestShop.Plugins.ResidenceChestProtection.onProtectionCheck(ResidenceChestProtection.java:28) ~[?:?]
at sun.reflect.GeneratedMethodAccessor335.invoke(Unknown Source) ~[?:?]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_25]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_25]
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:301) ~[spigot-1.8.jar:git-Spigot-b1e6da1-1092acb]
... 28 more
-
View User Profile
-
Send Message
Posted Jan 25, 2015@Acrobot
The sign appears with the number to sell, price, and item # but not as a shop.
-
View User Profile
-
Send Message
Posted Jan 25, 2015@TWSSYesterday You've 1,732 hopper events PER TICK (this is equal to about 35000 events per second). This causes lag, not ChestShop.
@JesseWayne21 What do you mean by "nothing"?
@thegotak Update Residence to the dev version.
@wicked321 This shouldn't make a difference. If the NBT tag is correct, ChestShop will accept it.