Avoid creating duplicate ResourceLocation objects for anvil enchantment recipes #3737
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This saves a couple more megabytes in ATM9NF.
Note: I found it strange that the UID does not include the specific enchantment and level (which would make it truly unique between the recipes). However, I opted to exploit that for further memory savings, rather than fix it to be unique, because I assume it was done this way for a reason, or has been like this for a while, and therefore no one is relying on it being unique among enchantment/level combos (only among unique input ingredients).
If the intent is for the UID to actually be unique for that exact recipe, this optimization can't be made. However, do note that on 1.20.1, the input ingredient's NBT is often stringified and used as part of the name - so this will again cause exponential growth if items with large NBT get enchanted.