A couple of enchantments couldn't be obtained from enchanting tables previously, but if you had an enchanted book with such an enchantment, you could still apply it at an anvil.
All armor pieces can now get Thorns at enchanting tables, previously only chest plates were able to get it
Axes can now get Sharpness / Smite / Bane of Arthropods at enchanting tables
Specifically for axes this really clutters the available enchantment pool and makes it harder to get tool enchantments such as Efficiency / Unbreaking / Silk Touch / Fortune which most people probably want.
This issue comes from EnchantmentHelper::getAvailableEnchantmentResults
(the method responsible for picking enchanting table results) now calling Enchantment::canEnchant
(for deciding if an enchantment is compatible with an item), when it was previously calling the now replaced EnchantmentCategory::canEnchant
which didn't include the additional items from per enchantment Enchantment::canEnchant
overrides.
Also on another note, while it's really great to have this new flexibility for controlling enchantment application via tags, why stick with the old enchantment category concept?
Like if I want e.g. tridents to accept Looting I can do that now, by adding minecraft:trident
to #enchantable/sword
, which is great, but it will also allow tridents to accept e.g. Fire Aspect at the same time which might not be something I want.
Why not just allow for one tag per enchantment?
Comments 4
Yeah this would be a great opportunity for turning Enchantment::isTreasureOnly
, Enchantment::isCurse
, Enchantment::isTradeable
, and Enchantment::isDiscoverable
into enchantment tags (with the behavior of the latter two ideally being inverted functionality wise).
Well, isTradable is kinda getting removed with the trading revamp experiment, where it's just a small set of options based on biome variant of the villager. So a tag for that seems wasted. 😃
Confirmed.
As for a possible fix...
The note is a good start:
2 tag for each enchantment, 1 containing item IDs which can get said enchantment from enchantment tables, and 1 for all items which can get the enchantment in general (just using the former tag and any "secondary" items)
An additional "treasure" enchantment tag (instead of item tag) could be added to exclude said enchantments from enchantment table only too (still allowing them from item modifiers' random enchant function).