ModManager's current situation
ModManager currently has three branches for MC version 1.16.5, 1.17.1 and 1.18.2 these branches need to be kept synchronized for every bug fix, translation change and feature.
The "old/current" updating process works as follows:
- Get a list of all mods loaded by Fabric
- Sort out all mods which are jar in jar or not in the mods directory
- Check if mod has disabled update checks
- Get the Modrinth Id of the mod
- If the id is provided in the
fabric.mod.json use that
- If no id was provided try the fabric mod id as Modrinth slug and use that if successful
- If that wasn't successful try searching for the mod name and use that one
- Get all versions of that mod and compare them using SemVer
- If SemVer fails compare return latest released version
- Get the SHA hash of the jar file and compare it to the file Modrinth provided.
- If the hashes don't match -> Update found
- otherwise -> No update found
ModManager rewrite
Originally posted by @MultipedBeatle in https://github.com/modrinth/knossos/issues/456