Skip to main content

Rolling is game behaviour, not a number in a file: the trades it produces are the ones this site lists, and those are checked daily against the game's own data. How that check works.

Back to Trades

VILLAGER ROLLING GUIDE

How to reset villager trades and re-roll until you get the exact enchantment or trade you want. This is the key technique for building a perfect trading hall.

How Trade Rolling Works

When a villager first claims a workstation, they randomly select trades from their profession's trade pool for their current level. If you don't like the trade they offer, you can force them to pick a new random trade.

The key rule:

A villager's trades can only be reset if they are still at Novice level and you have never traded with them. Once you complete any trade, their offers are locked permanently.

That is also why rolling has to happen before the first trade: trading is what earns the career XP that pushes a villager off Novice. The game asks for 10, 70, 150, 250 cumulative XP for the 4 tiers above it, so the window closes quickly. Restocking is capped in the same code: at most 2 restocks per in-game day, and at least 2400 ticks (120 seconds) between them.

Both figures were read out of Minecraft Java 26.2 itself: VillagerData.NEXT_LEVEL_XP_THRESHOLDS and Villager.allowedToRestock. How that check works.

What One Roll Is Worth

A villager never shows its whole trade table. Each tier has a pool of possible offers and the game draws a fixed number out of it, so a trade you can see on this site is not a trade you are going to get. The table below is that draw for all 13 professions, straight out of the game's own trade set files: how many offers a tier can hold, and what share of villagers therefore have any one of them.

Offers drawn out of the pool per profession and tier, Java 26.2
ProfessionNoviceApprenticeJourneymanExpertMaster
Armorer2 in 5 40%2 in 4 50%2 in 5 40%2 in 2 100%2 in 2 100%
Butcher2 in 4 50%2 in 3 67%2 in 2 100%1 in 1 100%1 in 1 100%
Cartographer2 in 2 100%2 in 8 25%2 in 3 67%2 in 16 13%2 in 2 100%
Cleric2 in 2 100%2 in 2 100%2 in 2 100%2 in 3 67%2 in 2 100%
Farmer2 in 5 40%2 in 3 67%2 in 2 100%2 in 2 100%2 in 2 100%
Fisherman2 in 4 50%2 in 3 67%2 in 2 100%1 in 1 100%2 in 6 33%
Fletcher2 in 3 67%2 in 2 100%2 in 2 100%2 in 2 100%2 in 3 67%
Leatherworker2 in 3 67%2 in 3 67%2 in 2 100%2 in 2 100%2 in 2 100%
Librarian2 in 3 67%2 in 3 67%2 in 3 67%2 in 4 50%2 in 2 100%
Mason2 in 2 100%2 in 2 100%2 in 7 29%2 in 33 6.1%2 in 2 100%
Shepherd2 in 5 40%2 in 37 5.4%2 in 21 9.5%2 in 22 9.1%1 in 1 100%
Toolsmith2 in 5 40%2 in 2 100%2 in 5 40%2 in 3 67%1 in 1 100%
Weaponsmith2 in 3 67%2 in 2 100%1 in 1 100%2 in 2 100%1 in 1 100%

Read a cell as offers drawn out of offers possible. Where the two are equal there is nothing to roll for: every villager of that tier shows the lot, and 33 of the 65 tiers on this site are in that position. Rolling only ever pays off in the other 32.

The wandering trader rolls the same way

Every trader draws 5 of the 76 offers in this pool, so any one of them is on 6.6% of traders and a specific one takes about 15.2 traders to turn up. Bedrock draws 5 of 76 here as well. Counted from the game's own draw sizes. How that check works.

Every trader draws 2 of the 15 offers in this pool, so any one of them is on 13% of traders and a specific one takes about 7.5 traders to turn up. Bedrock draws 2 of 15 here as well. Counted from the game's own draw sizes. How that check works.

Every trader draws 2 of the 6 offers in this pool, so any one of them is on 33% of traders and a specific one takes about 3 traders to turn up. Bedrock draws 2 of 6 here as well. Counted from the game's own draw sizes. How that check works.

Bedrock does not roll the same way

Everything above is Java. Bedrock ships its trades as a behaviour pack rather than a jar, and that pack does not give a tier one pool: it cuts each tier into groups and draws out of every group separately, with the draw written next to the group as num_to_select. One offer per group is therefore guaranteed where Java can hand you two out of the same corner of the table.

It changes the odds on 116 of the 170 trades that both editions state a draw for. A novice farmer is the clearest case: Java draws 2 of its 5 novice offers, so each crop it buys is on 40% of them, while Bedrock draws 1 of the 4 crops and 1 of the 1 bread trade, which puts each crop on 25% and the bread on every single farmer. The trader is the exception: both editions draw 5 of 76 common, 2 of 15 uncommon and 2 of 6 buying.

Every item page carries the Bedrock chance under the Java one, and every tier on a job page says which groups Bedrock builds it from. What Bedrock does not publish is its code, so nothing here says how often it restocks or what a cure is worth in reputation: those two stay Java-only on this site.

Mending, And Every Other Book

A novice librarian draws 2 of the 3 offers in its pool, so the book trade itself is there 67% of the time. The trade then picks one of the 40 enchantments in #minecraft:tradeable flat, which puts Mending at 1 in 40 per book trade and 1 in 60 per fresh librarian, or about 60 workstation resets. That number is not fixed for all time: it is the length of an enchantment tag, and it grows every time the game gains an enchantment.

Chance of each enchanted book from a librarian, Java 26.2
BookLevelsPer book tradePer novice librarianTop level, per librarian
Aqua Affinity1 to 11 in 401 in 60same
Bane of Arthropods1 to 51 in 401 in 601 in 300
Curse of Bindingdouble price1 to 11 in 401 in 60same
Blast Protection1 to 41 in 401 in 601 in 240
Breach1 to 41 in 401 in 601 in 240
Channeling1 to 11 in 401 in 60same
Density1 to 51 in 401 in 601 in 300
Depth Strider1 to 31 in 401 in 601 in 180
Efficiency1 to 51 in 401 in 601 in 300
Feather Falling1 to 41 in 401 in 601 in 240
Fire Aspect1 to 21 in 401 in 601 in 120
Fire Protection1 to 41 in 401 in 601 in 240
Flame1 to 11 in 401 in 60same
Fortune1 to 31 in 401 in 601 in 180
Frost Walkerdouble price1 to 21 in 401 in 601 in 120
Impaling1 to 51 in 401 in 601 in 300
Infinity1 to 11 in 401 in 60same
Knockback1 to 21 in 401 in 601 in 120
Looting1 to 31 in 401 in 601 in 180
Loyalty1 to 31 in 401 in 601 in 180
Luck of the Sea1 to 31 in 401 in 601 in 180
Lunge1 to 31 in 401 in 601 in 180
Lure1 to 31 in 401 in 601 in 180
Mendingdouble price1 to 11 in 401 in 60same
Multishot1 to 11 in 401 in 60same
Piercing1 to 41 in 401 in 601 in 240
Power1 to 51 in 401 in 601 in 300
Projectile Protection1 to 41 in 401 in 601 in 240
Protection1 to 41 in 401 in 601 in 240
Punch1 to 21 in 401 in 601 in 120
Quick Charge1 to 31 in 401 in 601 in 180
Respiration1 to 31 in 401 in 601 in 180
Riptide1 to 31 in 401 in 601 in 180
Sharpness1 to 51 in 401 in 601 in 300
Silk Touch1 to 11 in 401 in 60same
Smite1 to 51 in 401 in 601 in 300
Sweeping Edge1 to 31 in 401 in 601 in 180
Thorns1 to 31 in 401 in 601 in 180
Unbreaking1 to 31 in 401 in 601 in 180
Curse of Vanishingdouble price1 to 11 in 401 in 60same

Per book trade is one pick out of the 40 enchantments in #minecraft:tradeable. Per novice librarian folds in the 2 in 3 chance that the book trade is one of the offers the villager drew at all. The last column adds the level roll, which is why a Mending book, with its single level, beats every multi level enchantment on this list. Counted from the game's own draw sizes. How that check works.

Step-by-Step Process

1

Get an Unemployed Villager

Find or breed a villager that has no profession (brown coat). They should have the green particle effect showing they are unemployed.

2

Place the Workstation

Place the workstation block for the profession you want near the villager. For Librarian, place a Lectern. The villager will claim it and become that profession.

3

Check the Trade

Open the villager's trading interface and check what they're offering. For a Librarian, check which enchanted book they have.

4

Break the Workstation (if bad trade)

If the trade isn't what you want, break the workstation block. The villager will lose their profession and become unemployed again. DO NOT trade with them first.

5

Replace and Repeat

Place the workstation again. The villager will re-claim it with a new random trade. Repeat steps 3-5 until you get the trade you want.

6

Lock the Trade

Once you see the trade you want, complete at least one trade with the villager. This permanently locks all their current and future trades.

Tips for Efficient Rolling

  • -Trap the villager in a small space (1x1 with the workstation) so they reclaim it instantly.
  • -Villagers can only claim workstations during their "work schedule" (approximately 2000-9000 in-game ticks after dawn). If rolling stops working, wait for the next work cycle.
  • -Make sure no other unclaimed workstation of the same type is nearby, or another villager might claim it first.
  • -In Bedrock Edition, the villager needs to be able to pathfind to the workstation. In Java Edition, they only need line of sight. This one is community knowledge rather than something read out of a file: Bedrock's pack holds its trades, not its pathfinding.
  • -For Librarians: work out the odds before you start. They are in the two tables further down this page, and they are not the same for every book.

Common Mistakes

  • xTrading before checking: Any completed trade permanently locks the villager's offers. Even buying 1 item locks everything.
  • xBreaking the wrong workstation: Make sure you're breaking the workstation that specific villager is linked to. Use the green particles to confirm.
  • xRolling at night: Villagers don't work at night or while sleeping. They won't reclaim workstations during rest hours.
  • xToo many workstations: If there are multiple unclaimed workstations, villagers may claim a different one than you expect.