Provides a way to control villagers' trades.
Works server-side and in single player.
When a villager has a profession and hasn't been traded with, they'll pick up items that they could learn to trade. When they do, they will reset their trades and try to offer as many of the items they picked up for trade as they can. They'll continue selecting remaining gathered items for trade as they level up and gain new trades.
With the default configurations, villagers will only pick up and select items that they could trade in vanilla.
Configuration
Supports Cloth Config and Mod Menu for configuration, but neither is required.
Options will use their default values if Cloth Config is absent.
If Cloth Config is present, options can be configured either through
Mod Menu or by editing config/villager_see_villager_do.json in your
instance folder (.minecraft/ by default for the vanilla launcher).
-
Villagers return items for emerald; default:
trueA villager who's picked up items (and not leveled up) will return them all to a player who throws them an emerald.
-
Villagers return selected items; default:
falseWhen a villager selects an item they picked up for trade, they'll throw that item back to the nearest player.
They'll wait until they've completed at least one trade in case their trades get reset. -
Villagers drop items on death; default:
falseWhen a villager dies, they will drop everything they picked up.
-
Retain item names; default:
trueWhen a villager selects an item for trade, it will keep it's name for the trade.
-
Retain item damage; default:
trueWhen a villager selects an item for trade, it will keep any damage for the trade.
-
Retain other item components; default:
trueWhen a villager selects an item for trade, it will keep any components that aren't covered by other options for the trade.
-
Limit enchantments, etc; default:
trueWhen a villager tries to select an enchanted item to trade, it will be rejected if it has enchantments it couldn't have in vanilla.
Also limits fletchers' tipped arrows and farmers' suspicious stews.
The enchantment and potion deny lists will deny items regardless of this option. -
Pickup deny list; default:
<none>Villagers won't pick up items in this list.
-
Enchantment deny list; default:
<none>Villagers won't select gathered items for trade if they have enchantments in this list.
-
Potion deny list; default:
<none>Villagers won't select gathered items for trade if they have potion effects in this list (affects fletchers' tipped arrows).
-
Effect deny list Default:
<none>Villagers won't select gathered items for trade if they have effects in this list (affects farmers' suspicious stews).
Translations
Install SSS Translate to automatically download new translations.
You can help translate Villager See, Villager Do on Crowdin.
This mod is only for Fabric (works on Quilt, too!) and I won't be porting it to Forge. The license is MIT, however, so anyone else is free to port it.
I'd appreciate links back to this page if you port or otherwise modify this project, but links aren't required.
All Versions
+ Add Version| Name | Game version | Platforms | Published | Downloads | Actions |
|---|---|---|---|---|---|
| 10mo ago | 1 | ||||
| 10mo ago | 1 | ||||
| 10mo ago | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 |
A cumulative changelog can be found [here](https://gitlab.com/supersaiyansubtlety/villager_see_villager_do/-/blob/master/CHANGELOG.md)
From 1.6.3: Fixed invisible text in the 'Configuration Unavailable' screen
A cumulative changelog can be found [here](https://gitlab.com/supersaiyansubtlety/villager_see_villager_do/-/blob/master/CHANGELOG.md)
A cumulative changelog can be found [here](https://gitlab.com/supersaiyansubtlety/villager_see_villager_do/-/blob/master/CHANGELOG.md)
A cumulative changelog can be found [here](https://gitlab.com/supersaiyansubtlety/villager_see_villager_do/-/blob/master/CHANGELOG.md)
A cumulative changelog can be found [here](https://gitlab.com/supersaiyansubtlety/villager_see_villager_do/-/blob/master/CHANGELOG.md)
A cumulative changelog can be found [here](https://gitlab.com/supersaiyansubtlety/villager_see_villager_do/-/blob/master/CHANGELOG.md)
A cumulative changelog can be found [here](https://gitlab.com/supersaiyansubtlety/villager_see_villager_do/-/blob/master/CHANGELOG.md)
A cumulative changelog can be found [here](https://gitlab.com/supersaiyansubtlety/villager_see_villager_do/-/blob/master/CHANGELOG.md)
- Marked as compatible with 1.21.4
- Minor internal changes
A cumulative changelog can be found [here](https://gitlab.com/supersaiyansubtlety/villager_see_villager_do/-/blob/master/CHANGELOG.md)
- Updated for 1.21.2-1.21.3
- Minor internal changes
A cumulative changelog can be found [here](https://gitlab.com/supersaiyansubtlety/villager_see_villager_do/-/blob/master/CHANGELOG.md)
A cumulative changelog can be found [here](https://gitlab.com/supersaiyansubtlety/villager_see_villager_do/-/blob/master/CHANGELOG.md)
- Updated for 1.21!
- Enchanted item limitation and cost checks now account for vanilla's
"minecraft:tradeable",
"minecraft:double_trade_price", and "minecraft:on_traded_quipment" enchantment tags; improves mod compatibility- Replaced bundled [CrowdinTranslate](<https://github.com/gbl/CrowdinTranslate>) with optional
install [SSS Translate](<https://modrinth.com/mod/sss-translate>) for automatic translation updates
- Minor internal changes
A cumulative changelog can be found [here](https://gitlab.com/supersaiyansubtlety/villager_see_villager_do/-/blob/master/CHANGELOG.md)
From 1.2.0:
- Added new config options:
- Enchantment deny list: Villagers won't select gathered items for trade if they have enchantments in this list.
- Potion deny list: Villagers won't select gathered items for trade if they contain potions in this list
- Effect deny list: Villagers won't select gathered items for trade if they have effects in this list
- Boats will no longer be picked up by fishermen if they're not the correct type
- Moderate internal changes and improvements
A cumulative changelog can be found [here](https://gitlab.com/supersaiyansubtlety/villager_see_villager_do/-/blob/master/CHANGELOG.md)
- Added new config options:
- Enchantment deny list: Villagers won't select gathered items for trade if they have enchantments in this list.
- Potion deny list: Villagers won't select gathered items for trade if they contain potions in this list
- Effect deny list: Villagers won't select gathered items for trade if they have effects in this list
- Boats will no longer be picked up by fishermen if they're not the correct type
- Moderate internal changes and improvements
A cumulative changelog can be found [here](https://gitlab.com/supersaiyansubtlety/villager_see_villager_do/-/blob/master/CHANGELOG.md)
- Updated for 1.20.2-1.20.4
- Minor internal changes
- No issues were reported regarding 1.1.12-b2, so this is a full release!
From 1.1.12-b2:
- Added new config "Villagers return selected items" (default false)
If true, when a villager selects a trade based on an item they were thrown,
they'll throw that item back to the player.
- Villagers will now try to select trades for thrown items in the order they were received.
- Villagers will now throw back rejected items sooner.
- Villagers will no longer gather items that they threw, even if they would do so in vanilla.
- Villagers now try *even harder* to throw items to the most recent player (or other entity) they've interacted with.
- Reworked how persistent data is saved and retrieved
- Fixed villagers not charging an emerald to return gathered items
- Fixed rejecting tipped arrows with potions with modifiers
- Fixed setting suspicious stew trades
A cumulative changelog can be found [here](https://gitlab.com/supersaiyansubtlety/villager_see_villager_do/-/blob/master/CHANGELOG.md)
- Added new config "Villagers return selected items" (default false)
If true, when a villager selects a trade based on an item they were thrown,
they'll throw that item back to the player.
- Villagers will now try to select trades for thrown items in the order they were received.
- Villagers will now throw back rejected items sooner.
- Villagers will no longer gather items that they threw, even if they would do so in vanilla.
- Villagers now try *even harder* to throw items to the most recent player (or other entity) they've interacted with.
- Reworked how persistent data is saved and retrieved
- Fixed villagers not charging an emerald to return gathered items
- Fixed rejecting tipped arrows with potions with modifiers
- Fixed setting suspicious stew trades
A cumulative changelog can be found [here](https://gitlab.com/supersaiyansubtlety/villager_see_villager_do/-/blob/master/CHANGELOG.md)
- Added new config "Villagers return selected items" (default false)
If true, when a villager selects a trade based on an item they were thrown,
they'll throw that item back to the player.
- Villagers will now try to select trades for thrown items in the order they were received.
- Villagers will now throw back rejected items sooner.
- Villagers will no longer gather items that they threw, even if they would do so in vanilla.
- Villagers now try *even harder* to throw items to the most recent player (or other entity) they've interacted with.
- Reworked how persistent data is saved and retrieved
- Fixed villagers not charging an emerald to return gathered items
- Fixed rejecting tipped arrows with potions with modifiers
- Fixed setting suspicious stew trades
A cumulative changelog can be found [here](https://gitlab.com/supersaiyansubtlety/villager_see_villager_do/-/blob/master/CHANGELOG.md)
- Added new config "Villagers return selected items" (default false)
If true, when a villager selects a trade based on an item they were thrown,
they'll throw that item back to the player.
- Villagers will now try to select trades for thrown items in the order they were received.
- Villagers will now throw back rejected items sooner.
- Villagers will no longer gather items that they threw, even if they would do so in vanilla.
- Villagers now try *even harder* to throw items to the most recent player (or other entity) they've interacted with.
- Reworked how persistent data is saved and retrieved
- Fixed villagers not charging an emerald to return gathered items
- Fixed rejecting tipped arrows with potions with modifiers
- Fixed setting suspicious stew trades
A cumulative changelog can be found [here](https://gitlab.com/supersaiyansubtlety/villager_see_villager_do/-/blob/master/CHANGELOG.md)
From 1.1.11-b1: Updated for 1.20!
From 1.1.10-b1:
- Added new config 'Limit enchantments' (default true), that when false,
Closes [#8](https://gitlab.com/supersaiyansubtlety/villager_see_villager_do/-/issues/8).
- Villagers will now close any open trading screens when they pick up an item and re-roll their trades
- Villagers now try harder to throw items to a player rather than it dropping on the ground
- Refined some error logging
- Fixed villagers not returning rejected items as they should have been
- Fixed incorrectly logging error "Found rejected stacks that aren't in inventory:..."
- Fixed several trade selection issues that could cause prevent selection of valid items after an invalid item was rejected
- Reworked some internals to be easier to maintain and less prone to errors
- This is a **BETA** version: there were a significant number of internal changes and so there's a higher-than-normal chance that new issues were introduced
A cumulative changelog can be found [here](https://gitlab.com/supersaiyansubtlety/villager_see_villager_do/-/blob/master/CHANGELOG.md)
From 1.1.10-b1:
- Added new config 'Limit enchantments' (default true), that when false,
Closes [#8](https://gitlab.com/supersaiyansubtlety/villager_see_villager_do/-/issues/8).
- Villagers will now close any open trading screens when they pick up an item and re-roll their trades
- Villagers now try harder to throw items to a player rather than it dropping on the ground
- Refined some error logging
- Fixed villagers not returning rejected items as they should have been
- Fixed incorrectly logging error "Found rejected stacks that aren't in inventory:..."
- Fixed several trade selection issues that could cause prevent selection of valid items after an invalid item was rejected
- Reworked some internals to be easier to maintain and less prone to errors
- This is a **BETA** version: there were a significant number of internal changes and so there's a higher-than-normal chance that new issues were introduced
A cumulative changelog can be found [here](https://gitlab.com/supersaiyansubtlety/villager_see_villager_do/-/blob/master/CHANGELOG.md)
- Added new config 'Limit enchantments' (default true), that when false,
Closes [#8](https://gitlab.com/supersaiyansubtlety/villager_see_villager_do/-/issues/8).
- Villagers will now close any open trading screens when they pick up an item and re-roll their trades
- Villagers now try harder to throw items to a player rather than it dropping on the ground
- Refined some error logging
- Fixed villagers not returning rejected items as they should have been
- Fixed incorrectly logging error "Found rejected stacks that aren't in inventory:..."
- Fixed several trade selection issues that could cause prevent selection of valid items after an invalid item was rejected
- Reworked some internals to be easier to maintain and less prone to errors
- This is a **BETA** version: there were a significant number of internal changes and so there's a higher-than-normal chance that new issues were introduced
A cumulative changelog can be found [here](https://gitlab.com/supersaiyansubtlety/villager_see_villager_do/-/blob/master/CHANGELOG.md)
- Added new config 'Limit enchantments' (default true), that when false,
Closes [#8](https://gitlab.com/supersaiyansubtlety/villager_see_villager_do/-/issues/8).
- Villagers will now close any open trading screens when they pick up an item and re-roll their trades
- Villagers now try harder to throw items to a player rather than it dropping on the ground
- Refined some error logging
- Fixed villagers not returning rejected items as they should have been
- Fixed incorrectly logging error "Found rejected stacks that aren't in inventory:..."
- Fixed several trade selection issues that could cause prevent selection of valid items after an invalid item was rejected
- Reworked some internals to be easier to maintain and less prone to errors
- This is a **BETA** version: there were a significant number of internal changes and so there's a higher-than-normal chance that new issues were introduced
A cumulative changelog can be found [here](https://gitlab.com/supersaiyansubtlety/villager_see_villager_do/-/blob/master/CHANGELOG.md)
A cumulative changelog can be found [here](https://gitlab.com/supersaiyansubtlety/villager_see_villager_do/-/blob/master/CHANGELOG.md)
A cumulative changelog can be found [here](https://gitlab.com/supersaiyansubtlety/villager_see_villager_do/-/blob/master/CHANGELOG.md)
A cumulative changelog can be found [here](https://gitlab.com/supersaiyansubtlety/villager_see_villager_do/-/blob/master/CHANGELOG.md)
A cumulative changelog can be found [here](https://gitlab.com/supersaiyansubtlety/villager_see_villager_do/-/blob/master/CHANGELOG.md)
A cumulative changelog can be found [here](https://gitlab.com/supersaiyansubtlety/villager_see_villager_do/-/blob/master/CHANGELOG.md)
A cumulative changelog can be found [here](https://gitlab.com/supersaiyansubtlety/villager_see_villager_do/-/blob/master/CHANGELOG.md)
A cumulative changelog can be found [here](https://gitlab.com/supersaiyansubtlety/villager_see_villager_do/-/blob/master/CHANGELOG.md)
A cumulative changelog can be found [here](https://gitlab.com/supersaiyansubtlety/villager_see_villager_do/-/blob/master/CHANGELOG.md)


