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 Apr 18, 2014@arcobot have you updated to UUIDS?
-
View User Profile
-
Send Message
Posted Apr 17, 2014@seventyskydiver Should work by default.
-
View User Profile
-
Send Message
Posted Apr 17, 2014Some Players names are too long to fit onto the top line so they can't make a chestshop. How do I fix this?
-
View User Profile
-
Send Message
Posted Apr 16, 2014@Puremin0rez Not really. Shop names are not saved anywhere, so I would have to download a whole username -> UUID database for the converter to work. Now I can just assume that the owner will eventually connect and when he connects, I migrate his username to match the UUID he has joined with.
@copiepasta Sorry, the auto-updater shouldn't have downloaded that version, as it is incompatible with CraftBukkit builds older than 1.7.8. Please re-download the 3.7.8 version.
@ronyjr1 You cannot buy/sell from your own shops.
-
View User Profile
-
Send Message
Posted Apr 16, 2014Hi I'm using theChestShop plugin for my server buy i have a problem when I drop myself and put my game mode to survival i left or right click the sign but when i do that it opens the chest up please help
-
View User Profile
-
Send Message
Posted Apr 16, 2014@copiepasta I also have an error...
[ChestShop] Enabling ChestShop v3.7.9 [14:44:07] [Server thread/ERROR]: WARNING: you seem to not be using the Xerial SQLite driver. See ORMLite docs on SQLite: http://ormlite.com/docs/sqlite [14:44:07] [Server thread/INFO]: creating table 'accounts' [14:44:07] [Server thread/INFO]: creating index 'accounts_shortName_idx' for table 'accounts [14:44:07] [Server thread/INFO]: executed create table statement changed 0 rows: CREATE TABLE IF NOT EXISTS `accounts` (`name` VARCHAR , `shortName` VARCHAR , `uuid` VARCHAR , PRIMARY KEY (`name`) ) [14:44:07] [Server thread/INFO]: executed create table statement changed 0 rows: CREATE INDEX IF NOT EXISTS `accounts_shortName_idx` ON `accounts` ( `shortName` ) [14:44:07] [Server thread/ERROR]: Error occurred while enabling ChestShop v3.7.9 (Is it up to date?) java.lang.NoSuchMethodError: org.bukkit.OfflinePlayer.getUniqueId()Ljava/util/UUID; at com.Acrobot.ChestShop.UUIDs.NameManager.load(NameManager.java:125) [?:?] at com.Acrobot.ChestShop.ChestShop.onEnable(ChestShop.java:93) [?:?] at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:250) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-6-ga3ae0c6-b3029jnks] at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:324) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-6-ga3ae0c6-b3029jnks] at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:404) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-6-ga3ae0c6-b3029jnks] at org.bukkit.craftbukkit.v1_7_R2.CraftServer.loadPlugin(CraftServer.java:442) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-6-ga3ae0c6-b3029jnks] at org.bukkit.craftbukkit.v1_7_R2.CraftServer.enablePlugins(CraftServer.java:376) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-6-ga3ae0c6-b3029jnks] at net.minecraft.server.v1_7_R2.MinecraftServer.n(MinecraftServer.java:344) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-6-ga3ae0c6-b3029jnks] at net.minecraft.server.v1_7_R2.MinecraftServer.g(MinecraftServer.java:319) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-6-ga3ae0c6-b3029jnks] at net.minecraft.server.v1_7_R2.MinecraftServer.a(MinecraftServer.java:275) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-6-ga3ae0c6-b3029jnks] at net.minecraft.server.v1_7_R2.DedicatedServer.init(DedicatedServer.java:175) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-6-ga3ae0c6-b3029jnks] at net.minecraft.server.v1_7_R2.MinecraftServer.run(MinecraftServer.java:426) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-6-ga3ae0c6-b3029jnks] at net.minecraft.server.v1_7_R2.ThreadServerApplication.run(SourceFile:618) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-6-ga3ae0c6-b3029jnks]
-
View User Profile
-
Send Message
Posted Apr 16, 2014Ran into errors..using the latest plugins
06:11:34 [INFO] [ChestShop] Enabling ChestShop v3.7.9 06:11:34 [SEVERE] WARNING: you seem to not be using the Xerial SQLite driver. See ORMLite docs on SQLite: http://ormlite.com/docs/sqlite 06:11:34 [INFO] creating table 'accounts' 06:11:34 [INFO] creating index 'accounts_shortName_idx' for table 'accounts 06:11:34 [INFO] executed create table statement changed 0 rows: CREATE TABLE IF NOT EXISTS `accounts` (`name` VARCHAR , `shortName` VARCHAR , `uuid` VARCHAR , PRIMARY KEY (`name`) ) 06:11:34 [INFO] executed create table statement changed 0 rows: CREATE INDEX IF NOT EXISTS `accounts_shortName_idx` ON `accounts` ( `shortName` ) 06:11:34 [SEVERE] Error occurred while enabling ChestShop v3.7.9 (Is it up to date?) 06:11:34 java.lang.NoSuchMethodError: org.bukkit.OfflinePlayer.getUniqueId()Ljava/util/UUID; 06:11:34 at com.Acrobot.ChestShop.UUIDs.NameManager.load(NameManager.java:125) [?:?] 06:11:34 at com.Acrobot.ChestShop.ChestShop.onEnable(ChestShop.java:93) [?:?] 06:11:34 at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:250) [craftbukkit-1.7.2.jar:git-Bukkit-1.7.2-R0.2-36-g9f75167-b3005jnks] 06:11:34 at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:350) [craftbukkit-1.7.2.jar:git-Bukkit-1.7.2-R0.2-36-g9f75167-b3005jnks] 06:11:34 at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:384) [craftbukkit-1.7.2.jar:git-Bukkit-1.7.2-R0.2-36-g9f75167-b3005jnks] 06:11:34 at org.bukkit.craftbukkit.v1_7_R1.CraftServer.loadPlugin(CraftServer.java:299) [craftbukkit-1.7.2.jar:git-Bukkit-1.7.2-R0.2-36-g9f75167-b3005jnks] 06:11:34 at org.bukkit.craftbukkit.v1_7_R1.CraftServer.enablePlugins(CraftServer.java:281) [craftbukkit-1.7.2.jar:git-Bukkit-1.7.2-R0.2-36-g9f75167-b3005jnks] 06:11:34 at net.minecraft.server.v1_7_R1.MinecraftServer.m(MinecraftServer.java:342) [craftbukkit-1.7.2.jar:git-Bukkit-1.7.2-R0.2-36-g9f75167-b3005jnks] 06:11:34 at net.minecraft.server.v1_7_R1.MinecraftServer.g(MinecraftServer.java:319) [craftbukkit-1.7.2.jar:git-Bukkit-1.7.2-R0.2-36-g9f75167-b3005jnks] 06:11:34 at net.minecraft.server.v1_7_R1.MinecraftServer.a(MinecraftServer.java:275) [craftbukkit-1.7.2.jar:git-Bukkit-1.7.2-R0.2-36-g9f75167-b3005jnks] 06:11:34 at net.minecraft.server.v1_7_R1.DedicatedServer.init(DedicatedServer.java:175) [craftbukkit-1.7.2.jar:git-Bukkit-1.7.2-R0.2-36-g9f75167-b3005jnks] 06:11:34 at net.minecraft.server.v1_7_R1.MinecraftServer.run(MinecraftServer.java:424) [craftbukkit-1.7.2.jar:git-Bukkit-1.7.2-R0.2-36-g9f75167-b3005jnks] 06:11:34 at net.minecraft.server.v1_7_R1.ThreadServerApplication.run(SourceFile:617) [craftbukkit-1.7.2.jar:git-Bukkit-1.7.2-R0.2-36-g9f75167-b3005jnks]
-
View User Profile
-
Send Message
Posted Apr 15, 2014Any particular reason a player is required to login once? Wouldn't that be pretty easy to simulate in a converter?
-
View User Profile
-
Send Message
Posted Apr 15, 2014@Malachi21 1.7.8 I believe will only work with 3.7.9 due to UUID changes.
@ccattell Hmm, about the first one, I believe it's Minecraft's fault. Since 1.2.x, it is not sending packets for any block that can normally be placed, but in this situation can't. This includes normal blocks (because you would be standing in its way, you can try moving to the side to counter it) as well as flowers/etc. - anything that can be placed.
The second one, though, would be a bug. Could you create a ticket for it and I'll make sure to check it out?
-
View User Profile
-
Send Message
Posted Apr 15, 2014Come check it out on mc.corcraft.net
-
View User Profile
-
Send Message
Posted Apr 15, 2014Also we have been noticing a weird bug.... i know it happens with the flowers and red sand because thats what we tested with....
Hold the item you are about to buy in your hand and try to buy, it wont let you. Switch to an empty spot in you hotbar and you can buy....
Move a partial stack of the item you are buying into your inventory, and the plugin uses a blank spot in your hotbar instead of the partial stack in your inventory, fill up all the spots in your hotbar, and it still creates a new stack, instead of using the partial stack
-
View User Profile
-
Send Message
Posted Apr 15, 2014Doesn't work with 1.7.5 and 3.7.8. Do I need 1.7.8 and 3.7.9?/
-
View User Profile
-
Send Message
Posted Apr 15, 2014@ccattell See, I'm rather a person that prefers a minimalistic approach. 2 separate signs seem fine in my book if you want to accomplish something like that - either buy/sell single items or in a bulk.
-
View User Profile
-
Send Message
Posted Apr 15, 2014its better than trying to put 2 separate signs on a single chest one for buying and one for selling.....
a lot of times i want to set the buy to a single item, like a flower for instance, but its a pain when someone tries to sell me a lot of that item, id rather set the sell amount at 64 and it takes a stack at a time
-
View User Profile
-
Send Message
Posted Apr 15, 2014@ccattell I was thinking about that, however it starts to look complicated, and I am not really fond of making things more complicated than they need to be...
-
View User Profile
-
Send Message
Posted Apr 15, 2014Hey Acrobot, have you considered making it so that the buy and sell amounts could be set separately on the sign? On the amount line, you could mimic the price line and do:
owner
32:64
B price:S price
item
-
View User Profile
-
Send Message
Posted Apr 15, 2014@ToooiiiaaaCOBEL Exactly. I've removed the 3.7.9 build from the Files section to combat the auto-updater from downloading the new version. For now, I'll attach it to the description, because CraftBukkit <1.7.8 and CraftBukkit >=1.7.8 are incompatible.
-
View User Profile
-
Send Message
Posted Apr 15, 2014To Fix problem turn off Autoupdate option in config and remove v3.7.9 from update folder. And run v3.7.8...
-
View User Profile
-
Send Message
Posted Apr 15, 2014TO EVERYONE WHO HAS REPORTED CHESTSHOP NOT WORKING
Are you using the latest CB 1.7.8 build? ChestShop 3.7.9 is only compatible with the dev builds.
-
View User Profile
-
Send Message
Posted Apr 15, 2014@Bron4 Huh, auto updates should not install the last one, since it's a dev build. I will have to investigate it. And unfortunately, if your error is the same as @wesley272 one, I will be investigating it.
@wesley272 Hmm, thanks for reporting that, it appears that CraftBukkit changed the way it works, I'll check it. Could you create a ticket for it?
@webbhead Sorry, it appears that CraftBukkit broke something. I'll be fixing it.
@NoHoPeLess They don't have to, they just have to (once) join the server after the update to migrate their username -> UUID.