Shopkeepers icon

Shopkeepers -----

Custom villager shopkeepers that trade exactly what you want them to trade!



Version 2.24.0
v2.24.0 MC 1.21.10, 1.21.8, 1.21.7, 1.21.6, 1.21.5, 1.21.4, 1.21.3, 1.21.1, 1.21, 1.20.6
I only list the primary changes here. For information on API changes, internal changes, and changes to the language files, you can find the complete changelog on Github: https://github.com/Shopkeepers/Shopkeepers/blob/master/CHANGELOG.md
Known potential issues: See here.
  • Update for Minecraft 1.21.10.
    • Note: 1.21.9 is not supported and has been superseded by 1.21.10.
    • Update the fallback compatibility module.
    • Add copper golem to the by default enabled mob types.
      • It supports the hand, offhand, head and saddle equipment slots.
      • Its oxidation level is fixed and can be changed via the editor.
    • Add mannequin to the by default enabled mob types.
      • It does not rotate towards nearby players.
      • Equipment is supported but only works with the latest Spigot versions (see SPIGOT-8087).
      • The main hand and pose can be toggled via the editor. Note: Some of the poses have a very small hitbox.
      • We hide the default "NPC" description from the nametag. There is no editor option to customize the description yet.
      • The skin can be specified via the editor by entering the name or uuid of an existing player in chat.
        • On Spigot, the profile lookup by name uses a blocking player id lookup as a workaround for some issue currently (see SPIGOT-8088).
        • There are no editor options yet to customize the profile in other ways or hide individual skin layers.
  • Add armor stand to the by default enabled mob types.
    • The editor supports toggling the base plate, arms, and size, as well as equipping items.
  • Config: Changes to the item data format inside the config.
    • The new format aligns more closely with how Minecraft represents item data and how we represent item data inside the save file.
    • We now use Minecraft's item type ids instead of Bukkit's material names.
    • Additional item data components are represented in SNBT.
    • Example:
      Old:
      Code (YAML):
      shop-creation-item:
        type
      : VILLAGER_SPAWN_EGG
        display-name
      : ' { "text": "Shopkeeper", "italic":false, "color": "green" }'
      New (1.20.5+):
      Code (YAML):
      shop-creation-item:
        id
      : 'minecraft:villager_spawn_egg'
        components
      :
         minecraft:custom_name
      : ''' { "color": "green", "italic":false, "text": "Shopkeeper" }'''
      New (1.21.5+): SNBT instead of JSON for text data.
      Code (YAML):
      shop-creation-item:
        id
      : 'minecraft:villager_spawn_egg'
        components
      :
         minecraft:custom_name
      : ' {color: "green",italic:0b,text: "Shopkeeper" }'
    • Your existing config is automatically migrated to the new format.
    • Add new setting data-version: This setting is automatically updated whenever you migrate to a new server version and used to automatically migrate your item data inside the config.
    • We no longer convert between legacy and alternative color codes. For recent Minecraft versions, the use of Minecraft's JSON / SNBT text representation is recommended.
  • Config: Changes to how we compare the data of config items such as the shop creation item.
    • Previously, we tried to emulate Minecraft's NBT data matching based on Bukkit's item serialization output. This approach was not ideal: Bukkit's item serialization comes with overhead and its output does not perfectly match Minecraft's item NBT structure. And on recent versions of the Paper server, the Bukkit item serialization has been deprecated and might no longer receive updates.
    • The item matching implementation was updated to directly use Minecraft's underlying NBT comparison logic.
    • However, this also means that this logic is now part of the plugin's Minecraft version specific code that must be updated for every new version of Minecraft. A reflection based fallback implementation is available for Spigot servers, but is likely to break across server updates as well.
    • To more closely align with Minecraft's NBT matching logic used in commands and by the custom_data predicate, we also match partial lists now. Previously, we would not match partial lists to more closely align with how items are compared in villager trades. But in newer versions, the item comparison in villager trades has become more strict. And for the matching of config items, we prefer a more lenient partial matching of item data.
  • Data: Remove the item conversion feature.
    • This feature was used as a workaround in the past to help server owners deal with changes to the internal item data representation across server versions. Since then, there have been changes in Spigot to better preserve text data during serialization. And with the introduction of item data components in MC 1.20.5 and the changes to how Minecraft itself normalizes and compares item data now, this feature should no longer be required. Also, especially on Paper servers, this feature might break items since it relies on Bukkit's serialization and deserialization of ItemMeta, which is deprecated on Paper servers.
    • Command: Remove command convertItems and related permissions shopkeeper.convertitems.own and shopkeeper.convertitems.others.
    • Debug: Remove debug option item-conversions.
    • Config: Remove settings convert-player-items, convert-all-player-items and convert-player-items-exceptions.
  • Data: Use default salmon variant if missing.
  • Fix: Shopkeeper mobs no longer equip items from dispensers.
    • These equipment items are not persisted and permanently lost once the shopkeeper is respawned. Instead, use the shopkeeper editor to add equipment to shopkeeper mobs.
Donations
If you like this plugin, consider making a donation.

Thanks!
----------, Oct 16, 2025
Resource Information
Author:
----------
Total Downloads: 653,851
First Release: Jun 27, 2020
Last Update: Oct 16, 2025
Category: ---------------
All-Time Rating:
67 ratings
Find more info at github.com...
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings