Custom Villager Trades is a game-mechanics utility mod that lets you create and control your own villager trade pools through JSON configuration for Minecraft on Fabric and Forge. It focuses on expanding and managing vanilla-style trading instead of replacing the villager system entirely.
Vanilla villager trading can feel restrictive once you start building long-term worlds, challenge packs, or progression-heavy servers. This mod solves that by letting you decide exactly what villagers can offer, how random those offers should be, and whether default trades stay or get replaced. With more than 5,657,226 Modrinth downloads (well over 6 million in community terms), it has clear social proof among players who want practical control of Minecraft's trading loop.
Key Features of Custom Villager Trades
- JSON-based trade creation for basic and advanced setups — You can define trades in JSON, which makes changes predictable and versionable for modpacks. This matters because it is easier to audit balance decisions when every trade rule is written in plain config files. It also supports both straightforward listings and more advanced randomized behavior, so you can scale complexity over time.
- Per-profession trade files — The mod expects one config file per villager profession (excluding nitwit), which keeps your setup organized. That structure helps you tune progression role by role instead of editing one giant file. For players, this usually means cleaner pacing because each villager type can be balanced for a specific purpose.
- Global trade controls — In addition to profession-specific files, there is global configuration support, including a dedicated
config/cvtGlobal.json. This is useful when you want shared rules without duplicating settings across many files. In practice, it reduces maintenance effort when updating a larger modpack. - Randomization for items, amounts, and enchantments — The mod's randomization options let trades feel less repetitive across worlds and villagers. That matters for replayability: players cannot always rely on the exact same route to high-value items. Recent updates also added support for using
"none"as an enchantment key, so enchantments can be optional rather than guaranteed. - Trade injection with optional removal of existing offers — After validating configs, the mod injects your custom trades into the villager trade loading process. If enabled, it can also remove other trades, which is important for tightly curated progression systems. This gives creators the choice between "add-on" balancing and full economic redesign.
- First-run setup with example configuration — On first launch, the mod creates its config directory and provides an example file. That onboarding flow matters because you can start from a known format instead of guessing schema details from scratch. It appears to be a practical starting point for users new to JSON-driven economy mods.
Screenshots
How to Install Custom Villager Trades
- Install the correct mod loader for your setup: Fabric Mod Loader or Minecraft Forge.
- Download the Custom Villager Trades file that matches your exact Minecraft version (for example 1.20.4, 1.20.3, or 1.20.1) and chosen loader.
- Place the mod JAR into your Minecraft
modsfolder, then launch the game once to generate initial config files. - Open the
config/custom villager tradesdirectory and edit or add JSON files per profession, plus optional global settings inconfig/cvtGlobal.json. - Restart Minecraft and test villager offers in a creative test world before using the setup in your main world or pack.
Requirements & Compatibility
| Item | Details |
|---|---|
| Mod Type | Fabric, Forge |
| Required Loader | Fabric Mod Loader or Minecraft Forge |
| Supported Minecraft Versions | 1.20.4, 1.20.3, 1.20.2, 1.20.1, 1.19.2, 1.18.2, 1.16.5 |
| Category | Minecraft Mods (game-mechanics, management, utility) |
| Author | SpaceCat97 |
What's New
- Added support for using
"none"as an enchantment key, allowing trades that may have no enchantments. - Added a new global config file at
config/cvtGlobal.jsonand introduced anopLeveloption for command permission level (default 2). - Added wanderer trades to export and re-added the "basic" semi-random feature.
- Changed tipped arrow handling so it behaves consistently with normal potion logic.
- Fixed multiple issues including
amountRange, potion NBT handling, first-load directory creation (Fabric case), trade export bugs, and validation for tipped arrows.
Pros and Cons
Pros
- Very high control over villager economy design through JSON.
- Works on both Fabric and Forge across several Minecraft versions.
- Supports both profession-specific and global configuration workflows.
- Useful for modpack balancing, progression gating, and custom server rules.
Cons
- Requires manual config work, which may feel technical for casual players.
- No source URL is listed in the provided data, so implementation details are less transparent.
- Best results usually require testing cycles to avoid overpowered or underpowered trade pools.
Alternatives to Custom Villager Trades
- Easy Villagers — A complementary approach for players who want villager management convenience alongside trade-focused customization.
- More Villagers Mod — A common companion choice if you want to broaden villager gameplay while keeping trading central to progression.
- Trading Post Mod — Useful when you want faster trade discovery and quality-of-life tools to pair with a customized trade economy.
Download Custom Villager Trades
| Minecraft Version | Fabric | Forge |
|---|---|---|
| For Minecraft 1.20.4 | Download | Download |
| For Minecraft 1.20.3 | Download | Download |
| For Minecraft 1.20.2 | Download | Download |
| For Minecraft 1.20.1 | Download | Download |
| For Minecraft 1.19.2 | Download | Download |
| For Minecraft 1.18.2 | Download | Download |
| For Minecraft 1.16.5 | Download | Download |
Always download mods from official sources to stay safe.
Frequently Asked Questions
Does Custom Villager Trades work on both Fabric and Forge?
Yes — it supports both Fabric and Forge based on the provided version listings. You should still match the correct file to your exact Minecraft version and loader before launching.
Can I replace vanilla villager trades instead of only adding new ones?
Yes — the mod can inject custom trades and can also remove other trades if that option is enabled. This makes it suitable for full economy overhauls, not just small additions.
Where are the configuration files located?
The files are in the config/custom villager trades directory. On first launch, the mod creates that folder and includes an example file to help you start.
Do I need one config file for every villager profession?
Yes — the intended structure is one file per profession, with nitwit excluded. This layout keeps each villager role separated, which simplifies balancing and troubleshooting.
Is this mod only for modpack creators, or can regular players use it too?
Both — regular players can use it, but it is especially valuable for modpack authors and server admins. If you are comfortable editing JSON, you can build a highly tailored trading experience even in a personal world.
Does the mod include global settings beyond per-profession trades?
Yes — it includes global configuration support via config/cvtGlobal.json. The changelog also notes a global opLevel setting for command permission requirements.
