Shopkeepers

Set up custom villager shopkeepers that sell exactly what you want them to sell and for what price. You can set up admin shops, which have infinite supply, and you can also set up player shops, which pull supply from a chest.
It will also prevent any other trades with non-shopkeeper villagers, if you want it to.
For those who are simply looking for a convenient way to modify the trades of vanilla villagers (as an alternative to using complex Minecraft commands), the plugin also includes a graphical editor for regular villagers and wandering traders.
Basic Features
- Easily create villager shopkeepers that trade the items you want them to trade.
- Admins shops with infinite supplies.
- Player shops which pull supplies from a chest.
- Different types of player shops: selling, buying, trading, and selling books.
- Various supported mob types to represent your shopkeeper, sign shops, and Citizens (NPC) shops.
- Editor for regular villagers and wandering traders.
- Many configuration options.
- Translatable messages.
- Open source (Source code on GitHub)
Supported server versions
Shopkeepers supports the latest versions of Bukkit / Spigot.
Note that this plugin is created to work with CraftBukkit (or alternatively Spigot). Bukkit does not have an API for some of the things necessary to make this plugin work. This means that other server software (Tekkit, Forge, Cauldron, etc.) will not work with this plugin.
Other CraftBukkit or Spigot derivatives/forks might work, but are not officially supported. So if you run into issues while using those, try to reproduce your issue on a fresh and up-to-date Spigot server first.
Getting started
All documentation can be found in the wiki:
- Downloads and changelogs for all files
- Installation
- Translations
- Configuration
- Permissions
- Creating shops
- Commands
- Frequently Asked Questions
Showcase
Admin shops:
Configure the trades via the in-game inventory menu:

Resulting trading menu:

Player shops (ex. selling items):
Fill the shop chest with supplies:

Configure the trades via the in-game inventory menu:

Resulting trading menu:

Video Tutorials
More video tutorials can be found in the wiki: https://github.com/Shopkeepers/Shopkeepers-Wiki/wiki/Video-Tutorials
Tutorial by Donnie, explaining the setup of the different shop types:
Tutorial by Fan Staaff showing the setup of the different shop types in detail:
Tutorial by LastKing2X,showing the setup of the different shop types:
Spanish tutorial by Ajneb97, also mentioning placeholder items and various config options:
Statistics
This plugin uses bStats to collect anonymous plugin usage statistics. This helps me to determine how many servers are using the plugin, which Minecraft versions it is used with the most, and to which degree the different features are used.
Here is a list of all currently tracked information:
- Common information: The number of servers using the plugin, the number of players on these servers, online mode, Minecraft version, plugin version, core count, system arch, operating system, server country, Java version.
- Shopkeepers specific information: Whether specific related plugins are used (Citizens, Towny, WorldGuard, Gringotts, other Vault economy plugins), number of shops, whether player shops are used, whether certain features are enabled in the config (ex. WorldGuard/Towny compatibility, Citizens shops, delayed saves, colored names, chest protection, removal of inactive shops, tax rate, strict item comparison, purchase logging, disabling of other villagers, ..), the number of worlds containing shops.
- All information can be publicly viewed here: https://bstats.org/plugin/bukkit/Shopkeepers/
If you want to disable bStats for all plugins on your server, edit the file plugins/bStats/config.yml, or alternatively disable it only for Shopkeepers by setting 'enable-metrics' to 'false' inside the Shopkeepers config.
Known potential issues
A list of known potential issues of the latest version of Shopkeepers can be found in the wiki: This documents differences between Minecraft/Spigot versions, and existing Minecraft/Spigot issues related to Shopkeepers.
If you run into an issue, check if this list already contains and maybe offers information on how to handle it.
Have issues or further questions?
If you have a pressing issue or simple question, you can join the discord server and ask other plugin users for help:
But submitting a ticket is the best way to get help or report a problem with the plugin.
Before submitting a ticket:
- Check if your question is already answered in:
- The documentation (wiki).
- The FAQ.
- The Known Issues.
- Check if there is already another ticket for your issue.
Before reporting an issue:
- Try to reproduce your issue when using:
- The latest versions of Spigot and Shopkeepers.
- No other plugins.
- No kinds of other server or client mods.
When reporting an issue:
- Provide the versions you are using of Minecraft, Spigot and Shopkeepers.
- Provide a detailed description of your problem and add as much information as possible which could help reproducing the issue.
- If possible, include step-by-step instructions on how to reproduce the issue on a fresh Spigot server.
Donations
If you like this plugin, consider supporting its developers by making a donation:
- To blablubbabc (current maintainer: Dec 2013 - today)
- To nisovin (former author: Aug 2012 - Dec 2013)
A big "thank you" to everybody who is keeping the motivation up through donations!
| Minecraft-Servers-Listing.com | TRS Game Servers | terminalserver.us |
| Minewind | mercurialmusic | timitimitimi |
| FatherWh0 (merchantvillages.com) | lukeeexd (tws-mc.com) | PapaJuan |
| EmeraldHaze (Ninjalette) | Espen | kbtalkin |
| Dimo (Beyond Vanilla) | RefugiaCraft | Frilioth |
| Tabletopcheese | Observant Minecraft Server | Ren B. |
| BadWolfMC | Michael M. | Alejandro A. |
| Michael B. |
Want to help?
Whether you are a programmer or not, there are many ways in which you can contribute! For example:
- Help users with issues and questions on Github, Discord, or the comment section.
- Create and update translations.
- Keep the documentation (the wiki) up-to-date with plugin updates.
- Write or maintain add-on plugins (see the open Github issues).
If you are interested or have other ideas on how you can contribute, feel free to contact me via PM.
Add-On Plugins
Sometimes, a feature is either to specific to include directly into the Shopkeepers plugin, or I did not yet have the time to add something similar myself. You can find a list of both official and third-party add-on plugins that extend the functionality of the Shopkeepers plugin in the wiki: https://github.com/Shopkeepers/Shopkeepers-Wiki/wiki/Add-On-Plugins
If you have also written an add-on plugin that you want to add to the list, let me know!

-
View User Profile
-
Send Message
Posted Jul 20, 2015@schmiddel89
I have never used denizen so I don't exactly know what you mean by hiding the item id. Do you mean the no_id setting in scripted items? In case yes, that should only affect the content of the item's lore.
Either way, I doubt I can really do much about whatever the issue is, because shopkeepers is only passing the setup trade items to minecraft, and minecraft handles the trades (displaying the items, handling the clicks, giving out and taking away items, etc.) on its own like in default minecraft.
So if there is any bug in displaying an item in the villager trade gui that would probably be be an issue of minecraft and not this plugin..
Just in case, also make sure that your server runs the latest spigot build and you client is using the latest version as well. I think to remember that using some older minecraft client with a newer server version (or the other way around) caused the trade items to not show up as well ..
-
View User Profile
-
Send Message
Posted Jul 20, 2015@Misaka20002
Also turn debug mode on in the config and then reload shopkeepers, and check if there are any other hints, warnings or errors in the server log which indicate potential issues.
Also try reproducing the issue on a fresh (local) spigot server with only shopkeepers running, to exclude that some other plugin might interfere with shopkeepers.
And make sure that you are using the latest spigot build as well as the latest version of shopkeepers.
And stop the server via the /stop command: I know that there were issues in the past already, in which stopping the server via some sort of interface like some hosters provide it might not properly shutdown the server..
-
View User Profile
-
Send Message
Posted Jul 20, 2015I got a problem with denizen and shopkeepers... Talked to the denizen developer and they told me that they found a way to hide the id of the created item... but items in villager trade show still the item id.. this results to problems means the trade still works but you have to click on visbile block...
Example: Denizen item Herosword... give villager herosword to receive stone.. but the stone will be not displayed.. but if you click on the empty field you get the stone and the trade works... Hopefully u can fixed it :)
-
View User Profile
-
Send Message
Posted Jul 20, 2015@blablubbabc
I am sure the data was saved to the save.yml file.I can find the position of the shopkeeper.But it still doesn't work.
-
View User Profile
-
Send Message
Posted Jul 19, 2015@Misaka20002
Check your server log for any warnings, verify that the shopkeeper was saved to the save.yml file and make sure that you shut down the server properly (via /stop).
-
View User Profile
-
Send Message
Posted Jul 19, 2015Nice plugin,but I have a problem.I created a shopkeeper and set a trade,then I restarted the server.When I logged in again the shopkeeper changed to normal villager.I wonder if it can be solved.
-
View User Profile
-
Send Message
Posted Jul 18, 2015@blablubbabc
Thanks you ! It's working now ! Great Job !
-
View User Profile
-
Send Message
Posted Jul 17, 2015@Almathy
v1.63 for MC 1.6.2, 1.7.x, 1.8.x
v1.62 for MC 1.6.2, 1.7.x, 1.8.x
Fixed: Citizens npc's with the shopkeeper trait should now keep working after a reload via '/citizens reload'.(Not actually fixed, check out the next version..)-
View User Profile
-
Send Message
Posted Jul 17, 2015@Almathy
You are right. I can now reproduce the issue. For some reason the already created npc shopkeepers don't seem to be affected by this..
I am going to upload another update in a few minutes, which hopefully fixes this.Apparently this issue seems to be not as easy to fix as I hoped. I am currently writing a citizens issue hopefully clarifyng some behavior of citizens. Currently I am stuck because during a reload citizens seems to remove the traits from the npc's and recreates them after the reload, causing the underlying shopkeeper to get destroyed and recreated currently.
Edit2: Okay, I might have a workaround for the issue now. Going to upload the hopefully working version now.
-
View User Profile
-
Send Message
Posted Jul 17, 2015@blablubbabc
I use Citizens 2.0.16 (alpha 2 for MC 1.8.7), the latest version of Spigot and Shopkeeper 1.62.
So, I'va try other things : create npc, add trait "shopkeeper", set items to sell, execute "/citizens save", stop the server, start it, execute "/citizens reload", and... Bug, again...
(Yes, it is far-fetched)
-
View User Profile
-
Send Message
Posted Jul 17, 2015@Xeroz1
I don't think this would fit this plugin, as that would not be related to trading.
I suggest that you look for a plugin dedicated to this feature, like CommandNPC or CommandMobs.
If those plugins are no longer up-to-date or are missing features, then I suggest that you ask for such a plugin in the bukkit forums.
-
View User Profile
-
Send Message
Posted Jul 17, 2015@Almathy
Hm, it works all fine with the latest version (v1.62) on my test server. No matter in which order I reload shopkeepers or citizens, the npc shopkeepers keep working.
Make sure you have executed '/citizens save' after creating the npc and adding the shopkeeper trait.
-
View User Profile
-
Send Message
Posted Jul 17, 2015Please u Can create when the click npc run a command
U are the only hope that i have :S !
(For 1.8 )
-
View User Profile
-
Send Message
Posted Jul 17, 2015@blablubbabc
I don't know why, but some NPC with Shopkeeper trait work after "/citizens reload" and some other, no.
I will try in reset shopkeeper save.
EDIT: if we execute "/shopkeeper reload" after "/citizens reload" : same. We can't interact with NPC (shopkeeper trait)
-
View User Profile
-
Send Message
Posted Jul 17, 2015@Almathy
v1.62 for MC 1.6.2, 1.7.x, 1.8.x
Fixed: Citizens npc's with the shopkeeper trait should now keep working after a reload via '/citizens reload'. (Not actually fixed, check out the next version..)-
View User Profile
-
Send Message
Posted Jul 17, 2015@blablubbabc
Great ! Thanks you !
-
View User Profile
-
Send Message
Posted Jul 16, 2015@Almathy
I will upload a fixed version later today.
This version will probably as well contain a few other fixes related to citizens shopkeepers, like automatically cleaning up shopkeepers which no longer have a matching npc for some reason.
-
View User Profile
-
Send Message
Posted Jul 16, 2015@blablubbabc
Absolutly nothing.
For the test, i have create an NPC, add to it the trait "shopkeeper". I have tried to right-click on : it works. I have execute the command "/citizens reload" and tried to right-click on the NPC : nothing. But when I do "/npc" I can see its trait...
And, nothing in logs...
-
View User Profile
-
Send Message
Posted Jul 16, 2015@Almathy
Do you get some sort of notification in the log, that loading the shopkeeper trait failed?
-
View User Profile
-
Send Message
Posted Jul 16, 2015Hi !
There are a bug with Citizens :
I have two Citizens NPC with shopkeeper trait, when I reload Citizens (with "citizens reload" command), I can't interact with my two NPC. They have always the trait "shopkeeper" but it is impossible to trade with. I must remove the trait and add it and reconfigure my NPC...
I don't know if there are a bug of Citizens or Shopkeeper so I post it here.