Transition to classgraph lib for reflections
Type of change
- [ ] Bug fix
- [x] New feature
Description
Replace the Reflections lib with Classgraph, as the former is unmaintained.
PacketUtilsUtil was rewritten such that the file is written all at once, leveraging Java NIO utils.
Order of the packets is still the same as before.
Related issues
None.
How Has This Been Tested?
Loading several 1.21.10 addons and running PacketUtilsUtil.
Checklist:
- [x] My code follows the style guidelines of this project.
- [x] I have added comments to my code in more complex areas.
- [x] I have tested the code in both development and production environments.
Possible PR blocker.
While this worked fine on my Windows machine, it causes a crash on my Linux one.
A double free in meteordevelopment.meteorclient.gui.renderer.packer.TexturePacker.Image#free seems to trigger when trying to load Catpuccin-Addon.
Attached are, in the following order:
- A JRE core dump with info regarding
TexturePackerhs_err_pid27655.log - A modified
TexturePackerwith debug logging used to see every call of relevant methods TexturePacker.java - A crash report obtained with the modified
TexturePackercrash-2025-11-11_17.01.39-client.txt
I believe this was a latent bug that Classgraph made easier to trigger, but verification is needed. Considering this PR doesn't change this code, it could be possible.
This should fix all the previous issues, more testing is appreciated.