Better Enchanted Books !
This is a mod that adds a couple of quality of life features into the Vanilla+ experience in Minecraft. It is 100% client sided, so the server doesn't need to have the mod installed for it to work. I'll try to keep everything as customizable as possible.
Features

- Sort the enchantments in a tooltip, you can manually make your desired order or just alphabetically sort it;
- Assign custom colors to each enchantment and those will display in as the color of the strip on Enchanted Books.
- Disable glint on enchanted books (Configurable).
- Show which items each enchantment can be applied to in it's tooltip (Configurable)
Notes:
- Mod Menu is not necessary but recommended and the only way to change any settings ingame.
For dev:
- Edit build.gradle and mod.json to suit your needs.
- The "mixins" object can be removed from mod.json if you do not need to use mixins.
- Please replace all occurences of "modid" with your own mod ID - sometimes, a different string may also suffice.
- Run the following command:
./gradlew idea
License
Please read it at licence.
All Versions
+ Add VersionBesides rewriting the whole mod in Kotlin, which might seem useless, but honestly since I enjoy programming with Kotlin more than Java it really makes me more prone to actively work on the project and finally add the features I felt were missing from the start.
This update is currently in Beta, I will wait until I get some positive feedback, or at least some downloads without any negative feedback, before changing this to the Release channel.
The main missing feature that was finally added was the option to choose which items to utilize to check where the enchantments can be applied. This is pretty straight forward but unfortunately, due to some limitiations with my proficiency with the widely available config APIs, there is no way to change this setting ingame :(
The other decent feature is that now all the default configs can be overwritten by any other mod or even via resource pack. This is not exactly _the actual feature itself_ but honestly I see no problem letting it be this way. Power to the player.
The actual original point of the this feature was for people to be able to share configs via resource packs but more importantly for modders to be able to ship a single json file in their mod that will add default values to their custom enchantments for example.
I think this should be about it. It felt like more was accomplished but that might be due to the fruitless time I spent trying to bend mod config apis to my will. I'll try again soonish™.
- Update for 1.20.4
- Re-license mod
- Add russian translation by Felix14-v2
- Avoid mutating passed enchantments [by Devan-Kerman](https://github.com/Bernasss12/BetterEnchantedBooks/pull/36)
- Fix possible NullPointerException trying to draw tooltip icons (by Fourmisain)[https://github.com/Bernasss12/BetterEnchantedBooks/pull/34]
- fix 2 NullPointerExceptions when items have unregistered enchantments
- fix sorting by translated name
- fix caching of default colored books
- fix some books being default colored because they use id "id" instead of "minecraft:id"
- add cloth-config2 as a 'depends'
- enable pretty-printing of config
- update minecraft version, dependencies and gradle build
- fix NullPointerException in method17869Tail due to uninitialized ThreadLocal
- refactor NBTUtils: use streams instead of new ArrayLists, sort() should never throw an Exception
- use WeakHashMap for ItemStack caches
- rename Mixin methods
- add a proper Logger
- update README (do not run gradlew idea!)
Started not bundling Cloth Config jij. File size reduced by 7x.
Added more items/icons to tooltip
- Added option to add max level of each enchantment after the current level.
- Added Shield to icon item list.