If you're experiencing any problems with this plugin try an older version : https://blackspigot.com/downloads/shopgui.4340/history
Tested Minecraft Versions:
ShopGUI+ is an advanced high-quality GUI shop perfect for every server. It allows players to easily buy/sell items, enchantments, permissions and commands.
Configuration tutorial by @Hagenite
Review by @Sean0402
Review & configuration tutorial by @Copenhagen
Shop command aliases: /shop /shopgui /guishop
All command permissions have been listed above. However, players need additional permissions to access each shop. You can give or revoke access to particular shops by using the shopguiplus.shops.SHOP_ID permission node where SHOP_ID is the shop id from shops.yml (for example shopguiplus.shops.food, shopguiplus.shops.armor etc.). You can use the wildcard permission node shopguiplus.shops.* only if you are using PermissionsEx (other plugins doesn't support it). Otherwise you have to manually add permissions to access each shop.
In order to ban player from accessing particular shop just negate the corresponding permission node.
Additional permissions:
If you want to sell preset mob spawners you also need following plugin:
All configuration files are easy to edit. If any of them lacks a feature you wish to be added, please contact us.
Configuration examples (please don't copy them, the plugin will generate all necessary files):
For more detailed installation & configuration guide please refer to the Configuration tutorial.
Translations:
This plugin comes with a simple API:
There is also one event available:
Other useful gists:
Please contact us via PM if you want to try it out, we will provide you the test server's IP.
By buying this plugin you agree to the following rules:
Looking for an auction plugin? Check out AuctionGUI+
Tested Minecraft Versions:
- 1.7
- 1.8
- 1.9
- 1.10
- 1.11
- 1.12
ShopGUI+ is an advanced high-quality GUI shop perfect for every server. It allows players to easily buy/sell items, enchantments, permissions and commands.
Configuration tutorial by @Hagenite
Review by @Sean0402
Review & configuration tutorial by @Copenhagen
- Complete, premade shops with lots of items
- The best anti-dupe protection, even better than on some popular servers
- Allows players to sell, sell all and buy items using convenient GUI
- Sell multiple enchantments, permissions and commands to players
- Sell preset mob spawners to players (requires SilkSpawners/PickUpSpawners/EpicSpawners)
- Separate log file to log shop transactions
- Supports item-based economy (requires Gringotts and Vault)
- Supports custom names, lores, enchantments, potions and fireworks
- Allows you to set different prices for each player using item-based, shop-based and global price modifiers
- Advanced amount selection GUI for buying or selling items
- Multiple shops with per-shop permission support
- Multiple page support in each shop GUI with buttons
- Convenient "Go back" button to easily return to main menu
- Customizable size of each shop GUI
- Item placeholders to buy/sell items different from the displayed ones
- Per-item permissions inside shops
- 100% customizable messages, shops and items
- Reload command to update shops without restarting the server
- Efficient & high-quality code
Shop command aliases: /shop /shopgui /guishop
- /shop - open the main shop menu (shopguiplus.shop)
- /shop reload - reload the configuration (shopguiplus.reload)
- /shop [shop name] - directly open the specified shop (shopguiplus.shop)
- /shop [player] [shop name] - open the specified shop (or main one if none specificed) for specified player (shopguiplus.others)
- /shop addmodifier item <player> <shop> <item> <value> [buy|sell] (shopguiplus.shop.addmodifier) - add item-specific price modifier
- /shop addmodifier shop <player> <shop> <value> [buy|sell] (shopguiplus.shop.addmodifier) - add shop-specific price modifier
- /shop addmodifier global <player> <value> [buy|sell] (shopguiplus.shop.addmodifier) - add global price modifier
- /shop resetmodifier item <player> <shop> <item> [buy|sell] (shopguiplus.shop.resetmodifier) - reset player's item-specific price modifier
- /shop resetmodifier shop <player> <shop> [buy|sell] (shopguiplus.shop.resetmodifier) - reset player's shop-specific price modifier
- /shop resetmodifier global <player> <value> [buy|sell] (shopguiplus.shop.resetmodifier) - reset player's global price modifier
- /shop checkmodifiers <player> (shopguiplus.shop.checkmodifiers) - check player's current price modifiers
All command permissions have been listed above. However, players need additional permissions to access each shop. You can give or revoke access to particular shops by using the shopguiplus.shops.SHOP_ID permission node where SHOP_ID is the shop id from shops.yml (for example shopguiplus.shops.food, shopguiplus.shops.armor etc.). You can use the wildcard permission node shopguiplus.shops.* only if you are using PermissionsEx (other plugins doesn't support it). Otherwise you have to manually add permissions to access each shop.
In order to ban player from accessing particular shop just negate the corresponding permission node.
Additional permissions:
- shopguiplus.bypassgamemode - allows to access the shop when in banned gamemode
- shopguiplus.bypassworld - allows to access the shop when in banned world
- shopguiplus.buymore - allows to use the "Buy more" feature (it's set given to all players by default, negate it if you don't want them to have it)
- shopguiplus.sellmore- allows to use the "Sellmore" feature (it's set given to all players by default, negate it if you don't want them to have it)
- Spigot 1.7.10 or newer
- Vault 1.4.1 or newer
- PermissionsEx: 1.22.7 or newer (recommended)
- zPermissions: 1.3-SNAPSHOT-b7, 1.3-SNAPSHOT-b6, 1.3beta1
- GroupManager: 2.0-Phoenix
If you want to sell preset mob spawners you also need following plugin:
- SilkSpawners or PickUpSpawners or EpicSpawners
- Purchase (thanks!) and download the plugin
- Stop your server, put the .jar file in your server's /plugins/ directory
- Start the server, plugin will generate all necessary config files
- Fill in config.yml and shops.yml with desired settings
- Restart the server
- Done!
All configuration files are easy to edit. If any of them lacks a feature you wish to be added, please contact us.
Configuration examples (please don't copy them, the plugin will generate all necessary files):
For more detailed installation & configuration guide please refer to the Configuration tutorial.
Translations:
This plugin comes with a simple API:
There is also one event available:
Other useful gists:
Please contact us via PM if you want to try it out, we will provide you the test server's IP.
1. Why do I have to use these weird material names instead of IDs?
You can use numeric IDs as well, just make sure you enter only the ID without any data value (it has to be set in a separate entry) like that:
http://pastebin.com/YZvX1Eyi
2. I can't find an item on the materials list, what do I do?
Some of the items have different material name than that one you know from the game and some require changing the data value (damage value) of the item. Please look for such items here.
3. My players receive stacked weapons/armor/potions, how can I fix it?
You can make multiple weapons/armor/potions unstack by adding unstack: true entry to the item.
Example: http://pastebin.com/tJEmxW0g
4. I'm getting an ArrayOutOfBounds error, how can I fix it?
Make sure you don't have any button (like back, next page, previous page buttons) on a slot higher than the size of the shop inventory.
5. I'd like to change the size of one of my shops, how can I do that?
You can change the size of any of shop inventories in shops.yml. Simply add a "size: x" entry where x is the desired size (it has to be either 9, 18, 27, 36, 45 or 54). Example: http://pastebin.com/TtNtRtTh
More information: http://wiki.brcdev.net/ShopGUIPlus/Installation_&_configuration#Changing_sizes.2Fbuttons_of_shops
6. I'd like to display one item in the shop but actually sell another one, how can I do that?
You can set another item as a placeholder in order to sell a different item (even with a different lore or name) by adding additional a "placeholder" entry below specific item in shops.yml. Example: http://pastebin.com/bWU5Vygu
7. I'd like to make the buying/selling process faster, what can I do?
You can enable quickBuySell in your config.yml. This will result in the amount selection GUI not being closed after buying an item.
8. How do you edit the amount selection GUI buttons/slots?
Please refer to http://wiki.brcdev.net/ShopGUIPlus/Installation_&_configuration#Amount_selection_GUI_customization.
9. How do you make it so bought commands are executed by the player instead the console?
Simply add the runAsBuyer: true entry to your command item in shops.yml.
Example: http://pastebin.com/aUqvg651
10. How do you use the per-item permissions?
It's explained here: http://wiki.brcdev.net/ShopGUIPlus/Installation_&_configuration#Using_per_item_permissions
11. How do you disable direct access to a shop (using the GUI or /shop <name>) so it can be accessed only by having it open from the console/by another plugin?
Simply add the denyDirectAccess: true entry to the shop in shops.yml. Then the only way for players to access the shop will be to have the /shop <player name> <shop name> executed by
the console/another player/plugin.
Example: http://pastebin.com/Gkerd04V
12. How do you remove custom name/lore from the item bought by players?
You can remove it by adding stripItemMeta: true entry to the item.
Example: http://pastebin.com/GLrDv9S3
13. How do you change the maximal item stack size (regardless of global settings from config.yml)?
Simply add a maxStackSize entry to desired item in shops.yml.
Example: http://pastebin.com/PF3W6M8s
14. How do you sell multiple permissions?
Simply add a permissions list to the shop item and list there all permissions. You can add the force flag if you want to allow players to buy the entire set of permissions even if they already have one or more of them (they won't be able to buy if they have all of them though).
Example: http://pastebin.com/nrzEz0Zz
15. How do you edit the format of displayed price?
(1.3.3 version and above only) You can add following settings at the bottom of your config.yml and edit them as you wish: http://pastebin.com/69RX1hpB
16. How do you edit the receipt message sent after buying/selling an item?
(1.3.4 version and above only) You can define the custom messages at the bottom of the shop item (messageBuy, messageSell, messageSellAll). Same placeholders apply as in the default messages from lang.yml.
Example: http://pastebin.com/98XSJrs0
17. How do you limit the item stack size players are able to enchant at once?
(1.3.5 version and above only) Simply add an entry named enchantmentStackSizeLimit with the value of the limit.
Example: http://pastebin.com/tvdqTYfJ
18. How do you set a different name of each page of the shop?
(1.3.7 version and above only) Add an entry named namePerPage below name. You can set as many names as you wish (the format is PAGE: NAME)
Example: http://pastebin.com/Zmdc03My
19. How do you add more pages?
Adding a new page is as simple as adding a "page: x" entry where x is the page number. When there's at least 1 item on a page it will be automatically added to the gui. Slot numbers start from 0 for every page.
Example: http://pastebin.com/xjpWWUBf
20. How do you sell spawners?
It's explained here (it requires SilkSpawners/PickUpSpawners/EpicSpawners): http://wiki.brcdev.net/ShopGUIPlus/Installation_&_configuration#Mob_spawners
21. How do you disallow selling items with name/lore different from the shop item's ones?
Simply add a "compareMeta: true" setting to your shop item in shops.yml.
Example: http://pastebin.com/DsVWWC4h
22. How do you change the /shop command?
You can't completely change it, you can only add aliases using the spigot's built-in commands.yml file (you can find in the root directory of your server).
Example: http://pastebin.com/LvqrGVg3
23. I'm getting an "ERROR Could not pass event InventoryClickEvent to ShopGUIPlus v1.5.3" error after updating to 1.5.0 or later
Most likely you haven't updated your config.yml when updating to the latest version of the plugin. You have to either update it according to this and this update notes or delete your config.yml so the plugin will generate a new up-to-date one.
24. How do you add "Owned"/"Not owned" tag to permission shop items?
Simply add %owned% placeholder to shopItemLoreFormat -> permission in config.yml. It will be replaced with an appropriate tag.
Example: http://pastebin.com/ubDZh7zB
25. How do you hide only one of the "Owned"/"Not owned" tags from permission shop items?
If you want to have only one of them displayed simply set the other one to blank in lang.yml. The example below shows how to have only the "Owned" tag displayed.
Example: http://pastebin.com/QieD3NLb
26. How do you set up the plugin to use Gringotts currency?
The plugin uses the main economy on your server, make sure it's Gringotts. Note: You need Vault as well.
27. How do you set up the price modifiers?
It's explained at the wiki: http://wiki.brcdev.net/ShopGUIPlus/Price_modifiers
You can use numeric IDs as well, just make sure you enter only the ID without any data value (it has to be set in a separate entry) like that:
http://pastebin.com/YZvX1Eyi
2. I can't find an item on the materials list, what do I do?
Some of the items have different material name than that one you know from the game and some require changing the data value (damage value) of the item. Please look for such items here.
3. My players receive stacked weapons/armor/potions, how can I fix it?
You can make multiple weapons/armor/potions unstack by adding unstack: true entry to the item.
Example: http://pastebin.com/tJEmxW0g
4. I'm getting an ArrayOutOfBounds error, how can I fix it?
Make sure you don't have any button (like back, next page, previous page buttons) on a slot higher than the size of the shop inventory.
5. I'd like to change the size of one of my shops, how can I do that?
You can change the size of any of shop inventories in shops.yml. Simply add a "size: x" entry where x is the desired size (it has to be either 9, 18, 27, 36, 45 or 54). Example: http://pastebin.com/TtNtRtTh
More information: http://wiki.brcdev.net/ShopGUIPlus/Installation_&_configuration#Changing_sizes.2Fbuttons_of_shops
6. I'd like to display one item in the shop but actually sell another one, how can I do that?
You can set another item as a placeholder in order to sell a different item (even with a different lore or name) by adding additional a "placeholder" entry below specific item in shops.yml. Example: http://pastebin.com/bWU5Vygu
7. I'd like to make the buying/selling process faster, what can I do?
You can enable quickBuySell in your config.yml. This will result in the amount selection GUI not being closed after buying an item.
8. How do you edit the amount selection GUI buttons/slots?
Please refer to http://wiki.brcdev.net/ShopGUIPlus/Installation_&_configuration#Amount_selection_GUI_customization.
9. How do you make it so bought commands are executed by the player instead the console?
Simply add the runAsBuyer: true entry to your command item in shops.yml.
Example: http://pastebin.com/aUqvg651
10. How do you use the per-item permissions?
It's explained here: http://wiki.brcdev.net/ShopGUIPlus/Installation_&_configuration#Using_per_item_permissions
11. How do you disable direct access to a shop (using the GUI or /shop <name>) so it can be accessed only by having it open from the console/by another plugin?
Simply add the denyDirectAccess: true entry to the shop in shops.yml. Then the only way for players to access the shop will be to have the /shop <player name> <shop name> executed by
the console/another player/plugin.
Example: http://pastebin.com/Gkerd04V
12. How do you remove custom name/lore from the item bought by players?
You can remove it by adding stripItemMeta: true entry to the item.
Example: http://pastebin.com/GLrDv9S3
13. How do you change the maximal item stack size (regardless of global settings from config.yml)?
Simply add a maxStackSize entry to desired item in shops.yml.
Example: http://pastebin.com/PF3W6M8s
14. How do you sell multiple permissions?
Simply add a permissions list to the shop item and list there all permissions. You can add the force flag if you want to allow players to buy the entire set of permissions even if they already have one or more of them (they won't be able to buy if they have all of them though).
Example: http://pastebin.com/nrzEz0Zz
15. How do you edit the format of displayed price?
(1.3.3 version and above only) You can add following settings at the bottom of your config.yml and edit them as you wish: http://pastebin.com/69RX1hpB
16. How do you edit the receipt message sent after buying/selling an item?
(1.3.4 version and above only) You can define the custom messages at the bottom of the shop item (messageBuy, messageSell, messageSellAll). Same placeholders apply as in the default messages from lang.yml.
Example: http://pastebin.com/98XSJrs0
17. How do you limit the item stack size players are able to enchant at once?
(1.3.5 version and above only) Simply add an entry named enchantmentStackSizeLimit with the value of the limit.
Example: http://pastebin.com/tvdqTYfJ
18. How do you set a different name of each page of the shop?
(1.3.7 version and above only) Add an entry named namePerPage below name. You can set as many names as you wish (the format is PAGE: NAME)
Example: http://pastebin.com/Zmdc03My
19. How do you add more pages?
Adding a new page is as simple as adding a "page: x" entry where x is the page number. When there's at least 1 item on a page it will be automatically added to the gui. Slot numbers start from 0 for every page.
Example: http://pastebin.com/xjpWWUBf
20. How do you sell spawners?
It's explained here (it requires SilkSpawners/PickUpSpawners/EpicSpawners): http://wiki.brcdev.net/ShopGUIPlus/Installation_&_configuration#Mob_spawners
21. How do you disallow selling items with name/lore different from the shop item's ones?
Simply add a "compareMeta: true" setting to your shop item in shops.yml.
Example: http://pastebin.com/DsVWWC4h
22. How do you change the /shop command?
You can't completely change it, you can only add aliases using the spigot's built-in commands.yml file (you can find in the root directory of your server).
Example: http://pastebin.com/LvqrGVg3
23. I'm getting an "ERROR Could not pass event InventoryClickEvent to ShopGUIPlus v1.5.3" error after updating to 1.5.0 or later
Most likely you haven't updated your config.yml when updating to the latest version of the plugin. You have to either update it according to this and this update notes or delete your config.yml so the plugin will generate a new up-to-date one.
24. How do you add "Owned"/"Not owned" tag to permission shop items?
Simply add %owned% placeholder to shopItemLoreFormat -> permission in config.yml. It will be replaced with an appropriate tag.
Example: http://pastebin.com/ubDZh7zB
25. How do you hide only one of the "Owned"/"Not owned" tags from permission shop items?
If you want to have only one of them displayed simply set the other one to blank in lang.yml. The example below shows how to have only the "Owned" tag displayed.
Example: http://pastebin.com/QieD3NLb
26. How do you set up the plugin to use Gringotts currency?
The plugin uses the main economy on your server, make sure it's Gringotts. Note: You need Vault as well.
27. How do you set up the price modifiers?
It's explained at the wiki: http://wiki.brcdev.net/ShopGUIPlus/Price_modifiers
By buying this plugin you agree to the following rules:
- No refunds
- You may not -Redacted- the plugin or any part of it
- We may refuse to give you support without any specific reason
- You may modify the plugin for personal use only
Looking for an auction plugin? Check out AuctionGUI+