Description
RLCraft Villager Tomes
Teach a librarian the enchanted books you find, and it sells them back to you forever.
You found a Mending book. You used it once, on one tool, and that was the end of it.
Hand it to a librarian instead and it becomes a trade you can go back to — but you have to earn the room, and the book might not take.
Works out of the box. No dependencies, and clients do not need it installed.
This mod pairs well with my other mod: RLCraft Enchantment Recipes, craft enchanted books from RLCraft materials.
💬 Join the Discord — bug reports, recipe suggestions, and release pings. It's where I'm most responsive.

The loop
| Pay for a slot | Every librarian wants a list of items before it will hold a book. Deliver it. |
| Stack the odds | Feed it glowing powder, ingots or gems. Each one raises its chance. |
| Check where you stand | Sneak-click it empty-handed for the current odds and what it still wants. |
| Commit the book | Sneak-click with the book. It asks once, then rolls. |
Slots have a cost to unlock
A librarian starts with nothing and rolls its own demand for each slot.

Requests get longer and more expensive the more you unlock.

A request is cannot be re-rolled. If a villager wants something you cannot get, the answer is a different villager.
Five max slots per librarian by default.
Teaching is a dice roll
A librarian on its first slot accepts a book 30% of the time. Every slot it has opened adds an extra +10, at max level you can get a 70% base with 100% success chance.
Catalysts are used to increase roll chances:
| Glowing Powder | +1% |
| Glowing Ingot | +5% |
| Glowing Gem | +30% |

The maximum is 80% on a one-slot librarian and rises +5% per slot unlocked, reaching 100% on a five-slot villager. So preparation never quite guarantees the result on a young villager, and does on a villager you have paid into five times — which is the reward for committing to one rather than spreading books across a dozen.
Every attempt asks before it commits, and reports the odds while it asks.
Failure costs you
A failed roll destroys the book and everything you had banked.
Every attempt asks before it commits, and reports the odds while it asks.
Each failure adds +5% per level of the book that burned — losing a Sharpness V is worth 25, and a Sharpness I is worth 5 — tracked per villager and per enchantment. Failing Mending on one librarian makes Mending easier on that librarian only.
That bonus stacks on top of the maximum, not under it. Enough bad luck will carry a book past the maximum cap.
Levelling a trade up
Bring a book above what the villager already sells and the trade becomes that level.
So pushing a trade from Unbreaking II to III means buying two Unbreaking II from it, combining them at an anvil yourself, and bringing the III back. The anvil stays in the loop — a villager will not level itself up on copies of what it already sells.

A multi-enchantment book is attempted one line at a time. Only the top enchantment is gambled on, and only it is peeled off the book. A book of Unbreaking III, Mending and Efficiency V is three separate decisions, and either result leaves you holding the other two.
A book below what it sells is refused and handed straight back. So is a book for an enchantment the librarian already sells naturally — slots are too expensive to spend one taking over a trade it could already do.
The quest log
Sneak-click a librarian holding a book and quill and it becomes a quest log. Sneak-click with the log and that villager gets written into it: a name you choose, where it lives, and everything it still needs.

Naming a villager also sets its name tag, so the book and the world agree. Entries update as you deliver and cross themselves off when the slot is paid for. Ten villagers per book.

Sneak-click with the log while pointing at nothing and it lists every villager in chat with a [Remove] button on each, so an entry for a librarian that died or that you will never walk back to is one click to clear rather than a slot lost forever. /villagertomes log does the same thing.

It is a vanilla written book, not a custom item — which is the only reason this mod still works on a completely unmodded client.
Config
Six categories in config/rlcraftvillagertomes.cfg, or the in-game config screen. All read live; nothing needs a restart.
- learning — who can be taught, the tome cap, enchantment whitelist and blacklist, treasure and curse switches, level ceilings
- slots — whether slots lock at all, how requests grow, the per-slot band weights, quest log size
- chance — base, ceiling, per-slot growth, pity, the confirmation prompt, what a failure destroys
- bounties — the item list villagers demand from, with per-band and per-item quantities
- catalysts — which items raise the odds and by how much
- pricing — the emerald formula, the extra input item, trade stock, experience
- upgrading and feedback — levelling rules, messages, sounds, particles
152 bounty items ship configured, spanning vanilla, Ice and Fire, Lycanites, Defiled Lands, Trinkets and Baubles and others. Items not loaded mod registers are skipped silently, so the list is safe on any 1.12.2 pack — it simply asks for less.
Every setting is documented in the file itself, including what it is for, not just what it does.
Commands
/villagertomes — aliases /tomes, /vt — works on the villager you are looking at.
list |
What it knows and what each trade costs. Everyone. |
tiers |
The parsed item lists, and what the item in your hand counts as. Everyone. |
unlock [n] |
Open slots without paying. Op. |
bank |
Set banked chance outright. Op. |
pity |
Set what a villager owes on one book. Op. |
reroll |
Throw the current demand away and roll another. Op. |
teach / forget / clear |
Edit its tomes directly. Op. |
Things to know
Curing a zombie villager does not preserve tomes. A zombie villager is a different entity class, so the cured one is brand new with nothing learned. Protect your good librarians.
Librarians only, by default. Books are a librarian's business, and the grind this removes is rerolling one for the enchantment you want — not finding one in the first place. ALLOWED_PROFESSIONS opens it up. Note that cartographers share the librarian profession and are included.
All of it can be switched off. ENABLE_CHANCE restores guaranteed teaching and LOCK_SLOTS gives every villager its full allowance immediately — including ones already in your world. Between them you get the 1.x mod back.
Requirements
- Minecraft 1.12.2, Forge 14.23.5.2847 or newer
- No dependencies
Everything happens server-side. Clients do not need the mod installed, and there are no custom packets.
Install
Download the jar and drop it in your mods folder. Delete any older version first — two copies will crash on startup with a duplicate mod id.
Unofficial addon, not affiliated with the RLCraft or RLCraft Dregora teams. Licensed MIT.
