Villager Trade Editor - Custom Trades for Java and Bedrock

Start from any villager's real trades, change prices, items and levels, check them on the trading screen, and download a Java data pack or a Bedrock add-on.

Version

Librarian

0 trades in 0 levels. Unchanged.

Loading the Java trades...

Your changes

Nothing changed yet. Edit a trade or use a quick change and it shows up here.

This changes every villager with the job. For one villager with its own trades, the villager summon generator writes a /summon command instead.

  1. Put the .zip in your world's datapacks folder (Edit World, then Open World Folder).
  2. Join the world, or run /reload if it's already open.
  3. Villagers keep the trades they already have. New trades show up for villagers who take a job or level up afterwards.

The game's own trades, editable

Every profession opens on the trades the game ships. On Java that's the version you pick, 26.1 or newer, where each trade is its own data file and each level is a trade set that hands a villager some of them. On Bedrock it's the trade tables from 1.26.52. A few of those come in Mojang's compiled format rather than JSON; they were decoded and checked against Mojang's own published copies.

The Java download is a data pack that replaces the edited professions' trade sets and adds a file for each changed trade, so untouched professions stay vanilla. It was tested on a 26.3 server: a librarian set to Always Mending with every trade offered came out with exactly those trades and a Mending book at 26 emeralds. The Bedrock download is a behavior pack with the edited tables at the vanilla paths, which is how Bedrock lets a pack replace them; every table the editor can write loaded on a Bedrock Dedicated Server without a content error.

Levels, groups and XP

A villager starts at Novice and needs 10 villager XP for Apprentice, 70 for Journeyman, 150 for Expert and 250 for Master. Each trade adds its villager XP when a player uses it, so raising the XP makes villagers level up faster. Bedrock keeps those thresholds in the trade table, so you can lower them too; Java has them in the game itself. For the trades as they are now, with the differences between editions, see the villager trades list, and for a single villager with its own trades, the summon villager generator.

Frequently Asked Questions

How do I use the custom trades?

On Java, put the .zip in your world's datapacks folder (Edit World, then Open World Folder) and join the world, or run /reload if it's already open. On Bedrock, open the .mcaddon to import it and turn its behavior pack on in the world's settings. Either way, villagers that already have their trades keep them, so try the new ones on a villager that hasn't taken the job yet or levels up afterwards.

Which Java versions does the data pack work in?

26.1 and newer. That's the release where villager trades moved out of the game's code into data files a pack can replace. For an older version, give one villager custom trades with a /summon command instead.

Can I give just one villager its own trades?

Not with a pack: it changes every villager with that job. The summon villager generator writes a /summon command for a single villager with exactly the trades you list, on any Java version.

What does price change with demand do?

It sets how far the price climbs when players use a trade a lot. On Bedrock it's the price_multiplier on the first item the player pays; on Java it's reputation_discount, which also scales the discounts from curing a zombie villager and Hero of the Village. Set it to 0, or use Fixed prices, for a price that never moves.

Why does a villager offer only some trades at each level?

Each level is a set of trades the villager picks from at random. A Java Novice librarian gets 2 of its 3 trades, which is why two librarians can sell different things. Raise "Each villager gets" to all, or use Offer every trade, to give every villager all of them. The trading screen preview rolls the picks the same way, and Roll again shows another villager.

Can I change the wandering trader?

Yes, pick Wandering Trader from the list. It has no levels, just sets: on Java each one that spawns gets 2 of 6 buying trades, 5 of 78 common ones and 2 of 16 uncommon ones; on Bedrock it picks 2, 2 and 5 from its three groups.

What happens to enchanted books and dyed armor trades?

They keep the vanilla settings that make them random, like which enchantment a book gets and what it adds to the price, and you can still change what the player pays, the uses and the XP. On Java, Always Mending makes every librarian's book trade Mending, priced like any Mending book at 10 to 38 emeralds.

Villager Trade Editor - Custom Trades for Java and Bedrock