Villager Trade Reroll #
Villager Trade Reroll allows players to reroll villager trades directly from the vanilla trading UI, without breaking job site blocks.
✨ Features
- Reroll villager trades directly from the trade screen
- No job site block breaking or replacement
- Uses Mojang’s native trade generation (no hardcoded trades)
- Reroll option appears as a villager trade for a vanilla feel
- No commands or custom GUIs
- No NMS or packet hacks (future-proof)
❓ How It Works
Open a villager’s trade UI
- Scroll to the bottom
- Use the trade:
- 1 Emerald → 🔁 Reroll Trades
- The villager’s trades are regenerated using vanilla logic
- The trade UI refreshes automatically
🔴 Keep in Mind ❗❗
- This needs atleast one emerald to work
- Reroll does not consume any emeralds
🧠 Why a Trade-Based Reroll?
- Minecraft does not allow:
- Buttons inside the villager UI
- Zero-ingredient trades
- Client-side override of merchant validation
To remain fully vanilla-safe and cross-version compatible, rerolling is triggered through a real villager trade. This is the only reliable and future-proof method supported by the game.
📦 Compatibility
Supported loaders
- Paper,
- Purpur,
- Supported Minecraft versions -
- 1.21.4 - 1.21.11 (Latest release)
⚠️ Known Behavior
- After rerolling, the mouse cursor may reset to the center.
- This is vanilla client behavior caused by reopening the trade UI and cannot be controlled by plugins.
📁 Designed for Stability
- VillagerTradeReroll:
- Does not replace villagers
- Does not modify job site blocks
- Does not fake enchantments
- Automatically adapts to future trade changes
🔮 Planned Improvements
- Configurable reroll cost
- Cooldowns per villager
- Permission-based access
- Config.yml support
- Expanded version support when stable
All Versions
+ Add Version- Flicker-Free Rerolls**: Bypassed the standard open-window logic to update the villager trades in-place. The trading menu no longer briefly closes and flashes black when you reroll.
- Cursor Lock**: Your mouse cursor will no longer reset to the center of the screen when rerolling. It stays exactly where you clicked, allowing for fast, continuous rerolling.
- Modernized Platform Support**: Re-targeted and built for Paper 26.1.2 - 1.21.6 using Mojang-mappings (NMS) and Java 21.
Fixed trades generating empty after reroll — Fresh vanilla trades are now read correctly from a temporary villager after the required server tick, preventing cases where rerolled trades would appear blank.
Fixed exploit: reroll trade persisting after plugin removal — The custom "Reroll Trades" slot is now automatically stripped from all loaded villagers when the plugin is disabled or removed, preventing players from trading a Nether Star for 1 Emerald.
- Initial release of VillagerTradeReroll
- Reroll villager trades directly from the vanilla trade UI
- Uses true vanilla trade generation (no hardcoded trades)
- Job site blocks are not broken or replaced
- Adds a native reroll option as a villager trade
- No commands or custom GUIs required
- Safe and future-proof (no NMS or packet hacks)
Tested on:
- Paper 1.21.4 – 1.21.11 (latest)
<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/U5Hz_D1yhrA" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>