Community listing page, reviews here may not be monitored by the author.
Shifting Wares
No reviews yet
Villagers will occasionally reroll their trade offers
Community voices
Reviews
No reviews yet. Be the first to review this project!
Get it on
Available Platforms
Compatibility
Supported Environments
Runs entirely on the server. Also works in singleplayer.
About
Project Details
For authors
Embed Badge
If you're the author of this project, you can embed a live badge anywhere that supports HTML or Markdown. It updates automatically whenever ratings change.
Use HTML for any page that supports it, or Markdown for README files and Markdown-based descriptions.
Identifiers
Platform IDs
About
Description
Shifting Wares
Causes villager to re-roll their trade offers on their own accord, up to three times a day. This effect will be most noticeable on professions who can sell enchanted or coloured items; a single one of these villagers will be able to offer a much greater variety of wares over time.
This aims to reduce the benefits of exploitative playstyle, while making serendipitous playstyles more viable. Villagers with perfect trades will not keep those trades forever, and villagers with bad trades will get better eventually. Even though a single villager can potentially provide everything you need, having multiple villagers of the same profession is still useful to increase the odds of getting a specific trade.
Because all trades eventually expire, villagers become much easier to replace if they die, so you don't need to care as much about their safety. You can let them roam around freely with little risk to your economy.
Reroll Triggers
There are two gamerules that control when trades can be re-rolled. Both are enabled by default. Disabling all rules effectively disables the mod.
shifting-wares:daily_reroll: Causes villagers to re-roll all their offers once per day, the first time they restock at their job station.shifting-wares:deplete_reroll: Causes villagers to re-roll any fully depleted trade offer, whenever they restock at their job station. This also prevents offers from being refilled, if they have a remaining uses.
Exploration Maps and Persitent trades
Minecraft permanently saves all created maps, and lock their structures from appearing on other exploration maps. To prevent daily rerolls from throwing away endless amounts of unsold maps, these trades are treated as persistent.
Persistent trades can only be rerolled if they have been used at least once, and if the gamerule shifting-wares:allow_persistent_reroll is enabled. This gamerule is disabled by default.
Datapacks can mark any trade as persistent by adding this field to the trade:
{
"shiftingwares:isPersistent": true,
"wants": "...",
"gives": "...",
"...": "..."
}
Any trade that sells a filled map will be forcibly marked as persistent, regardless of how it is configured. "Filled maps" are identified by the presence of a map_id component.
Workstation protection
Breaking and replacing a villager's workstation no longer forces the villager to reroll its trades. The initial trades are generated deterministically, using the villager's UUID as the seed.
This is controlled by the gamerule shifting-wares:workstation_protection.
Miscellani technical details
-
If a villager is unable to generate a trade for a slot, it will be replaced with an empty trade. In vanilla, this should only ever happen to cartographers, who are unable to generate explorer maps in worlds with no structures.
These empty paddings are required to ensure trades are rerolled with ones of equivalent level, because a trade's position in the list is the only indication to its level. Placeholder trades will never take the place of a valid trade; they will only show up if all other options are exhausted. -
As a side effect of this mod, the "Demand Bonus" mechanic has its effect greatly diminished, because the demand bonus data is deleted along with the offers that are rerolled.
-
In MC 1.21.11 and prior, Depleted Rerolls have a fair chance of creating duplicate offers, because Minecraft had no reliable way of identifying trades.
For developpers (MC 1.21.11 and prior)
By default, shifting-Wares assumes 2 trades per level, and pulls its trade pools from the same place as Vanilla. Other mods can override this by using the shifting-wares entry-point, and implementing ITradeLayoutProvider.
If your mod contains custom implementation of map trade factories, or produces other items attached with permanent data, you can communicate to Shifting-Wares that they should be persistent, by implementing the same methods defined in IShiftingTradeFactory.
Related Mods
VillagerConfig Addon
Compatibility Addon to use trades defined in VillagerConfig.
Gamerule Menu
Makes the Gamerule menu accessible from singleplayer worlds
Screenshots
Gallery
Versions
Files
Relations
Project Relations
More like this
Similar Mods
Suggestions use data such as tags, dependencies, dependents, descriptions, titles, and more to rank how much they overlap with this mod.
- EMI Trades (Villager Trading EMI Plugin)
- Cobblemon Villager overhaul - [ADDON]
- JEI Villagers
- Garbage Collector Villager
- Villager Coin
- EMI professions (EMIP)
- Instant Villager Trading (No Cooldown)
- Bookkeeping for Villager Coin (Receipts & Ledgers)
- Trade Reroller
- Ivan Carpet Addition
- Eternal Currencies
- Latam Economy
On ModDex
Community snapshot
By the numbers
Statistics
Want to reach Minecraft players?
We're looking for a server hosting partner to feature here and other parts of the site. Interested? Send us a message!
Get in touchGet it on
Available Platforms
On ModDex
Community snapshot
By the numbers