**Still frustrated by the hidden trades of those shady villager merchants?**
Wish you could preview the treasures they’ll offer before leveling them up? The **Villager Trade Preview** datapack is the pure vanilla solution you’ve been waiting for!
#### **📖 Overview**
Inspired by the popular mod Visible Traders, this datapack has been redesigned specifically for **pure vanilla environments** (such as Vanilla, Paper, Spigot servers, and single-player worlds). It allows all players (without needing to install any mods) to directly preview **all future trades (levels 2-5)** that a villager will unlock, simply by interacting with them at **level 1**.
#### **✨ Key Features**
* **🔮 Trade Preview**: When interacting with a level 1 villager, their trading interface will directly display all the trades they will unlock upon leveling up (shown in a locked/unavailable state).
* **⚙️ Server-Side Only**: **Requires no mods or resource packs on the player’s side.** Simply install this datapack on your server (or in your single-player world), and all players using the vanilla client can enjoy the preview function. Perfectly compatible with major server software like Vanilla, Paper, Spigot, and single-player worlds.
* **🌿 Fully Compatible**: Works with all vanilla villager professions and biome variants.
* **🔄 Plug and Play**: Both existing villagers and newly generated ones in your server/world will automatically gain the trade preview feature after installation.
#### **💡 Difference from the Mod**
Unlike the `Visible Traders` mod, which requires installation on both client and server, this datapack is designed specifically for **pure vanilla server-side environments** (or single-player) where mods cannot be installed. It achieves the core functionality through the datapack system, allowing vanilla players to enjoy the convenience of previewing future trades. It’s perfect for survival or commercial servers that primarily rely on plugins and datapacks.
#### **📥 Installation Guide**
1. Download the datapack file (`.zip`).
2. Place the file into the `world/datapacks` folder of your server or single-player world save.
3. Restart the server.
4. Done! Your villagers’ trades are now more transparent and engaging!
## ⚠️ Important Note
This datapack is **not directly associated with** the `Visible Traders` mod. It is an independent project inspired by it and developed specifically for vanilla environments.


Enhance your Minecraft experience with the Villager Trade Expansion datapack! This pack introduces a wide array of new trades for villagers across various professions, adding depth and diversity to your in-game economy. From custom trades for armorsmiths offering diamond armor pieces to brewers selling potent potion effects, each villager profession now offers unique and valuable items in exchange for resources. Whether you’re a seasoned player looking for fresh challenges or a newcomer seeking enhanced gameplay, Villager Trade Expansion is sure to enrich your Minecraft world.
## new armorer trades
adds trading 20 iron ingots for 1 armor piece
## new brewer trades
adds 3 new trades
2 diamonds for random potion effects
## new trade for toolsmith
20 iron ingots for 1 diamond tool
### i will add more villager trades soon in more updates
Villager Shop Edit in SURVIVAL (Villager Trades Edit)
**_Only the server or hoster needs to set up_**
– Addition’s villagers cannot participate in any farm
– Addition’s villagers cannot pick up items on the ground
– Addition’s villagers do not take damage and zombies do not attack
> Set the maximum number of items a villager can sell (set only at the beginning)
– /scoreboard players set maxstok varilshop-genel “#”
– “#”: Maximum number of items a villager can sell (1-27)
A fully customizable villager shop for players! Now you can craft the Villager Shop item, after placing the Villager Shop you will receive a Key, that’s Key is for access to the Villager Shop Menu, in the menu you can config their trades, profession, biome, rotation, glowing, and the option to remove the Villager Shop too!
—
## ❗Compatibility
– Compatible with Claims!
—
## ⌨️ Commands
Give villager shop:
“`mcfunction
/loot give @s loot villager_shop:villager_shop
“`
Uninstall:
1. Run `/function villager_shop:uninstall`.
2. Run `/datapack disable `.
3. If there any entity of Villager Shop left, run `/kill @e[tag=villager_shop.entity]`.
—
## 🪪 License
– AGPL-3.0-or-later
—
## 👾 Bugs/Issues
Please report any problem/bug/issues in the Discord Server.
—
## 💌 Donate
– Donate on Ko-Fi
– Donate on PayPal
—
## 🎁 Server Hosting
Creating your own server can be a very lengthy, tedious and costly process.
But with BisectHosting, you get your own server in just a couple of clicks! With their 24/7 support and fast-response time, no issues shall stand in your way!
Interested? Then we’ve got a deal for you!

Villager Retaliation! is a Vanilla+ NeoForge mod that makes villagers and wandering traders less helpless without turning villages into warzones.
Adult villagers can defend themselves, react to crimes they witness, use profession-based combat roles, and remember how each player treats them through a personal reputation system.
– Attack a villager and that villager can fight back
– Kill a villager in public and nearby villagers may rally
– Player-placed lava and fire can count as aggression for a short attribution window
– Build trust through trade and positive village defense
– Lose trust through attacks, witnessed crimes, and village harm
– Make villagers suspicious, hostile, despised, or feared if you push things too far
– Keep babies defenseless and nitwits cowardly as intended

## Main Features
### Retaliation
Villagers are neutral instead of purely passive.
By default, hitting a villager only angers that villager. Killing an adult villager can anger nearby adult villagers if they can witness it. Anger expires after a configurable duration, and creative/spectator players can be ignored.
Villagers and wandering traders can also block trading while hostile. Hostile villagers can be pacified with emeralds, unless your reputation has fallen too low.
### Reputation
Reputation is tracked per villager and per player.
That means one villager can trust you while another despises you. Reputation can affect trade prices, pacification, anger duration, fleeing, despised attack-on-sight behavior, cleric support, and advancement progression.
Reputation changes are configurable. By default, direct villager hits are punished more than witnessed hits, villager kills are punished heavily, and player-attributed lava/fire damage counts for half the normal reputation penalty.

### Profession Combat
Villagers fight in ways that match their profession.
| Profession | Behavior |
| — | — |
| Weaponsmith | Uses stronger melee behavior with swords |
| Armorer | Can fight defensively, gain resistance, and use shields in hard mode |
| Toolsmith | Uses tool-based melee |
| Mason | Uses mining-tool style melee |
| Butcher | Uses axe-based melee |
| Fletcher | Uses bows or crossbows |
| Farmer | Can defend themselves and heal with bread |
| Cleric | Uses potions for defense, attacks, and ally support |
| Librarian | Can fight with book-themed |
| Nitwit | Usually flees unless holding a usable weapon |
Fletchers and other villagers holding ranged weapons can use bows, crossbows, and tridents. Crossbows use charge/hold/fire states, and tridents use a thrown attack.
### Cleric Support
Clerics have the most advanced combat role.
They can drink defensive potions, throw harmful or slowing splash potions, avoid friendly splash damage where possible, heal injured villagers and wandering traders, and support trusted-or-better players.
Passive cleric healing has configurable range, health threshold, and line-of-sight rules.
### Hazard Attribution
Player-placed hazards can count as aggression.
If a player places lava, uses flint and steel, or uses a fire charge, nearby lava/fire damage can be attributed to that player for a short window. This allows “accidental” environmental attacks to still matter for retaliation, reputation, and advancements.
The default attribution window is 2 real-time minutes. Natural lava, old hazards, worldgen hazards, and untracked hazards are not meant to count.

## Reputation Behavior
Higher trust can reduce anger duration, improve trade pricing, and unlock helpful cleric support.
Lower trust can make villagers more dangerous or less willing to deal with you:
– Suspicious villagers apply negative trade pressure
– Hostile villagers can harass you with eggs or poisonous potatoes
– Despised villagers can attack on sight when enabled
– Feared villagers visibly react when you get close
– Despised or feared villagers may refuse emerald pacification
– Babies, nitwits, and non-combat villagers can flee from hated players
## Loot
Villager Retaliation! adds configurable drops for villagers and wandering traders.
– Villagers can drop emeralds and bread
– Adult villagers can roll profession-themed loot
– Combat weapons can drop at configurable rates
– Baby villager loot is disabled by default
– Wandering traders can drop emeralds, invisibility potions, and safe copies of current trade results
Profession loot generally requires player kill credit by default.
## Advancements
The mod includes a full reputation advancement tab.
All Advancements (Click to Expand)
| Advancement | Type | Criteria | Hidden |
| — | — | — | — |
| Village Relations | Task (Tab Root) | Automatically granted when any Villager Retaliation advancement is awarded. | No |
| Commonfolk | Task | Interact with any villager, or enter a village. | No |
| I’m Sorry! | Task | Pacify a hostile villager with emeralds. | No |
| A Familiar Face | Task | Reach Trusted reputation with any villager. | No |
| Respect Is Earned | Task | Reach Respected reputation with any villager. | No |
| Friend of the Village | Goal | Reach Trusted with 5 villagers in one village area. | No |
| Local Legend | Challenge | Reach Revered reputation with any villager. | No |
| Crowned by the Village | Challenge | Reach Royalty reputation with any villager. | No |
| Second Chance | Goal | Cure a zombie villager that retains known reputation data for you. | No |
| The Village Remembers | Goal | Move from Suspicious or lower back to Neutral or higher. | No |
| Bad First Impression | Task | Reach Suspicious reputation with any villager. | No |
| Hands Off | Task | Damage a villager. | No |
| The Village Has Eyes | Goal | Harm or kill a villager while at least 3 adult villagers can witness it. | No |
| Marked | Challenge | Reach Feared reputation with any villager. | No |
| Village Enemy | Challenge | Have 5 or more villagers targeting you at the same time. | No |
| Mob Justice | Challenge | Have 8 or more villagers targeting you at the same time. | No |
| Regular Customer | Goal | Complete 10 trades with the same villager. | No |
| Community Support | Goal | Trade with 5 different villagers in one village area. | No |
| Price of Trust | Goal | Reach a positive trust tier with a villager after trading with them. | No |
| Refused Service | Task | Attempt to trade with a villager that blocks interaction due to low reputation. | No |
| Hero, Not Menace | Goal | While distrusted by nearby villagers, gain positive reputation by defending against hostiles. | No |
| An Unwise Decision | Goal | Damage an iron golem associated with a village. | No |
| Peace Offering | Challenge | After being Hostile or worse with a villager, return to Neutral or higher with that villager. | Yes |
| Accidentally, Of Course | Challenge | A villager dies from a player-attributed environmental hazard without direct player damage. | Yes |
This sets nearby villagers’ and wandering traders’ reputation toward the executing player. It is mainly useful for testing tiers, trade pricing, despised behavior, feared behavior, pacification, and the debug overlay.
There is an optional client-side debug overlay for testing reputation.
When enabled, it can show the villager’s reputation tier and/or exact reputation value above their head. It can be limited by distance, sneaking, or advanced tooltips.
This is disabled by default and is mainly intended for testing and balancing.
Villager Retaliation! is designed to work with vanilla villager systems rather than replacing villager entities.
– Built for NeoForge 1.21.1
– Uses vanilla-style entity events and AI memory adjustments
– Uses vanilla gossip integration where enabled
– Uses NeoForge item tags for weapon detection where possible
– Does not replace the villager entity type
Compatibility may vary with mods that heavily replace villager AI, trading, combat, or entity classes.
## Version and Loaders
– NeoForge 1.21.1 – active development
– Forge – not planned anytime soon, don’t ask please 🙂
– Fabric – possible future port, not anytime soon
– Older Minecraft versions – not planned
– Eventually, will skip straight to 26.1/whatever the newest standard will be for modding.
You may use this mod in modpacks, videos, servers, and other projects. A link back to the Modrinth page is appreciated.
## Credits
Created by me 😀
## License
This project is licensed under the **GNU General Public License v3.0**.
Feel free to use this mod in modpacks, videos, etc. Just provide a link back to this page if possible 🙂
Looking to port the mod to your favourite loader/version outside of my scope? Feel free to, and let me know so I can add a sub-section to direct users to it!
For any general queries/unlisted questions, DM me on Twitter (@prodbyjvn) / Discord (ijvn).
⚠ This mod ONLY exists on Modrinth & CurseForge as of May 2026. Any sites hosting this mod outside of Modrinth/CurseForge are not official releases. ⚠
Villager Restocker
Villager Restocker is a lightweight and user-friendly Minecraft mod designed to give players and server administrators full control over villager trading behavior. With easy to use commands, you can instantly restock villagers or schedule a restock at any time using seconds, minutes, or hours. The mod also includes optional notification controls, allowing you to hide or show restock messages for a cleaner and more customized gameplay experience. It is especially useful for trading halls, multiplayer servers, and survival worlds where villager management is important.
**How to Use**
Trigger a Restock
**Use the following command:**
/villager restock
**Examples:**
/villager restock 10s → Restock in 10 seconds
/villager restock 1m → Restock in 1 minute
/villager restock 2h → Restock in 2 hours
**Supported time formats:**
s = seconds
m = minutes
h = hours
**Show or Hide Restock Messages**
**To hide the message “Villagers have been restocked”:**
/villager hide
**To show the message again:**
/villager show
Villager Reset
# VillagerReset
VillagerReset is a dual-platform Minecraft server project that provides villager trade cycling features for:
– Paper 1.21.x plugin
– Fabric 1.21.11+ (Mojmap) server mod
– Adds two special villager trade entries (before villager is locked by a normal purchase):
– `Cycle Trades` option (barrier icon): rerolls villager trades for emerald cost.
– `Profession Swap` option (head icon): swaps to a random profession for emerald cost/chance.
– Special options are virtual actions (no barrier/head item goes to player inventory).
– Configurable max special uses before sold out; restocks like normal villager offers.
– Optional unemployed handling: pay a higher first-time cost to assign profession.
– Optional cure discount spread to villagers in configurable radius.
– OP/admin command for runtime config edits, status listing, enable/disable, and debug mode.
Licensed under `GNU General Public License v3.0` (GPL-3.0-only). See [LICENSE](LICENSE).
Villager Reroll
## 🔄 Villager Trade Reroll
Villager Trade Reroll adds a simple and intuitive way to reroll villager trades — but only before the first trade is made.
—
## ✨ Features
– Adds a **⟳ button** to the villager trading GUI
– Allows **unlimited rerolls** as long as no trade has been made
– Automatically **disables reroll after the first successful trade**
– Works with **all villager professions**
– Fully **server-side validated** (no cheating possible)
—
## 🧠 Behavior
– If you have **never traded** with a villager → reroll is available
– Once you trade **even once** → reroll is **permanently disabled**
– Reroll stays disabled even after:
– closing and reopening the GUI
– world reload
– villager → zombie villager → villager conversion
—
## ⚙️ Technical
– Loader: **Fabric**
– Minecraft version: **1.21.4-1.21.11**
– Lightweight and fully compatible with vanilla mechanics
—
## 🎯 Why I created this mod
Because I got tired of breaking and replacing the villager’s workstation just to reroll trades.
I also couldn’t find any mod that provides this feature for Minecraft 1.21.4, so I decided to create my own solution.
Villager Refresh
VillagerRefresh is a lightweight Minecraft plugin that solves the issue with villager trade refreshing when the `doDaylightCycle` gamerule is disabled. It periodically refreshes villager trades regardless of the day/night cycle, allowing players to continue trading and leveling up villagers normally.
## Features
– Automatically refreshes all villager trades at configurable intervals;
– Works with disabled `doDaylightCycle` gamerule;
– Preserves all trade properties (experience rewards, villager experience, price multipliers);
– Minimal performance impact;
– Simple configuration.
## Requirements
– Minecraft Server version 1.12.2-latest;
– Java 8 or higher;
– Bukkit-based core (Spigot, Paper, Purpur etc.).
## Installation
Download the latest release, place it in your server’s plugins folder and restart the server or use the `/reload` command.
The plugin will generate a default configuration file at `plugins/villager-refresh/config.yml`.
## Configuration
The plugin uses a simple configuration file (EXAMPLE of config.yml):
“`
# Trade update interval in minutes
refresh-interval-minutes: 20
# Log refreshes into console?
log-refreshes: true
“`
## Permissions
Plugin has permission `villagerrefresh.commands` to prevent regular players use plugin commands.
## Commands
– `/vrefresh reload` – reload config
– `/vrefresh set [minutes]` – set interval for refreshing villagers & reload config
Villager Rebalance
# Villager Rebalance
Villager Rebalance is a server-side Fabric mod that makes villager progression harder to exploit while keeping the mechanics configurable.
## Features
### Cure Discount Limits
Repeated zombie villager curing can remove an eligible trade after a configurable number of safe cures. This keeps one cure useful while reducing repeated cure abuse.
Config options:
– `curing.enabled`: enables the module.
– `curing.maxSafeCures`: cures allowed before penalties can happen.
– `curing.penaltyChancePercent`: chance that an excess cure removes one trade.
– `curing.slotSelection`: chooses the removed trade with `random`, `highestValue`, or `lastSlot`.
### Reroll Prevention
Untraded villagers in affected professions remember their first generated offers. Breaking and replacing a workstation within the memory radius restores those offers instead of rolling new ones.
Reroll locks are stored per profession, so a villager can remember separate affected-profession offers for jobs such as fletcher and librarian. Trading with the villager clears the stored locks.
Config options:
– `rerollPrevention.enabled`: enables the module.
– `rerollPrevention.memoryRadius`: distance from the remembered job site before old offer locks can be cleared by a profession change.
– `rerollPrevention.affectedProfessions`: comma-separated villager profession ids affected by reroll prevention.
### Librarian Rare Book Tuning
Librarian book trades can be biased toward configured rare enchantments when `librarians.rareBookBiasEnabled` is on. The chance is configured per villager level with `librarians.rareBookBiasChancePercentByLevel`.
The list has five comma-separated percentages in level order:
That means level 1 and 2 librarians keep vanilla book generation, level 3 has a 25% chance to use a configured rare enchantment, level 4 has a 50% chance, and level 5 has a 75% chance.
Duplicate prevention is controlled separately with `librarians.rareDuplicatePreventionEnabled`. When rare-book bias is on, duplicate prevention avoids choosing a configured rare enchantment that already exists nearby when another configured rare enchantment is available. When rare-book bias is off, duplicate prevention can still replace a newly generated configured rare book if that same rare enchantment already exists nearby.
Config options:
– `librarians.enabled`: enables the module.
– `librarians.rareBookBiasEnabled`: enables the level-based chance to replace book trades with configured rare enchantments.
– `librarians.rareBookBiasChancePercentByLevel`: five comma-separated percentages for levels 1 through 5.
– `librarians.rareDuplicatePreventionEnabled`: avoids nearby duplicate rare books when possible.
– `librarians.duplicateSearchRadius`: radius used to inspect nearby librarians.
– `librarians.rareEnchantments`: comma-separated enchantment ids that count as rare.
### Village Welfare
Village welfare can reward players for maintaining villages and penalize players near poor villages. It works as a periodic server-side scan around each player while `welfare.enabled` is on.
For each player, the mod checks a box around the player using `welfare.scanRadius`. A village only counts as maintained when all of these are true:
– At least one living villager is nearby.
– The area contains at least `welfare.minBeds` beds.
– Counted beds have at least `welfare.minSafeLight` local brightness.
– The area contains at least `welfare.minJobSites` workstation blocks.
If the scan passes and rewards are enabled, every nearby villager receives `welfare.rewardReputation` minor positive gossip for that player. This is vanilla villager reputation data, so it can improve nearby trade prices over time. The reward can only happen once per player per `welfare.rewardCooldownTicks`.
If the scan fails, penalties are enabled, and there is at least one nearby villager, every nearby villager receives `welfare.penaltyReputation` minor negative gossip for that player. This can make nearby trades worse. The penalty can only happen once per player per `welfare.penaltyCooldownTicks`.
The scan interval is based on the reward cooldown and runs no faster than once per second. Reward and penalty cooldowns are tracked separately, so a player can be rewarded for a maintained village and later penalized if the same area no longer meets the requirements.
Config options:
– `welfare.enabled`: enables welfare scans.
– `welfare.scanRadius`: radius around each player to inspect.
– `welfare.minBeds`: required safe beds.
– `welfare.minJobSites`: required workstation blocks.
– `welfare.minSafeLight`: minimum light level for counted beds.
– `welfare.rewardEnabled`: enables positive gossip rewards.
– `welfare.rewardReputation`: amount of minor positive gossip added.
– `welfare.rewardCooldownTicks`: per-player reward cooldown.
– `welfare.penaltyEnabled`: enables poor-welfare penalties.
– `welfare.penaltyReputation`: amount of minor negative gossip added.
– `welfare.penaltyCooldownTicks`: per-player penalty cooldown.
## Commands
All commands require admin permission level.
“`
/villagerrebalance help
/villagerrebalance reload
“`
## Configuration
The config file is generated at:
“`text
config/villager-rebalance.json
“`
The file is loaded on server start and saved after command changes. Use `/villagerrebalance reload` to reload the file at runtime.