Respackopts
Important: Depending on the version you install, a separate installation of cloth config or LibJF may be required.
Respackopts adds customizable configuration menus to resource and data packs. By default, the mod provides its own system for conditional resources, resource expansion, and integrates with frex, canvas, and fabulous shaders.
Using Respackopts
For Players
After installing Respackopts, a menu button will appear next to all supported resource packs. No additional configuration is needed.
For Pack Creators
Detailed information on how to use Respackopts in your packs can be found in the wiki.
Performance Impact
Performance always depends on various factors including disk speed, resource usage by other programs, operating system, etc. These measurements were taken with Minecraft 1.20.1, Fabric Loader 0.14.21, Fabric API 0.84.0, and LibJF 3.8.0.
LibJF injects hooks into the resource loader, creating additional overhead for every resource access. In practice, this results in a 5% increase in resource reloading time and an 8% increase in game loading time (0.2 seconds) compared to vanilla.
Respackopts uses these hooks and additional mixins to function, adding further overhead. In practice, this results in a 6% increase in resource reloading time and an 18% increase in game loading time (0.43 seconds) compared to vanilla.
The most significant time increase is observed during pack scanning, which takes nearly 100 times longer when using Respackopts compared to vanilla. This is because Respackopts performs and caches most parsing and computations during this stage. As game loading statistics show, this isn't necessarily noticeable during startup since the total time remains relatively small. It only becomes noticeable in the resource pack selection screen, where scanning occurs every 20 ticks and whenever the screen is resized, and the impact is much greater. For this reason, a separate mod was created that adjusts this screen for improved performance.