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 - Adds item display icons for shops above the chest! (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)
- 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)
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!
In reply to Forge_User_84790199:
nevermind , i downloaded ChestShop-LegacyIds and its working now. but some ids still dont work like 382
Should be fixed in the latest build. Please report such issues on the github repository of the plugin or directly on the IDConverter repository.
How do I make a marketplace so that anyone can make a chestshop in a worldguard region, and only to break/place the signs?
To only let players create shops in a certain region enable WORLDGUARD_USE_FLAG in the config and add the allow-shop flag to it. For only allowing certain blocks to be broken you'll have to use a separate plugin that adds that ability to WorldGuard e.g. WorldGuardExtraFlags. It adds a flag to set specific blocks that players are allowed to break/place besides the general break/place flags in WorldGuard itself.
It's broken on me.Can you help please ? I can't buy/sell.When i try to buy the chest opens even if its locked.What config should i use mine is : (I fixed it with /deop but the bad thing is it says player not found.)
#Do you want to turn off the automatic updates of ChestShop?
TURN_OFF_UPDATES: false
#How large should the internal caches be?
CACHE_SIZE: 1000
#What containers are allowed to hold a shop? (Only blocks with inventories work!)
SHOP_CONTAINERS:
- "CHEST"
- "TRAPPED_CHEST"
#(In 1/1000th of a second) How often can a player use the shop sign?
SHOP_INTERACTION_INTERVAL: 250
#Do you want to allow using shops to people in creative mode?
IGNORE_CREATIVE_MODE: true
#Do you want to allow using shops to people who have access to it due to their permissions? (owners are always ignored)
IGNORE_ACCESS_PERMS: true
#If true, people will buy with left-click and sell with right-click.
REVERSE_BUTTONS: false
#If true, people will be able to buy/sell in 64 stacks while holding the crouch button.
SHIFT_SELLS_IN_STACKS: false
#What can you do by clicking shift with SHIFT_SELLS_IN_STACKS turned on? (ALL/BUY/SELL)
SHIFT_ALLOWS: "ALL"
#Can shop's chest be opened by owner with right-clicking a shop's sign?
ALLOW_SIGN_CHEST_OPEN: true
#If true, when you left-click your own shop sign you won't open chest's inventory, but instead you will start destroying the sign.
ALLOW_LEFT_CLICK_DESTROYING: true
#If true, if the shop is empty, the sign is destroyed and put into the chest, so the shop isn't usable anymore.
REMOVE_EMPTY_SHOPS: false
#If true, if the REMOVE_EMPTY_SHOPS option is turned on, the chest is also destroyed.
REMOVE_EMPTY_CHESTS: false
#A list of worlds in which to remove empty shops with the previous config. Case sensitive. An empty list means all worlds.
REMOVE_EMPTY_WORLDS:
- "world1"
- "world2"
#First line of your Admin Shop's sign should look like this:
ADMIN_SHOP_NAME: "Admin Shop"
#The economy account which Admin Shops should use and to which all taxes will go
SERVER_ECONOMY_ACCOUNT: ""
#Percent of the price that should go to the server's account. (100 = 100 percent)
TAX_AMOUNT: 0
#Percent of the price that should go to the server's account when buying from an Admin Shop.
SERVER_TAX_AMOUNT: 0
#Amount of money player must pay to create a shop
SHOP_CREATION_PRICE: 0
#How much money do you get back when destroying a sign?
SHOP_REFUND_PRICE: 0
#How many decimal places are allowed at a maximum for prices?
PRICE_PRECISION: 2
#Should we block shops that sell things for more than they buy? (This prevents newbies from creating shops that would be exploited)
BLOCK_SHOPS_WITH_SELL_PRICE_HIGHER_THAN_BUY_PRICE: true
#Do you want to allow other players to build a shop on a block where there's one already?
ALLOW_MULTIPLE_SHOPS_AT_ONE_BLOCK: false
#Can shops be used even when the buyer/seller doesn't have enough items, space or money? (The price will be scaled adequately to the item amount)
ALLOW_PARTIAL_TRANSACTIONS: true
#Can '?' be put in place of item name in order for the sign to be auto-filled?
ALLOW_AUTO_ITEM_FILL: true
#Do you want to show "Out of stock" messages?
SHOW_MESSAGE_OUT_OF_STOCK: true
#Do you want to show "Full shop" messages?
SHOW_MESSAGE_FULL_SHOP: true
#Can players hide the "Out of stock" messages with /cstoggle?
CSTOGGLE_TOGGLES_OUT_OF_STOCK: false
#Can players hide the "Full shop" messages with /cstoggle?
CSTOGGLE_TOGGLES_FULL_SHOP: false
#Do you want to show "You bought/sold... " messages?
SHOW_TRANSACTION_INFORMATION_CLIENT: true
#Do you want to show "Somebody bought/sold... " messages?
SHOW_TRANSACTION_INFORMATION_OWNER: true
#If true, plugin will log transactions in its own file
LOG_TO_FILE: false
#Do you want ChestShop's messages to show up in console?
LOG_TO_CONSOLE: true
#Should all shop removals be logged to the console?
LOG_ALL_SHOP_REMOVALS: true
#Do you want to stack all items up to 64 item stacks?
STACK_TO_64: false
#Do you want to use built-in protection against chest destruction?
USE_BUILT_IN_PROTECTION: true
#Do you want to have shop signs "stick" to chests?
STICK_SIGNS_TO_CHESTS: false
#EXPERIMENTAL: Do you want to turn off the default protection when another plugin is protecting the block? (Will leave the chest visually open - CraftBukkit bug!)
TURN_OFF_DEFAULT_PROTECTION_WHEN_PROTECTED_EXTERNALLY: false
#Do you want to turn off the default sign protection? Warning! Other players will be able to destroy other people's shops!
TURN_OFF_SIGN_PROTECTION: false
#Do you want to disable the hopper protection, which prevents Hopper-Minecarts from taking items out of shops?
TURN_OFF_HOPPER_PROTECTION: false
#Do you want to protect shop chests with LWC?
PROTECT_CHEST_WITH_LWC: false
#Do you want to protect shop signs with LWC?
PROTECT_SIGN_WITH_LWC: false
#Should the chest's LWC protection be removed once the shop sign is destroyed?
REMOVE_LWC_PROTECTION_AUTOMATICALLY: true
#Do you want to only let people build inside regions?
WORLDGUARD_INTEGRATION: false
#Do you want to only let people build inside region flagged by doing /region regionName flag allow-shop allow?
WORLDGUARD_USE_FLAG: false
#Do you want ChestShop to respect WorldGuard's chest protection?
WORLDGUARD_USE_PROTECTION: false
#Do you want to deny shop access to unlogged users?
AUTHME_HOOK: true
#Do you want to allow shop access to unregistered users? (Example: registration is optional)
AUTHME_ALLOW_UNREGISTERED: false
#How much Heroes exp should people get for creating a ChestShop?
HEROES_EXP: 100.0
#Add icons and make item names hoverable in transaction messages when ShowItem is installed?
SHOWITEM_MESSAGE: true
Ideally I suggest you open an issue and provide the information requested there (shop sign setup, server and plugin version, log) but you can also provide that here.
And the reason why the chest is opening is probably because you have permission to access it and players with that permission can't trade with shops by default. If you want to allow that disable the IGNORE_ACCESS_PERMS config option.
As for the unknown player: Make sure that you are either writing the name of a known, economical-active player on the sign or let your own one auto-generate by simply writing nothing in the first line.
would a sign be able to be set up to give off a redstone signal? lets say a normal member pays £10 for a dropper/dispenser to be activated
(not my actual reason but same idea)
That wouldn't really be efficient as each transaction would then cause a block update to happen. Theoretically you could detect that already by using a comparator to detect the change in the chest but I realize that that isn't ideal in all situations. Iirc. there was a request for something similar before so I might add that as an option feature if I can think of a good way of doing that. (Could even be done already via an extension plugin module that just listens on the transaction event too)
I have a question that anyone can answer maybe!
I'm trying to create shops and when I make one, it deducts the default $10 from the players balance.
But when i actually try to shop from the chest to see if it works, I can just buy from it, without paying. selling to it also has the same effect but in reverse.
Is this because it's my chest?
anyone encounter this or have a workaround?
I am on 1.14.2
using vault 1.7.2-b107
using Towny Advanced 0.93.0.0
using TNE 0.1.1.8e
______________________________________________________________________________________________
______________________________________________________________________________________________
Thanks!
Please make sure that ChestShop correctly loaded your economy plugin (it will tell you in the startup log) and that the economy plugin is functioning correctly (maybe try a different one for testing purposes). Also make sure you are using the newest build of ChestShop, that no error occurred in the plugin and that you don't have some special permissions that bypass certain functions. (Try with a normal user account that doesn't have any ChestShop permissions granted and only the default ones)
/region regionName flag allow-shop allow
WORLDGUARD_USE_FLAG: true
this doesn't seem to work? I can't see or set this flag in worldguard.
What do you mean by "see" and how do you know that it doesn't work? Also please make sure that you are using the latest development build of WorldGuard.
Quick question: How do I make an Admin Shops with infinite money?
When I make an Admin Shop and I try to buy something, it says that the owner of the shop doesn§t have enough money.
In reply to Forge_User_30464561:
Greetings @thequijibo have you set another String in the config for "ADMIN_SHOP_NAME:"?
If you have changed the string for this option you have to write this string on the first line on a sign ingame and wrote only the string without ""
In my Server the full option looks like this: ADMIN_SHOP_NAME: "Server Shop".
And If I wrote Server Shop without "" on the first line from the sign, it will create the Admin Shop.
Try this, if this work, you can reply to this ^^
I hope i can helped you with my solution.
In reply to Forge_User_02694663:
You are awesome, thanks very much it works!
In reply to Forge_User_02694663:
Thanks @Leutech, I have it working now :)
hallo wie ist es denn möglich das auch OP oder die gruppe Owner kaufen können ?
hello how is it possible that even OP or group Owners can buy?
There is a config option to disable the ignoring of people that have permissions to access shops. You could also negate the access permissions if you don't want anyone to have access to other players shops.
Is it possible for the cost to be items instead of money? Our server isn't using any economy plugins and we want just diamonds to be the currency.
Not without using a Vault-compatible economy plugin that translates numbers into items (e.g. make the currency diamonds so that 10 on the sign equals 10 diamond in the inventory)
But it doesn't support exchange of items if that's what you mean and the internal structure wouldn't even support that if one would want to add that after the fact. Also the sign wouldn't be big enough to hold that much information anyways.