Create your own villager trades

About
Custom Villager Trades is designed to give modpack authors the ability to expand upon the vanilla villager trades. It is packed with fresh features that allow you to have specific control over what is available, as well as the ability to randomize items, amounts, enchantment and more!
This mod works by reading JSON config files from the config/custom villager trades directory. When you first launch the mod, the directory will be created with an example file inside. It is up to you to create the rest! There should be 1 file per-profession.
After loading the trades and checking their validity, the mod will intercept the trade loading event and inject the custom trades in (and if you have enabled the option, it can also remove other trades).
Features
Wiki
You can access the wiki here. It contains a full JSON specification for the latest version of Custom Villager Trades.
Warning: If you are not using the latest version of this mod, some features may not be available to you.
Help!
Before asking for help, please consult the wiki.
If you still need further help, you can open an issue here or ask on the discord.
Modpacks
You can use this mod in your modpack.
My Mods
If you like this mod, check out my other mods!

Unsupported
Required
Terms for using, modifying and redistributing this product.
30.05.2024 · Modrinth
Added possibility to put "none" as an enchantmentkey, allowing you to give the trade the possibility not to have any enchantments
Added new global config file located in "config/cvtGlobal.json"
Added global config option "opLevel" - this determines the op level a player must have in order to execute CVT commands (default = 2)
Added wanderer trades to export
Re-added "basic" semi-random feature
Changed how tipped arrows are now made, they work identically to normal potions
Fixed...
Screenshots and images from the original Modrinth page.











Published versions and original Modrinth files.
30.05.2024 · 7 428 947 downloads
Added possibility to put "none" as an enchantmentkey, allowing you to give the trade the possibility not to have any enchantments
Added new global config file located in "config/cvtGlobal.json"
Added global config option "opLevel" - this determines the op level a player must have in order to execute CVT commands (default = 2)
Added wanderer trades to export
Re-added "basic" semi-random feature
Changed how tipped arrows are now made, they work identically to normal potions
Fixed amountRange not applying correctly
Fixed potions so they can use NBT data (for awkward and thick potions, and water)
Fixed directory creation failure on first load (if config folder doesn't exist, fabric-only)
Fixed some trade exports not working
Fixed validation for tipped arrows
Fixed all.json trades not getting added
Removed config option potionKey
Removed config option blacklistedPotionKeys
30.05.2024 · 72 509 downloads
Added possibility to put "none" as an enchantmentkey, allowing you to give the trade the possibility not to have any enchantments
Added new global config file located in "config/cvtGlobal.json"
Added global config option "opLevel" - this determines the op level a player must have in order to execute CVT commands (default = 2)
Added wanderer trades to export
Re-added "basic" semi-random feature
Changed how tipped arrows are now made, they work identically to normal potions
Fixed amountRange not applying correctly
Fixed potions so they can use NBT data (for awkward and thick potions, and water)
Fixed directory creation failure on first load (if config folder doesn't exist, fabric-only)
Fixed some trade exports not working
Fixed validation for tipped arrows
Fixed all.json trades not getting added
Removed config option potionKey
Removed config option blacklistedPotionKeys
30.05.2024 · 7 860 downloads
Added possibility to put "none" as an enchantmentkey, allowing you to give the trade the possibility not to have any enchantments
Added new global config file located in "config/cvtGlobal.json"
Added global config option "opLevel" - this determines the op level a player must have in order to execute CVT commands (default = 2)
Added wanderer trades to export
Re-added "basic" semi-random feature
Changed how tipped arrows are now made, they work identically to normal potions
Fixed amountRange not applying correctly
Fixed potions so they can use NBT data (for awkward and thick potions, and water)
Fixed directory creation failure on first load (if config folder doesn't exist, fabric-only)
Fixed some trade exports not working
Fixed validation for tipped arrows
Fixed all.json trades not getting added
Removed config option potionKey
Removed config option blacklistedPotionKeys
30.05.2024 · 698 downloads
Added possibility to put "none" as an enchantmentkey, allowing you to give the trade the possibility not to have any enchantments
Added new global config file located in "config/cvtGlobal.json"
Added global config option "opLevel" - this determines the op level a player must have in order to execute CVT commands (default = 2)
Added wanderer trades to export
Re-added "basic" semi-random feature
Changed how tipped arrows are now made, they work identically to normal potions
Fixed amountRange not applying correctly
Fixed potions so they can use NBT data (for awkward and thick potions, and water)
Fixed directory creation failure on first load (if config folder doesn't exist, fabric-only)
Fixed some trade exports not working
Fixed validation for tipped arrows
Fixed all.json trades not getting added
Removed config option potionKey
Removed config option blacklistedPotionKeys
30.05.2024 · 11 570 downloads
Added possibility to put "none" as an enchantmentkey, allowing you to give the trade the possibility not to have any enchantments
Added new global config file located in "config/cvtGlobal.json"
Added global config option "opLevel" - this determines the op level a player must have in order to execute CVT commands (default = 2)
Added wanderer trades to export
Re-added "basic" semi-random feature
Changed how tipped arrows are now made, they work identically to normal potions
Fixed amountRange not applying correctly
Fixed potions so they can use NBT data (for awkward and thick potions, and water)
Fixed directory creation failure on first load (if config folder doesn't exist, fabric-only)
Fixed some trade exports not working
Fixed validation for tipped arrows
Fixed all.json trades not getting added
Removed config option potionKey
Removed config option blacklistedPotionKeys
30.05.2024 · 471 downloads
Added possibility to put "none" as an enchantmentkey, allowing you to give the trade the possibility not to have any enchantments
Added new global config file located in "config/cvtGlobal.json"
Added global config option "opLevel" - this determines the op level a player must have in order to execute CVT commands (default = 2)
Added wanderer trades to export
Re-added "basic" semi-random feature
Changed how tipped arrows are now made, they work identically to normal potions
Fixed amountRange not applying correctly
Fixed potions so they can use NBT data (for awkward and thick potions, and water)
Fixed directory creation failure on first load (if config folder doesn't exist, fabric-only)
Fixed some trade exports not working
Fixed validation for tipped arrows
Fixed all.json trades not getting added
Removed config option potionKey
Removed config option blacklistedPotionKeys
30.05.2024 · 3 635 downloads
Added possibility to put "none" as an enchantmentkey, allowing you to give the trade the possibility not to have any enchantments
Added new global config file located in "config/cvtGlobal.json"
Added global config option "opLevel" - this determines the op level a player must have in order to execute CVT commands (default = 2)
Added wanderer trades to export
Re-added "basic" semi-random feature
Changed how tipped arrows are now made, they work identically to normal potions
Fixed amountRange not applying correctly
Fixed potions so they can use NBT data (for awkward and thick potions, and water)
Fixed directory creation failure on first load (if config folder doesn't exist, fabric-only)
Fixed some trade exports not working
Fixed validation for tipped arrows
Fixed all.json trades not getting added
Removed config option potionKey
Removed config option blacklistedPotionKeys
30.05.2024 · 984 downloads
Added possibility to put "none" as an enchantmentkey, allowing you to give the trade the possibility not to have any enchantments
Added new global config file located in "config/cvtGlobal.json"
Added global config option "opLevel" - this determines the op level a player must have in order to execute CVT commands (default = 2)
Added wanderer trades to export
Re-added "basic" semi-random feature
Changed how tipped arrows are now made, they work identically to normal potions
Fixed amountRange not applying correctly
Fixed potions so they can use NBT data (for awkward and thick potions, and water)
Fixed directory creation failure on first load (if config folder doesn't exist, fabric-only)
Fixed some trade exports not working
Fixed validation for tipped arrows
Fixed all.json trades not getting added
Removed config option potionKey
Removed config option blacklistedPotionKeys
22.02.2024 · 5 857 downloads
Fixed un-modified professions not returning any trades
22.02.2024 · 1 637 downloads
Fixed un-modified professions not returning any trades
22.02.2024 · 401 downloads
Fixed un-modified professions not returning any trades
22.02.2024 · 198 downloads
Fixed un-modified professions not returning any trades
22.02.2024 · 26 229 downloads
Fixed un-modified professions not returning any trades
22.02.2024 · 105 downloads
Fixed un-modified professions not returning any trades
22.02.2024 · 214 downloads
Fixed un-modified professions not returning any trades
22.02.2024 · 120 downloads
Fixed un-modified professions not returning any trades
08.02.2024 · 281 downloads
Reworked trade replacement for better mod compatibility.
Added "maxTrades" for villagers
Added "maxCommonTrades" and "maxRareTrades" for wanderer. Note that this only works when "removeOtherTrades" = true
Fixed wanderer trade check throwing an error when trying to add without replacing trades.
08.02.2024 · 328 downloads
Reworked trade replacement for better mod compatibility.
Added "maxTrades" for villagers
Added "maxCommonTrades" and "maxRareTrades" for wanderer. Note that this only works when "removeOtherTrades" = true
Fixed wanderer trade check throwing an error when trying to add without replacing trades.
08.02.2024 · 137 downloads
Reworked trade replacement for better mod compatibility.
Added "maxTrades" for villagers
Added "maxCommonTrades" and "maxRareTrades" for wanderer. Note that this only works when "removeOtherTrades" = true
Fixed wanderer trade check throwing an error when trying to add without replacing trades.
08.02.2024 · 95 downloads
Reworked trade replacement for better mod compatibility.
Added "maxTrades" for villagers
Added "maxCommonTrades" and "maxRareTrades" for wanderer. Note that this only works when "removeOtherTrades" = true
Fixed wanderer trade check throwing an error when trying to add without replacing trades.
08.02.2024 · 77 downloads
Reworked trade replacement for better mod compatibility.
Added "maxTrades" for villagers
Added "maxCommonTrades" and "maxRareTrades" for wanderer. Note that this only works when "removeOtherTrades" = true
Fixed wanderer trade check throwing an error when trying to add without replacing trades.
08.02.2024 · 70 downloads
Reworked trade replacement for better mod compatibility.
Added "maxTrades" for villagers
Added "maxCommonTrades" and "maxRareTrades" for wanderer. Note that this only works when "removeOtherTrades" = true
Fixed wanderer trade check throwing an error when trying to add without replacing trades.
08.02.2024 · 92 downloads
Reworked trade replacement for better mod compatibility.
Added "maxTrades" for villagers
Added "maxCommonTrades" and "maxRareTrades" for wanderer. Note that this only works when "removeOtherTrades" = true
Fixed wanderer trade check throwing an error when trying to add without replacing trades.
08.02.2024 · 73 downloads
Reworked trade replacement for better mod compatibility.
Added "maxTrades" for villagers
Added "maxCommonTrades" and "maxRareTrades" for wanderer. Note that this only works when "removeOtherTrades" = true
Fixed wanderer trade check throwing an error when trying to add without replacing trades.
23.01.2024 · 185 downloads
Added error logging to chat - this should help those who struggle to read the latest.log
23.01.2024 · 162 downloads
Added error logging to chat - this should help those who struggle to read the latest.log
23.01.2024 · 90 downloads
Added error logging to chat - this should help those who struggle to read the latest.log
23.01.2024 · 75 downloads
Added error logging to chat - this should help those who struggle to read the latest.log
23.01.2024 · 56 downloads
Added error logging to chat - this should help those who struggle to read the latest.log
23.01.2024 · 95 downloads
Added error logging to chat - this should help those who struggle to read the latest.log
23.01.2024 · 72 downloads
Added error logging to chat - this should help those who struggle to read the latest.log
23.01.2024 · 69 downloads
Added error logging to chat - this should help those who struggle to read the latest.log
27.11.2023 · 351 downloads
v21.0
Backported the latest version of the mod
Fixed /exportCVT command to export correct request amounts
27.11.2023 · 270 downloads
v21.0
Backported the latest version of the mod
Fixed /exportCVT command to export correct request amounts
27.11.2023 · 141 downloads
v21.0
Backported the latest version of the mod
Fixed /exportCVT command to export correct request amounts
27.11.2023 · 102 downloads
v21.0
Backported the latest version of the mod
Fixed /exportCVT command to export correct request amounts
27.11.2023 · 128 downloads
v21.0
Backported the latest version of the mod
Fixed /exportCVT command to export correct request amounts
27.11.2023 · 99 downloads
v21.0
Backported the latest version of the mod
Fixed /exportCVT command to export correct request amounts
27.11.2023 · 122 downloads
v21.0
Backported the latest version of the mod
Fixed /exportCVT command to export correct request amounts
27.11.2023 · 79 downloads
v21.0
Backported the latest version of the mod
Fixed /exportCVT command to export correct request amounts
04.11.2023 · 192 downloads
Added an internal property to all custom trades: UTID (Unique Trade ID)
Added /addCVT command, you can now add trades ingame!
Added /removeCVT command, this will remove CVT-ONLY trades.
02.11.2023 · 323 downloads
Added an internal property to all custom trades: UTID (Unique Trade ID)
- You do not need to put this in your config file. The mod will automatically add one.
- This is intended for use alongside the new commands, allowing you to remove trades using their UTID.
Added /addCVT command, you can now add trades ingame!
Added /removeCVT command, this will remove CVT-ONLY trades.