Villagers spawned using a Command with pre-set Trades do not change thier prices when they are cured or when there is a gossip around the village.
I spawned one without pre-set Trades and it Worked like it should. I used these commands:
_+Pre-set Trades:+_
/summon zombie_villager ~ ~ ~ {ConversionTime:1,ConversionPlayer:[I;1,1,1,11],VillagerData:{level:2,profession:"minecraft:librarian",type:"minecraft:plains"},Offers:{Recipes:[{buy:{id:'minecraft:emerald',Count:10b},buyB:{id:'minecraft:book',Count:1b},sell:{id:'minecraft:enchanted_book',Count:1b,tag:{StoredEnchantments:[{id:'minecraft:mending',lvl:1s}]}}}]}}
+_Without Pre-set Trades:_+
/summon zombie_villager ~ ~ ~ {ConversionTime:1,ConversionPlayer:[I;1,1,1,11],VillagerData:{level:2,profession:"minecraft:librarian",type:"minecraft:plains"}}
Linked issues
duplicates 1
Comments 2
See MC-175018. Each "naturally generated" trade has a priceMultiplier
tag which is used when calculating discounted prices. You haven't specified the priceMultiplier
for your custom trade, so it defaults to 0
.
I'm pretty sure this is an intended mechanic but I can reproduce this in 1.16.4 rc1