This fixes issues with both cobblemon (see https://gitlab.com/cable-mc/cobblemon/-/issues/148) as well as issues similar to old origins (see https://github.com/apace100/calio/issues/3) without requiring changes on behalf of those mods by making the implicit ordering of fabric resource loaders (registration order) explicit instead by adapting it to the proper ordering system in the shim layer.
Stress tested with the following mod set and found no issues (cobblemon was slightly modified to add some debug messages, otherwise no changes from release)
I opted to split ordering chains on namespaces since it seemed less likely to cause issues, and it shouldnt be possible for an implicit ordering like that to be relied on anyways due to mod load order randomization. (unless someone is using multiple mod ids in their mod but that seems like an incredibly rare edge case)
This code could cause duplicated reloader order constraints, but as far as I can tell that would only waste a few bytes of memory and maybe a couple cycles at sort time
This fixes issues with both cobblemon (see https://gitlab.com/cable-mc/cobblemon/-/issues/148) as well as issues similar to old origins (see https://github.com/apace100/calio/issues/3) without requiring changes on behalf of those mods by making the implicit ordering of fabric resource loaders (registration order) explicit instead by adapting it to the proper ordering system in the shim layer.
Stress tested with the following mod set and found no issues (cobblemon was slightly modified to add some debug messages, otherwise no changes from release)
I opted to split ordering chains on namespaces since it seemed less likely to cause issues, and it shouldnt be possible for an implicit ordering like that to be relied on anyways due to mod load order randomization. (unless someone is using multiple mod ids in their mod but that seems like an incredibly rare edge case)
This code could cause duplicated reloader order constraints, but as far as I can tell that would only waste a few bytes of memory and maybe a couple cycles at sort time