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 Feb 27, 2016Just a query, removing a particular shop (for a player or admin), is there a way to do this, or does it have to be done in the background? Removing all seems easy, but no obvious way to just remove one shop by command? :)
-
View User Profile
-
Send Message
Posted Feb 10, 2016@pluginplplpl
I think so, yes. However, I do not recommend/support running older versions in case you run into issues with those.
-
View User Profile
-
Send Message
Posted Feb 9, 2016can i spawn a sign shop in 1.5.2 ??
-
View User Profile
-
Send Message
Posted Feb 6, 2016@kiponline
Shopkeepers is known to not work on Cauldron (and MCPC+). Only craftbukkit/spigot is supported from my end.
-
View User Profile
-
Send Message
Posted Feb 5, 2016I am using mcpc-plus-1.5.2-R1.1-forge738-B653 server for my hexxit server. I try all shopkeepers for 1.5.2. I can create shopkeepers and edit it. But when i right click to trade, nothing show up. Hope you can check and fix. Thanks
-
View User Profile
-
Send Message
Posted Jan 28, 2016@Joshii2201
You can't, you will have to recreate it currently.
-
View User Profile
-
Send Message
Posted Jan 27, 2016When I place the villager, how I can move him later?
-
View User Profile
-
Send Message
Posted Jan 23, 2016@WinMillion20
What exactly do you mean with 'it stops working'? On my test server the shopkeepers keep working just fine (they still trade their stuff, etc.) after renaming.
Also check your server log for any errors, and maybe make sure that no other plugin might be causing any issues.
-
View User Profile
-
Send Message
Posted Jan 22, 2016Whenever I name a shopkeeper, it suddenly stops working.
-
View User Profile
-
Send Message
Posted Jan 19, 2016@koonflookz
Please create a ticket. Also which version of shopkeepers are you using and do you have 'strict item comparison' set to 'true' in the config? Also the debug (/shopkeeper debug) output of the console might be useful, when you trade with the shopkeeper.
Either way, the easiest, fastest and cleanest solution would probably be to update to MC 1.8, as MC 1.8 has your desired behavior built-in by default already.
-
View User Profile
-
Send Message
Posted Jan 19, 2016Fixed bug pls. version 1.7.2
https://www.youtube.com/watch?v=wLbFx0itp9s&hd=1&app=desktop << bug
-
View User Profile
-
Send Message
Posted Jan 16, 2016@blablubbabc
I'm using the latest version of Spigot and no mods are installed. Do you have Skype? If so add minenightofficial so I can show you the problem first hand.
-
View User Profile
-
Send Message
Posted Jan 15, 2016@MineCraftMyph
The 'use-strict-item-comparison' setting is only working on versions below MC 1.8.
On MC 1.8 minecraft is internally performing a strict item comparison, which shopkeepers cannot easily prevent, as far as I can tell currently.
On versions below MC 1.8 minecraft did only compare the item type. Setting shopkeeper's 'use-strict-item-comparison' to true would then result in shopkeepers performing a strict item comparison (blocking the trade if the items involved are not strictly equal), before letting minecraft internally continue with its regular trade handling.
On MC 1.8+, setting this setting to false will skip this 'are the items strictly equal' check in shopkeepers, but minecraft is doing its own additional check now afterwards (internally somewhere, so not (easily) changeable by me), preventing the trade on its own.
However, in the context of your last comment, if you are using the latest version of spigot and the official latest minecraft client, you should not see the result item to appear in the result slot of the trade. So I cannot explain this then:
Are you by chance using any non-official (maybe modded) minecraft client? Or are you using an 1.7 minecraft client on an 1.8 minecraft server? This would be the only explanations for your described scenario I can currently think of.
-
View User Profile
-
Send Message
Posted Jan 15, 2016@blablubbabc
I'm running the latest version of Shopkeepers and Spigot. 'use-strict-item-comparison: false' does not work. If I want to buy a diamond for 50 gold nuggets, the nuggets in the shop are called &aNuggets and the nuggets I'm holding are called &b&lNuggets, the item appears in the villager but won't let me take it.
-
View User Profile
-
Send Message
Posted Jan 13, 2016@Meaninglesslegacy
Make sure that you are running with the latest version of spigot. It might be that the version you are currently using isn't supporting saving of the unbreakable tag.
-
View User Profile
-
Send Message
Posted Jan 13, 2016I have a problem where whenever I reload the server or restart the server, the Unbreakable item attribute is removed from the item in the villager trades and I have no idea why.
-
View User Profile
-
Send Message
Posted Jan 12, 2016@MineCraftMyph
Are you using the latest version of the official spigot/craftbukkit server? If your client displays an item in the result slot of the trade, but the server (and therefore the plugin) doesn't see the same result, that sounds like either a discrepancy between your client and the server, or some other plugin is interfering..
I can confirm that shopkeepers is working fine for me on the latest spigot version and with the official client running on the latest version (I assume either 1.8.8 or 1.8.9).
-
View User Profile
-
Send Message
Posted Jan 12, 2016@blablubbabc
[19:23:09] [Server thread/INFO]: [Shopkeepers] Player clicked: raw slot id=2, slot id=2, slot type=RESULT, shift=false, left or right=left, action=NOTHING [19:23:09] [Server thread/INFO]: [Shopkeepers] Not handling trade: There is no item in the clicked result slot (no trade available).
This is the result from the console. My config is working perfectly fine. Items show up in the trade but can not be collected.
-
View User Profile
-
Send Message
Posted Jan 11, 2016@MineCraftMyph
Make sure that you are not using any 'special' mouse clicks, which invovle right or shift clicks. Those are blocked for player shops, because they can lead to duplication issues. By turning debug mode on you can see in the server log if Shopkeepers is preventing the trade because of special clicks.
-
View User Profile
-
Send Message
Posted Jan 11, 2016@blablubbabc
Your plugin still doesn't work even with 'use-strict-item-comparison: false'. The items show up in the slots but won't let me take them.