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 Jun 11, 2016@ez4ence
That means that minecraft has not allowed the trade, which only occurs if the given item doesn't perfectly match the required item.
Are you sure that the items have no internal meta data (which usually isn't even visible to players)?
For example, I had the case in the past, that another plugin (Denizen) was storing ids in the item lores. However, because they didn't want players to see that lore entry, they modified the outgoing item packets of the server, so that to players the items appeared normal, but in reality (on the server) the item was different.
So you can't really judge from the visual appearance of the item alone, what the item is on the server. You have to know your plugins and what they are doing 'under the hood'.
-
View User Profile
-
Send Message
Posted Jun 11, 2016Hey, I have a problem with this plugin, on Spigot 1.9.4 and version 1.74 of Shopkeepers. This has happened to me in the past too, on Spigot 1.8. I can't get the result item out of the trade window. Tried every possible solution, and checked every config option. I turned on debug mode and found this in my console: 11.06 14:59:45 [Server] INFO Not handling trade: There is no item in the clicked result slot (no trade available). 11.06 14:59:45 [Server] INFO Player XiztingLeo clicked: raw slot id=2, slot id=2, slot type=RESULT, shift=false, left or right=left, action=NOTHING
I don't know what the problem is. Both of my items have no metadata, lore, or anything similar.
-
View User Profile
-
Send Message
Posted Jun 10, 2016@topher2001
v1.76 for MC 1.10, 1.9.x, 1.8.x
v1.75 for MC 1.10, 1.9.x, 1.8.x
Backup your save file. If you run this version you cannot switch back to previous versions due to changes in the way things get stored in the save file.
If you run into any issues let me know.
Donations
If you like this plugin, consider supporting its development by making a donation.
Thanks in advance!
-
View User Profile
-
Send Message
Posted Jun 10, 2016@andreass1234
I am not sure I understand you correctly. I am uploading a new version for MC 1.10 now which fixed the shopkeeper creation from last version. However, I am not having the issue you are describing. Anyways, if you are still having issues with that new version, please create a ticket and describe there what you are step-by-step doing, what is happening, and what you expect to happen instead.
-
View User Profile
-
Send Message
Posted Jun 10, 2016im not shur but i cant open a viliger in 1.10 now and the shopkeepers are not to eddit! what shall i do? i can use the /shopkeeper and then a viliger spawns but i cant open it! and when i find a normal spawnd viliger it dosnt work ither!! hope you can help mee! (sorry for bad English lol XD)
-
View User Profile
-
Send Message
Posted Jun 10, 2016It says "An internal error occurred while attempting to perform this command." Every time I type /shopkeeper (I'm using Spigot 1.10 and latest version) and I can't create trades with the villager.
-
View User Profile
-
Send Message
Posted Jun 10, 2016@pickronk
It will become visible once it has been approved by dbo staff.
If you want to get an email notification (including a direct download link) whenever I upload a new version, you can subscribe for file updates somewhere at the top right.
-
View User Profile
-
Send Message
Posted Jun 10, 2016@blablubbabc
Ok, I am an idiot, where is v1.75 I am not seeing it
-
View User Profile
-
Send Message
Posted Jun 10, 2016v1.75 for MC 1.10, 1.9.x, 1.8.x
Backup your save file. If you run this version you cannot switch back to previous versions due to changes in the way things get stored in the save file.
If you run into any issues let me know.
Donations
If you like this plugin, consider supporting its development by making a donation.
Thanks in advance!
-
View User Profile
-
Send Message
Posted Jun 10, 2016@blablubbabc
Thanks again for the reply! I'll go ahead and set up a ticket(s) a little later with some screenshots.
-
View User Profile
-
Send Message
Posted Jun 9, 2016@Jikoo_K
Hm, strange. Glad it was resolved for you (for now), however it would have been great to get to the bottom of the issue.
@Aluin13
Hm, there is another open ticket of someone who might have the same issue. However I could not help with it yet, because I am not able to reproduce the issue on my server.. I have listed the possible reasons for this generic error message there: http://dev.bukkit.org/bukkit-plugins/shopkeepers/tickets/414-unable-to-create-villager-shopkeeper-even-with-bypasses/#c2
Mabye one of those helps you resolving your issue. If not, maybe you could tell me more about your setup, maybe even showing me first hand what you are step by step doing. Anything which helps me reproduce the issue.
If you are really using the default configuration, it should allow you a few more entity types for use as shop by default.. Check your config if you have VILLAGER listed inside 'enabled-living-shops'. If so, and you are nevetheless not able to select the villager shop type, it might be an issue with your permissions setup then. Maybe remove all shopkeepers related permissions from your permissions setup. By default every player should be able to create at least villager shops then.
Not sure what 'works now', but 'hire other villagers' is a completely different feature, which allows hiring of non-shopkeeper villagers / turning non-shopkeeper villagers into shopkeepers for a small item price. Could it be that the villager you are testing with here isn't actually a shopkeeper villager, but a normal one?
I am not sure what you mean by them 'becoming smaller each time until they disappear'. Maybe screenshots could help.
Then disable that feature again ;)
It might be a good idea to create issue tickets for each of your issues, so it's easier to keep track of what has been said so far.
@martini002
Nope.
-
View User Profile
-
Send Message
Posted Jun 9, 2016Hello, A shopkeeper can execute a console command instead of give the item? Or both? Thanks
-
View User Profile
-
Send Message
Posted Jun 9, 2016@blablubbabc
The plugin now recognizes the villager spawn egg as the creation object, but it will not let me create a villager for hire. With your instructions, I was able to use the egg to set up a shop, but only as a sign shop. When I try to place the shopkeeper with the egg when the plugin prompts me to, it makes a standard villager that is a non-shopkeeper and states "you cannot create a shopkeeper there." I have full permissions for the plugin and I'm in a region with no flags (global). Debug also does not produce any console messages.
Also, I if I shift+right click the spawner, the only selection choice I have is "sign shop". I imagine I'm just missing a flag in the config file, but I can't seem to find it. I'm using the default config file.
If I enable the hire-other-villagers flag, it sort of works but when I try right clicking the villager it becomes smaller each time I click until it disappears (I'm assuming this is a bug). Ideally, I'd not like to have other villagers as hire-able shops.
-
View User Profile
-
Send Message
Posted Jun 9, 2016@blablubbabc
Perfect! That fixed it. Thanks a lot.
-
View User Profile
-
Send Message
Posted Jun 9, 2016ETA on 1.10 update?
-
View User Profile
-
Send Message
Posted Jun 9, 2016@blablubbabc
I'm sure the permission denial is from Shopkeepers, it matches the Shopkeepers string when changed. I'm sure the item is correct. While my permission setup has a lot of inheritance affecting things (denial of witch/creeper, etc.) for testing purposes I directly granted myself the permissions shopkeeper.entity.villager and shopkeeper.player.normal, which overrides any group-specific denials.
For whatever reason, when I restarted again this morning Shopkeepers started working fine on that configuration, so whatever went wrong has fixed itself, though I swear I have not made any changes since commenting last night. Issue solved, I guess.
Thanks for taking the time to help me out, sorry it seems to have been wasted. I suspect that for whatever reason my shop types or shop object types were not being registered, so actual permission checks never came into play.
-
View User Profile
-
Send Message
Posted Jun 9, 2016@Aluin13 @Danny12328
Ah, go into your config and set the shop-creation-item-data to 0 for now. The mob spawner eggs no longer used the item data value anymore since 1.9 Currently there is no altnerative yet to limit the shop creation to only villager eggs (missing spigot API for that).
@franticTech @MrJordan9821
I am aware of it, thanks.
@Jikoo_K
I would assume that the failed permissions checks get logged.
Are you sure the 'no-permissions' message you get is by shopkeepers, and not some other plugin trying to prevent regular item/clicked-block usage? Are you sure that the item you are using for shop creation is the one configured in the config? I have tested your shop-creation-item from the given config, but that works fine for me.
When installing zPermissions and not configuring any permissions, the default permissions seem to work fine (I am able to use the shop types which are allowed by default for players). Could you maybe provide me the shopkeeper related subset of your permissions-setup?
-
View User Profile
-
Send Message
Posted Jun 8, 2016@Aluin13
I was having this problem, too. Try using the generic white spawn egg, not the actual villager spawn egg. The item ID for the generic spawn egg is 383.
-
View User Profile
-
Send Message
Posted Jun 8, 2016@blablubbabc
Thanks for the reply!
The issue I'm having is with associating a shopkeeper npc to a chest. Previously, I was able to hold the villager spawner in my hand, right click the chest, then right click to place the villager (now associated with the chest). My understanding is that the `/shopkeeper setforhire` command assumes that there is already a shopkeeper bound to a chest.
Right clicking with the spawner in hand while sneaking also does not cycle through shop types. As a matter of fact, I see no console or in-game messages at all no matter what I do with a villager spawn egg. I've triple checked the config file and shope-creation-item is set to the default MONSTER_EGG with item-data set to 120.
I apologize if this is just user error.
-
View User Profile
-
Send Message
Posted Jun 8, 2016@blablubbabc
Nope, with debug enabled there's no console output when attempting and failing to use the shop creation item. I use zPermissions, updated for 1.8+ by the Spigot team. Honestly, I'm clueless as to what's really going on. It doesn't seem like a permissions issue as I can verify that I do have the permissions set using other commands to test. It doesn't seem like the shopkeeper entity types should fail to load either though, and as far as I can tell it has to be one of the two.