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 Binden |
Want to help?
The less I have to do myself, the more time I have to write plugins. Therefore I am looking for someone who would be willing to get involved in the project. That could for example mean:
- Keeping the documentation (the wiki) up-to-date with plugin updates.
- Improving the existing documentation.
- Creating and maintaining translations.
- Help managing issues and answering questions of users.
If you are a programmer with experience in writing bukkit plugins, or have ideas on how you can contribute to the project beyond that, let me know as well! If you are interested, feel free to contact me via PM.
Beyond that, everybody is invited to help others with issues and questions in the issue tracker, comment section, and the discord channel! Also consider contributing translations!
Third-Party Add-On Plugins
Sometimes a feature is either to specific to include it directly into the Shopkeepers plugin, or I did not yet have the time to add something similar myself. The plugins listed here extend the functionality of the Shopkeepers plugin.
These plugins are maintained by other community members. If you run into issues while using any of these add-ons, try to first reproduce your problem without any add-ons before you report it.
ShopkeepersNavAddon(abandoned): Adds inventory-based GUIs that allow you to browse all player shops, all admin shops, and to find shops that trade a specific type of item. You can teleport to a particular shopkeeper by clicking a button inside the GUI.
This plugin also integrates support for trading with Vault-based currency, but does so by replacing Shopkeepers' normal trade handling.
If you have also written an add-on plugin and want it listed here, let me know!
v2.8.1 for MC 1.14.4
Make sure to checkout the changelog of v2.8.0 below.
Internal:
I cant change variants they just turn back to normal, same thing happens to levels.
In reply to Forge_User_82782605:
Just tried and can't reproduce. These editor buttons work fine for me on the latest version of Spigot, with Shopkeepers v2.8.0 and no other plugins on the server.
Any errors inside your server log?
Possible not using the latest version of Spigot?
If those don't apply, try it on a fresh server without other plugins possibly interferring.
In reply to blablubb:
I was meant to say professions my bad, I created a brand new server for tests and it works but it doesnt on the main server I dont have any errors and Im using the latest spigot version.
I cant change profession or levels on my main server.
In reply to Forge_User_82782605:
Can you upload your shopkeepers config (eg. to pastebin.com)
Also, can you attach your plugin list? Since it works without other plugins, this is maybe caused by some other plugin interferring. Try adding the plugins one by one to the test server and see at which point it breaks.
In reply to blablubb:
In reply to blablubb:
In reply to blablubb:
No idea why.. but its working
v2.8.0 for MC 1.14.4
Checkout the changelog of v2.7.0 regarding the update to MC 1.14.
API:
Internal:
Debugging:
Known potential issues: See here.
Donations
If you like this plugin, consider making a donation.
Thanks!
Thanks to all donations since the last update:
This is the perfect plugin for my server.
But even if it is incredibly easy to use, i still have a doubt with using different currencies, like emerald, iron, gold and diamond representing different values.
In reply to elyemas343:
Yeah, the plugin only supports 2 currencies currently (since there are only 2 input slots in the trading interface). There is some discussion on how this might work for more than 2 currencies here: https://github.com/Shopkeepers/Shopkeepers/issues/502
But overall it doesn't seem clear yet how this would work in detail and still be user-friendly. If you have any ideas on how the setup of trades, as well as the actual trading itself could work with an arbitrary amount of defined currencies, feel free to formulate your ideas over at this github ticket.
Dear blablubb,
On my server I added shopkeepers and it started lagging really bad, it kind of started to ''freeze lag'', this happens for everyone in the server but only in the area where the shops are located, in this case the spawn area. on this link you can see the lag what im talking about: https://clips.twitch.tv/NimbleTransparentMangetoutAliens
I also recorded the Timings of the lag. here is a screenshot: https://prnt.sc/otjp10
Maybe Shopkeepers is having trouble with the worldguard region its in? or it might be something else... I dont know.. Do you know if this can be fixed by any chance?
In reply to Forge_User_37260402:
For server side lag you could check Spigot's timings report for further hints.
But from the video this looks like client side lag to me.
What is the entity count in that region (F3 screen), how many shopkeepers do you have there, and if you remove shopkeepers by how much does the entity count go down and does it solve the lag issue?
I am not aware of any WorldGuard related issues.
Common causes for server side lag are block physics (water flow, redstone, ..) and hoppers/droppers, since those things can end up triggering quite frequent and Shopkeepers has to react to them in order to avoid certain issues.
A cause for client side lag could be excessive amounts of entities. Usually this should not be an issue if you have only a few shopkeepers, however, there is an open Spigot issue which prevents 'dead'/despawned entities to properly get removed on the server (https://hub.spigotmc.org/jira/browse/SPIGOT-5228). Maybe this affects client side entity counts as well and then somehow causes performance issues once accumulated for some time (though this would surprise me, since the entities are dead and not ticking, so their only impact should be memory related).
In reply to blablubb:
Thanks for your reply,
It is 100% shopkeepers causing the problem, I deleted the shopkeepers plugin and there is no lag anymore. also I only had 7 admin shops at spawn and that's it.
I really want to add the plugin back to the server but something needs to be fixed somewhere...
In reply to Forge_User_37260402:
Well, on my test server I cannot reproduce this performance issue so far. Is there anything else besides spawning a few shopkeepers near the spawn region I could try to reproduce this issue?
I am not able to do much without reproducing the issue / figuring out the underlying issue. Only then I can either forward the issue to Spigot (if it's caused by some server issue), or fix it in Shopkeepers (if there is a way to fix it as part of Shopkeepers).
In reply to blablubb:
Thanks for another reply,
Would it be possible to talk somewhere else, for example Discord DM's? I have alot of info I want to share with you about this problem and messaging via this isn't the best.
This is my discord if you wan't to talk there: https://discord.gg/8RxVSzz
My discord tag is: Paploo#0968
If you don't want to talk through discord let me know too, so we can talk further here.
Thanks in advance!
In reply to Forge_User_37260402:
https://discord.gg/d9NKd5z
Can u sell Items for 0 Costs in an Admin Showkeeper?
I need a guy who "sales" Boats for free.
In reply to Forge_User_11906546:
Nope. The trading interface always requires some input item before activating/unlocking the trade.
Can you make it so Shopkeeper Villagers don't count towards a raid? because i use villagers in my spawn and every time someone enters spawn with bad omen it starts a raid.
Hey blab.
We found a compatibility issue with GriefPrevention.
Basically GP prevents interaction with protected mobs. Mobs are automatically protected as owned by the GP claim owner, so that includes mobs generated as shopkeepers by Shopkeepers.
Basically you can't interact with mob shopkeepers if they're inside a GP claim.
I'll let the GP developer know this if you find it appropiate.
In reply to MithrandirMage:
Are you using the v2.8.0 snapshot of Shopkeepers?
There seems to be an older ticket with someone running into a similar issue with GP: https://github.com/TechFortress/GriefPrevention/issues/290
I will add a loadbefore entry for GriefPrevention which might fix this (as long as you don't perform any plugin or config reloads), however the in my opinion cleaner / more stable solution would be for GP to listen on a later event priority, so that other plugins have a chance to circumvent them in specific cases.
Snapshot available here: https://nexus.lichtspiele.org/repository/snapshots/com/nisovin/shopkeepers/Shopkeepers/2.8.0-SNAPSHOT/Shopkeepers-2.8.0-20190808.214354-7.jar