Villager Chess
Ever wondered if that Master-level librarian is actually smart? Challenge them to chess and find out.
Open any villager's trade screen and hit Play Chess. A full chess board opens right there - no items, no commands, no setup. You always play White.
How strong are they?
A villager's trading level sets its chess strength:
| Villager level | Chess strength |
|---|---|
| Novice | Hangs pieces, misses mates |
| Apprentice | Punishes only blatant blunders |
| Journeyman | Solid club beginner |
| Expert | Strong; rarely errs |
| Master | Near-unbeatable |
So a fresh Novice is a free win - but if you want a real fight, trade one up to Master first.
How to play
- Click a piece, then click one of its highlighted squares.
- Pawns reaching the last rank open a promotion picker.
- Full rules are enforced: castling, en passant, threefold repetition, the 50-move rule, and insufficient-material draws.
- Resign with the button, or just close the board. Walking more than 16 blocks away, the villager dying, or disconnecting abandons the game.
- No stakes, no rewards - just for fun (and bragging rights).
Under the hood
- A from-scratch pure-Java chess engine: 0x88 board, full move legality, Zobrist hashing - move generation verified against perft reference counts.
- Negamax search with alpha-beta pruning, iterative deepening, and quiescence, on a background thread so the server never stutters.
- Fully server-authoritative: the server owns all game state; clients only send move attempts.
Compatibility
Plays nicely with the other Villager Games mods - the trade-screen buttons stack instead of overlapping. Requires Fabric API.
Requirements
- Minecraft 26.2
- Fabric Loader 0.19.3+ and Fabric API
- Java 25
- Install on both client and server (works in singleplayer out of the box)