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 Feb 10, 2014@Acrobot
I just tried it without PEX and it does not make a difference.. I even removed any plugin except economy (gringotts) and chestshop.. it still loads connects to vault no error and ingame as if it wasn't installed.. at least for the op / ex op for some reason..
-
View User Profile
-
Send Message
Posted Feb 10, 2014@LordKainzo Dah :/ Again, it seems like CraftBukkit is weirding out :/
@Darthmineboy Unfortunately, I can't do anything about it. You should probably ask MineConomy authors for some caching of transactions, because I can't do it myself (what would happen if somebody transferred all his money to other account and purchased at the same time? If I cached the results, this would lead to a negative balance).
@merlingly Ahh... I am trying to investigate that error, but I'd say it's probably due to PEX, as I've only got the bug reports from people using PEX. Could you try it out without PEX?
-
View User Profile
-
Send Message
Posted Feb 9, 2014I have the weirdest problem with this plugin. It loads just fine connects to vault and there is absolutely no error message what so ever. I am OP on the server and I have the '*' node in PermissionsEX. I cannot create any shops at all. My signs just create as normal signs, with an LWC message stating the protection at this stage. No shop sign and/or admin shop sign is created. I don't understand the issue as I have no Error output what so ever...
-
View User Profile
-
Send Message
Posted Feb 7, 2014ChestShop in combination with MineConomy http://dev.bukkit.org/bukkit-plugins/mineconomy/ running in a MySQL database is very laggy. Everytime a user buys something from a chestshop the server stops reacting for a couple of hundred ms. When buying often the server will stop responding completely.
I think the problem is that ChestShop has to request the users balance, this takes longer when using a MySQL database. The reason why I use a MySQL database is because I run a small network and I want to have a cross server economy.
I hope you can work on a fix to let MineConomy and Chestshop better work without the lags.
Sincerely,
Darthmineboy
-
View User Profile
-
Send Message
Posted Feb 6, 2014Yet another bug report :)
http://pastie.org/private/nh7egnwhdnozn86no6yca this one too http://pastie.org/private/8l9tuhafvcyr8uxm9aaagw
I've only seen this happen 2-3 times.. so not urgent but something is derping.
-
View User Profile
-
Send Message
Posted Feb 5, 2014@silentnight18 Material probably will not be working or it won't be an enum any more, due to the modding capabilities of newer Minecraft builds. And yes, any creation outcome other than "Success" cancels (that is - OTHER should work just fine, moreover it's the appropriate creation outcome to choose for external plugins - quoting from JavaDocs "For plugin use").
I've replied to your PM about Vault.
@RazorCandy Are you sure you've set up your permissions correctly? To set up an Admin Shop, you need to have ChestShop.shop.admin permission.
-
View User Profile
-
Send Message
Posted Feb 4, 2014Hey guys can you help me pls? I'm trying to make an Admin Shop as Owner/Admin/OP and it says all time that I can't make that kind of shop.
-
View User Profile
-
Send Message
Posted Feb 3, 2014also, I am getting this error any time a player tries to sell. Its claiming your instance of the Vault supported economy does not have a depositPlayer method. The plugin i use for my economy is supported by Vault and works for all other plugins on server except yours. I opened up ChestShop Source but the bug seems to elude me.
http://pastie.org/private/fevwkqntqvgyyf4noomjew
-
View User Profile
-
Send Message
Posted Feb 3, 2014@Acrobot
I miss the days when depreciated just meant "hey we stopped supporting this but it still works forever." Is it all converting to Material only, with data values in the Material? sigh Mojang...
I know for a fact 95% of my plugins will break because of this... Time to write my own ID to Material Classes!
Edit: working on a Limiter plugin. I'll post a link here to project when its done!
Edit2: Which CreationOutcome cancels? Other? or?
-
View User Profile
-
Send Message
Posted Feb 3, 2014@silentnight18 That's already there! There's a PreShopCreationEvent, which is, in fact, cancellable (by changing its outcome via the setOutcome method).
And 1.8 will completely change how items are stored :/ No more item IDs/durability values for us!
-
View User Profile
-
Send Message
Posted Feb 3, 2014@Acrobot
See what your saying, as some of my earlier plugin work was in that same stage of noobery. If you wanted, maybe throw a ChestShopCreatedEvent with cancelable implemented. I could right a quick addon plugin for ChestShop like ChestShopLimiter or something that could handle chest shop counting. And throw another event like ChestShopRemovedEvent for deletion. Therefore this feature won't really mess up the main plugin and also allow this feature to exist for others. We could probably write it all in 60 minutes or less too!
I just personally need this feature for my server, and if you don't want to do something like this, I will have to write my own version of something that acts like ChestShop, which I really do NOT want to do lol. I have been using ChestShop since its iConomyChestShop days. ^-^
Edit: whats coming in 1.8? I haven't heard of anything major, personally.
-
View User Profile
-
Send Message
Posted Feb 2, 2014@HadrienCubic
There is no such way to limit which types of things you allow players to sell. If they have it, they can sell it with this plugin.
-
View User Profile
-
Send Message
Posted Feb 2, 2014@Acrobot: I know but what is the permissions for that?
-
View User Profile
-
Send Message
Posted Feb 2, 2014@LordKainzo Huh, it seems like... you broke CraftBukkit. Seriously :p Does it happen often? Seems like someone might have made an invalid ChestShop, however I'm not sure how this could happen. Map corruption?
@HadrienCubic You need to configure permissions.
-
View User Profile
-
Send Message
Posted Feb 2, 2014@Acrobot It seems we only talk when I find issues! Here's what I see with latest.. http://pastie.org/private/t6snyyk8q1vc6bmszzdgw
No clue what caused it.
-
View User Profile
-
Send Message
Posted Feb 2, 2014I have jobs and I would like the -woodcutter can sell wood only on the admin shop -miner can sell stone only - etc..
-
View User Profile
-
Send Message
Posted Feb 2, 2014@silentnight18 Nah, not really. Long explaination ahead!
When I started programming ChestShop, I've been a total Java beginner. I barely had the knowledge needed to build the plugin. Thus, the first versions of ChestShop (or iConomyChestShop, its former name) were completely basic. No chest protection, no selling, etc. Well, the years have passed, I've improved my skills and now, it would not be a problem to implement the limit. However, due to the backwards compatibility, I really can't. I mean, consider the situation: a server with ChestShop has been running for years. There is a lot of shops set up, all of which can be even older than 1 year. The shops haven't been stored anywhere aside from the map, and by that I mean - no database, no files, anything. If I implemented a shop limit, the limit would be enforced only starting from the newly set up shops and every older shop wouldn't count anyhow. I'm waiting for Minecraft 1.8 news, because probably almost every plugin will be in need of rewrite for the new version, so I would be able to implement features I always wanted to implement.
@Greenman1805 Is that all the error? It unfortunately doesn't say anything about ChestShop aside from the name, so I'd bet it is a server error. Firstly, update your ChestShop version, secondly, update CraftBukkit if it doesn't work.
@mikkibee Hmm, honestly this should be enough, if it doesn't work - it's a bug! Please create a ticket for it and I'll take a look at it ASAP!
@HadrienCubic Hm? Don't create an admin shop for that item, then?
@drikagamerbr Ah, I've always disliked permission plugins for not implementing the standard properly :/ You can try editing the plugin.yml file inside ChestShop.jar (open it with WinRAR/7Zip) and disable default permissions - change "default: true" to "default: false". Then, you can only include ChestShop.shop.create.food in your permissions configuration and it should work.
-
View User Profile
-
Send Message
Posted Feb 1, 2014@Acrobot Hey man, is there a way to limit the number of shops an individual player can have up? Been using this plugin for many years, so props to that, but I have always wanted to limit player ability on total shops allowed.
-
View User Profile
-
Send Message
Posted Feb 1, 2014Hey. I have an Error, appearing in the server log (sorry for my english, Im German) I don't know the reason for it :/ May you can help me?
[17:03:30] [Server thread/ERROR]: Could not pass event BlockPhysicsEvent to ChestShop v3.7.2 org.bukkit.event.EventException at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:427) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks] at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:481) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:466) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks] at net.minecraft.server.v1_7_R1.World.e(World.java:478) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks] at net.minecraft.server.v1_7_R1.BlockDiodeAbstract.e(BlockDiodeAbstract.java:190) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks] at net.minecraft.server.v1_7_R1.BlockRepeater.remove(SourceFile:132) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks] at net.minecraft.server.v1_7_R1.Chunk.a(Chunk.java:435) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks] at net.minecraft.server.v1_7_R1.World.setTypeAndData(World.java:293) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks] at net.minecraft.server.v1_7_R1.BlockDiodeAbstract.a(BlockDiodeAbstract.java:42) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks] at net.minecraft.server.v1_7_R1.WorldServer.a(WorldServer.java:532) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks] at net.minecraft.server.v1_7_R1.WorldServer.doTick(WorldServer.java:205) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks] at net.minecraft.server.v1_7_R1.MinecraftServer.u(MinecraftServer.java:629) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks] at net.minecraft.server.v1_7_R1.DedicatedServer.u(DedicatedServer.java:250) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks] at net.minecraft.server.v1_7_R1.MinecraftServer.t(MinecraftServer.java:545) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks] at net.minecraft.server.v1_7_R1.MinecraftServer.run(MinecraftServer.java:457) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks] at net.minecraft.server.v1_7_R1.ThreadServerApplication.run(SourceFile:617) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks] Caused by: java.lang.NullPointerException
-
View User Profile
-
Send Message
Posted Feb 1, 2014@Clodwipingfork =P
@Acrobat - Hey. Awesome plugin by the way. I love it, as do my users. Clod is a very valuable member of my community =). I have changed that setting you mentioned:
TURN_OFF_DEFAULT_PROTECTION_WHEN_PROTECTED_EXTERNALLY to true. And reloaded the plugin and all that jazz. It still doesn't allow us access to the chest. It gives us a message saying [Shop] You don't have permission to do that! The person has been cmodified to the chest, and when there is no ChestShop sign, they have access. Any other settings I need to alter to accomplish this?
Thanks in advance!