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 18, 2014@adam_is_awesome
As far as I can tell from my tests shopkeepers does work with named items and items with lore. Shopkeepers will only deny the trade, if the items don't equal (also their "internal" data has to equal).
So if the trade works, you log out and back in and it no longer works, the item in your inventory or the item of the shopkeeper changed. So you have to try to find out what is changing your items and what it being changed.
You could also try it out on a fresh test server, with no other plugins interfering, and you can use tools like PowerNBT to analyize your items.
-
View User Profile
-
Send Message
Posted Feb 18, 2014I love this plugin, I really do. With that being said I've ran into a massive issue. When I have a shop selling items that are renamed, and have lore for items that are also renamed and have lore it bugs up. It'll let you trade the npc directly, for the items like normal but then as soon as I log out it doesn't accept the item I was just using. Thus, it's acting as if I don't have the correct items to make the trade, and will completely cancel the action. I've tried all of the recent builds and nothing seems to work. Please help! Thanks :D
TLDR: Bug Report: Shopkeepers Doesn't currently support Colored/Renamed items with lore as an offer, and bugs out after relog.
-
View User Profile
-
Send Message
Posted Feb 17, 2014Can you add a feature where players can buy commands?
For ex: /god {playername} ?
-
View User Profile
-
Send Message
Posted Feb 14, 2014Hey can you use double chests?
-
View User Profile
-
Send Message
Posted Feb 13, 2014Useful plugin! I like it!
Did this plugin have all commands list page? It will be helpful to use.
-
View User Profile
-
Send Message
Posted Feb 8, 2014@Hunter61696
Hm? Command shops? Yes, you can create villager shops with this plugin. But the latest update didn't change anything on that.
-
View User Profile
-
Send Message
Posted Feb 8, 2014This is the updated version of the plugin correct? Because I want to be able to make villager shops instead of /command shops
-
View User Profile
-
Send Message
Posted Feb 8, 2014@TakoMT
well, maybe you could lead me to reproduce this on a fresh server with as less other plugins as possible.. on my craftbukkit 1.7.2 beta 0.2 server with pretty much only shopkeepers running, meta data was detected just fine..
-
View User Profile
-
Send Message
Posted Feb 8, 2014Hi there... Like anathelme mentioned below I am also having exactly the same issue... using the latest version of your plugin, yet if I tell it to trade an item with custom metadata name, it doesnt work...
If I place the actual item it works... If I place the item with the default metadata name, it still allows me to trade :'(.
-
View User Profile
-
Send Message
Posted Feb 7, 2014@MasterMithrandir
shopkeeper.creeper
-
View User Profile
-
Send Message
Posted Feb 7, 2014What is the permission for player creeper shops?
-
View User Profile
-
Send Message
Posted Feb 7, 2014@DivinePhoenix
Nope, only item trades can be set up.
-
View User Profile
-
Send Message
Posted Feb 6, 2014Is there any way to reward money (costs) with an admin shop? or without a chest?
-
View User Profile
-
Send Message
Posted Feb 1, 2014ok so normal players are able to buy shops even though i only have it set for donators to be able to wtf
-
View User Profile
-
Send Message
Posted Jan 30, 2014@blablubbabc
If only i could show you the place where they are. That's a fully hand constructed temple in a worldguard region with disabled spawning, and all my shopkeepers have colored names and outfits. No way to miss them with a normal one, cuz there is none at 500blocks radius around. Maybe it's cuz of my plugins. Could you for exemple try with a plugin like itemizer, it's the one I use to make my nbt-edit faster directly on the server instead of import some chest-schematics. Maybe the issue come from it! But I don't think so, cuz the items are correctly saved in the save.yml, with all their metadata enchant ect... just shopkeepers seems to be blind as vanilla villager on my server... I have no other plugin that affect villager and use only worldguard as protection system. By the way, my bad on a point: villagers seems to be blind in vanilla too now. Worked perfectly in 1.5.2 in vanilla, now they are just easy-fucked by unmodified items :x
-
View User Profile
-
Send Message
Posted Jan 30, 2014Dear blablubbabc
Would you like to help me to take a loot with the issue of this plugin (http://dev.bukkit.org/bukkit-plugins/mythicmobs/) If reserver then can't change with shopkeeper . is it the problem of Mythicmobs or Shopkeeper ? if you use cmd /mm i give [player] [items] , then put into NPC. Next, kill the boss then drope the same item with the /mm i give [player] [items] , You can discover that although they are some name and lore and so on. However you can't change it with NPC. Especially when you re-setart the server . It seem the NTB will changed every time. Are there any api to fix it ?Thanks!
-
View User Profile
-
Send Message
Posted Jan 30, 2014@anathelme
I just checked it again on my test server (with pretty much only Shopkeepers running):
So it's exactly like I said and I can't see any bugging behavior here.. everything is working like expected..
Make sure you didn't mistake the shopkeeper villager for a normal villager and the other way around in your tests.
-
View User Profile
-
Send Message
Posted Jan 30, 2014@blablubbabc
Actually no :x I edited on solomap a vanilla villager with the mod "nbtedit". I made it trade a golden sword with only 1 use left, called "the broken fire sword", with lore, colored name which allow you to buy the "Ancient Fire Sword" with lore, name blablabla ect. I give him the broken fire sword, he accept to trade. I give him a classic golden sword without lore, even with the same durability, he don't give a fuck he don't want to trade. That's normal and that's i want to.
when I used shopkeeper to do exaclty the same thing, I can give him any golden sword, he will trade, no care of name lore and enchantements. I use the beta build of bukkit r0.2 and your last version of the plugin.
I will keep searching the origin of the issue, if I find it, I will give you all the solutions you need to fix it or creating a "tuto" about using a different way to make nbt-edited items working with your plugin code ;)
-
View User Profile
-
Send Message
Posted Jan 30, 2014Just a quick note for everyone.... the upcoming v1.8 will break any green robed villagers. Only in a very minor way, they'll all become brown robed, but there will be no more green robed villagers spawnable in any manner including this plugin.
-
View User Profile
-
Send Message
Posted Jan 28, 2014Well, it only happens in the adventure map that i am making, and not in places where there are player shops etc.. The map is in my Flat world and it is in a world guard protected region. I also use the plugin chunkload because i have redstone under the map that has to carry over a distance longer than the redstone can carry so idk if this is whats causing it but the chunks in the map stay loaded on the server. Also I did notice the villagers coping into regular villagers after the 1.7 update. Also when i updated to 1.7 i changed from bukkit to spigot, idk if that is the issue either, but before i updated i had the shopkeeper installed and the villagers in the map, i've tried deleted the shopkeepers and making new ones but the new ones just do the same thing. I can't deny the spawn for the villagers in the region because if i did that they wouldnt appear. It doesnt matter if they are in a house with doors or in a building without doors they copy themselves into regular villagers either way. Also the server has two scheduled restarts, not sure if that would cause it either.
Hope this helps and I'm very grateful for you trying to figure this out.
Could unistalling this plugin and reistalling it help? Seeing as how i had it installed before the update and now its doing this?