[MC-5653] Enchanted Book offers will only ever get worse with villager trades Created: 01/Jan/13 Updated: 03/Mar/14 Resolved: 03/Mar/14 |
|
| Status: | Resolved |
| Project: | Minecraft: Java Edition |
| Component/s: | None |
| Affects Version/s: | Minecraft 1.4.6, Minecraft 1.4.7, Minecraft 1.5, Minecraft 1.6.2, Minecraft 13w36b, Minecraft 1.7.2, Minecraft 13w48b, Minecraft 1.7.4 |
| Fix Version/s: | Minecraft 14w08a |
| Type: | Bug | ||
| Reporter: | Kyle Egli | Assignee: | Unassigned |
| Resolution: | Fixed | Votes: | 11 |
| Labels: | None | ||
| Environment: |
All |
||
| Confirmation Status: | Unconfirmed |
| Game Mode: | Survival |
| Description |
|
Edit: Replaced my crummy explanation with a better one, courtesy of Torabi. This is a complicated issue, caused by a collision of multiple trading mechanics. The code doesn't really distinguish between the enchantments placed on the books – other than to set the price based on the level of the enchantment. So an offer of a book with a particular enchantment can be replaced with a book with any other enchantment, because all it checks when generating an offer and determining whether to add a new one or replace an existing one is the item ID. The first component is The result of these three components is that low-level books can easily replace higher-level books, but high-level books can never be priced low enough to ever replace some low-level offers. For example, the minimum cost for a level 5 enchantment is 17 emeralds. Once a librarian generates an offer for an enchanted book priced lower than that, they will never again offer a level 5 enchanted book. (Ranges for all levels, from the wiki: level 1: 5 – 19, level 2: 8 – 32, level 3: 11 – 45, level 4: 14 – 58, level 5: 17 – 71). Because of the random nature of generating offers, it's guaranteed that the more you trade with a librarian, the worse their offers will get. This is the exact opposite of how trading works for every other type of trade, including the librarian's offers for other types of items, in which it's guaranteed that offers will never get worse, and, if you trade with a villager enough, you will eventually unlock all their potential trades, at the lowest possible prices. The enchanting offers provided by priests work entirely differently than enchanted books. The cost only ranges from 2-4, and is not related to the enchantment or its level. Offers can be replaced with a different enchantment, and that enchantment may be better or worse, but the full range (all enchantments that would cost 5-19 exp levels if you used a enchanting table) is always available for the offer generator to pick from, and nothing about the existing enchantment offer will ever exclude part of that range. It is almost certain that the behavior of enchanted book offers is an oversight, not an intentional deviation. |
| Comments |
| Comment by Kumasasa [ 03/Mar/14 ] |
|
Thanks. |
| Comment by branza [ 03/Mar/14 ] |
|
Yes, villagers no longer change existing trades. |
| Comment by Kumasasa [ 03/Mar/14 ] |
|
But according to Anyway, is this issue obsolete with the new trading mechanics of 14wXX ? |
| Comment by [Mod] Torabi [ 16/Feb/14 ] |
|
According to |
| Comment by David Cady [ 16/Feb/14 ] |
|
I believe the new trading mechanics have effectively made this bug obsolete. I think villagers no longer change their trades, not even to reduce the price of an old trade. |
| Comment by Galaxy_2Alex [ 21/Jan/14 ] |
|
Is this still a concern in the current development version of Minecraft 14w03b / Launcher version 1.3.8 or later? If so, please update the affected versions in order to best aid Mojang ensuring bugs are still valid in the latest releases/pre-releases. |
| Comment by Anthony Thyssen [ 06/Jan/14 ] |
|
It is still a concern... nothing has changed. Simply put, because replacement trades only check for a lower price, the overall level of enchanted books only gets smaller until you are only left with a 'common', or cheap (5 Emerald) level 1 enchanted book. Basically librarians offering the better and rare enchanted books such as Sharpness-V, Smite-V, etc, will change to 'cheaper' books with enchantments that are not nearly as good, and are far more 'common'. A simple fix would be that if a enchanted book trade is 'changed', to ignore the price, and just change the enchantment, regardless of price or level of enchantment. WARNING: There is a seperate bug in that the price of some level V enchants where the price requested is larger than 64 Emeralds and thus unpayable in the current trading interface. That should be fixed (capped at 64?) at the same time. |
| Comment by Talven81 [ 26/Nov/13 ] |
|
Is this still a concern in the current Minecraft version 1.7.2 / Launcher version 1.3.4 ? If so, please update the affected versions in order to best aid Mojang ensuring bugs are still valid in the latest releases/pre-releases. |
| Comment by Jls [ 11/Sep/13 ] |
|
It may be that I am just unlucky, or it may be due to how many librarians I have, but now that I have experienced this bug I seem to be able to reproduce quite easily. Here are the steps I take to reproduce it: I can get video of this on multiple villagers if that would help. |
| Comment by [Mod] Torabi [ 11/Sep/13 ] |
|
I imagine it remains unconfirmed both because it is difficult to test (random is random), and the description is poorly written, not clearly identifying the problem or its cause. I have attempted to remedy the latter problem with my explanation of the issue, but it's pretty wordy and complicated. Hopefully it will make the issue more clear to the next mod to check this issue. It would probably help if someone would try testing it. Find a village with a librarian, write down all their offers, and repeatedly trade with them, writing down any changes to the offers. With a large enough sample size, it should provide evidence that this is bugged. Creative mode or /give would speed up the process immensely. |
| Comment by Jls [ 11/Sep/13 ] |
|
Indeed, I regret saying Mojang have been ignoring this issue. I do appreciate the work they are putting in to resolving all of Minecraft's bugs. My comment was merely a reflection of my frustration with this bug, its quite long life, and its unconfirmed status. |
| Comment by [Mod] Torabi [ 11/Sep/13 ] |
|
They're not "ignoring" it. They're busy tackling the 2,613 other unresolved issues. This is a complicated issue, caused by a collision of multiple trading mechanics. The code doesn't really distinguish between the enchantments placed on the books – other than to set the price based on the level of the enchantment. So an offer of a book with a particular enchantment can be replaced with a book with any other enchantment, because all it checks when generating an offer and determining whether to add a new one or replace an existing one is the item ID.
The result of these three components is that low-level books can easily replace higher-level books, but high-level books can never be priced low enough to ever replace some low-level offers. For example, the minimum cost for a level 5 enchantment is 17 emeralds. Once a librarian generates an offer for an enchanted book priced lower than that, they will never again offer a level 5 enchanted book. (Ranges for all levels, from the wiki: level 1: 5 – 19, level 2: 8 – 32, level 3: 11 – 45, level 4: 14 – 58, level 5: 17 – 71). Because of the random nature of generating offers, it's guaranteed that the more you trade with a librarian, the worse their offers will get. This is the exact opposite of how trading works for every other type of trade, including the librarian's offers for other types of items, in which it's guaranteed that offers will never get worse, and, if you trade with a villager enough, you will eventually unlock all their potential trades, at the lowest possible prices. The enchanting offers provided by priests work entirely differently than enchanted books. The cost only ranges from 2-4, and is not related to the enchantment or its level. Offers can be replaced with a different enchantment, and that enchantment may be better or worse, but the full range (all enchantments that would cost 5-19 exp levels if you used a enchanting table) is always available for the offer generator to pick from, and nothing about the existing enchantment offer will ever exclude part of that range. It is almost certain that the behavior of enchanted book offers is an oversight, not an intentional deviation. |
| Comment by Jls [ 11/Sep/13 ] |
|
I really wish that Mojang would stop ignoring this bug. This is one of the most disappointing things to happen to me in Minecraft in a long while. I spent many, many, MANY hours breeding and trading with librarian villagers in order to get an unbreaking book trade, as well as others. Then, I trade with the villager with unbreaking and his trades update. Fine, that is how it should be, but suddenly the unbreaking 3 book is gone and swapped out for knockback 1? What? Why??? This make absolutely no sense to me. This isn't just annoying, it is entirely inconsistent. No other villagers, with the possible exception of priests, change what they are selling, only the quantity sold/bought or emerald cost. I'm not asking for the prices to drop, or for the trades to improve, but only for them to not completely change like this. |
| Comment by GerbilCrab475 [ 20/Apr/13 ] |
|
Wow, trades should never get worse over time, that's just plain dumb. |
| Comment by Corgano Wade [ 07/Mar/13 ] |
|
Natural would be them getting both worse and better. Only getting worse is bullhonkey, and only getting better is OP |
| Comment by Kyle Egli [ 02/Jan/13 ] |
|
I somewhat doubt a trade only ever getting worse when it's updated is working as intended, since it's the complete opposite of how every other trade works. It's like saying paper cost going from 17->20->30->40->64 when everything else lessens in cost the more you trade would be working as intended. |
| Comment by Anon Ymus [ 01/Jan/13 ] |
|
Works as intended. Get more villagers if you want more trades. |