Not Enough Packs
This mod addresses several issues related to resource and datapack handling in Fabric API. If you've ever encountered situations where you need an addon mod to override textures, block models, or recipes of a parent mod, this modification is exactly what you need.
The standard Fabric API implementation combines all resources and datapacks into a single mass, making it impossible to guarantee their loading order. In fact, this order is random due to implementation peculiarities.
Not Enough Packs solves this problem by separating resources and datapacks of each individual mod, making them visible and allowing you to configure the desired loading order. There's also an option (disabled by default) for automatic sorting of mods by dependencies, which requires more extensive changes to Fabric and Minecraft code.
It's important to note that the mod doesn't change other system operation rules. The established resource pack loading order is saved in the options.txt file and used in subsequent launches, while for datapacks the order is stored in the world data.
Documentation is available on GitHub.