Quote from TheMasterCaver»
Personally, I think the trading system prior to 1.8 was the most balanced and interesting; not only were villagers born into a set profession, their offers were entirely random, even the default costs - a blacksmith MIGHT offer a diamond tool as their first offer but it could also be an emerald for diamonds (4-5, not just 1, though IMO 1 is a more fair trade) and they sold unenchanted items; you had to get a priest if you wanted to enchant them:
Enchanted books were also much harder to get as they had a quite low probability of being offered, per final offer traded - a mere 1.75%, or an average of 57 trades, and they only offered a single enchantment per villager:
Compare to the current mechanics - up to 4 enchantments per villager, with one unlocked off the bat, with no difference in quality between novice and expert level (hence the common practice of simply replacing a lectern):
IMO, 1.75% is too low and I increased the probability in my own mod (from 0.07 to 0.2, which is around 3 times higher, but still only about 5%); even then, I still had to to trade more than a thousand emeralds, with thousands of crops grown (I planted 7,000 seeds alone) and go through a dozen librarians over several hours before I got a Mending book (added by my own mod as a functionally identical replacement for the mechanic of renaming an item so it can be repaired forever, which IMO was also far more balanced than the official implementation, which lets you maintain any item for a flat rate of +2 durability per XP):
Also, another change I made was to increase the cost of diamond gear to be 3 times that of iron (e.g. a diamond pickaxe cost 10-11 emeralds, compared to 7-8 for iron, so diamond now costs 21-24), including the cost of enchanting via priests (6-12 emeralds for diamond instead of 2-4; in 1.8 these costs were merged as items are now enchanted by default). Given that you need resources/items to maintain your gear this is a continuing cost, not just one-time as it is in current versions (i.e. using Mending to repair them with only XP), and due to the repair costs more highly enchanted items, especially diamond, may only be repairable with individual resources, or damaged sacrifices, making trading to maintain them not worthwhile (example: a diamond pickaxe with Efficiency V and Unbreaking III costs 33 levels to repair with a new pickaxe; with Fortune III added it is now too expensive to repair unless you use a single diamond (37 levels for +25% durability) or a sacrifice worn to about half-durability, which is much cheaper per use but requires damaging it in some way).
In addition, 22 carrots, 26 potatoes, or 32 rotten flesh for an emerald (ignoring discounts) are way too cheap - while I added these trades I made them more expensive, requiring 32-48 of each, which makes sense considering that you need 18-21 wheat (pre-1.8) and they drop multiple items per crop, especially when Fortune is used (which is what I balanced it around; also, while these crops are harder to obtain I've always gotten them from zombies within the first few nights; the abundance of zombies, especially with mob farms, is why rotten flesh should cost more*).
*Interestingly, the source code for 1.6.4 includes an (unused) entry for rotten flesh - with a cost of 36-64 for an emerald:villagerStockList.put(Integer.valueOf(Item.rottenFlesh.itemID), new Tuple(Integer.valueOf(36), Integer.valueOf(64)));
Very fair points, I do agree with you. The pre-1.8 system was indeed pretty balanced, compared to what we have to deal with nowadays, however, as you have pointed out, not only were the book trades very rare to get, such that you had to modify the rates (IMO, even this way, as the very last trade, with a low chance of a book, when you manage to unlock it it might turn out to be crappy), it was outdated, lacking certain trades (carrots, potatoes, you name it). Your take on Mending is justified, too. But for the sake of this thread, let's stick to trading.
I think that, rather than fixing villagers into a profession, it'd be more interesting and versatile if they could only have a maximum set of mastery levels across all professions, and leveling up beyond that removed levels from older ones so, for instance, a farmer who you made into a librarian, fully leveled up, and then turned back into a farmer would go back to being a Novice. That way, it'd still be possible to modify villager professions to the player's needs, but no longer would it be possible to just reroll trades above Novice by making them switch.
As far as I know, once an employed villager has been traded with, it will keep its profession forever. If its job station has been broken, it will look out for another one, suitable for the profession that has been previously acquired. Thus, by my rationale, making job switching even more lax, would not exactly point us in the right direction :).
Its important to focus on the main two nuisances: uncapped, permanent discounts and trade rerolling (with small touch-ups on the other problems).
I'm glad that this topic seems to have unearthed an issue that several people had to comment on!
A small off-topic: Do you know what it takes for a suggestion on Minecraft Feedback to get approved? Mine's been pending approval ever since this thread was started, while Herobrine ideas and stuff with no context seems to get the greenlight.