Skip to content

ModManager Rewrite #1

@DeathsGun

Description

@DeathsGun

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:

  1. Get a list of all mods loaded by Fabric
    1. Sort out all mods which are jar in jar or not in the mods directory
    2. Check if mod has disabled update checks
  2. Get the Modrinth Id of the mod
    1. If the id is provided in the fabric.mod.json use that
    2. If no id was provided try the fabric mod id as Modrinth slug and use that if successful
    3. If that wasn't successful try searching for the mod name and use that one
  3. Get all versions of that mod and compare them using SemVer
    1. If SemVer fails compare return latest released version
  4. Get the SHA hash of the jar file and compare it to the file Modrinth provided.
    1. If the hashes don't match -> Update found
    2. otherwise -> No update found

ModManager rewrite

  • Extract ModManager's version independent core functionalities as an own mod
  • Implement the version specific stuff in a branch divided mod
  • Use Modrinth's V2 API
  • Use Modrinth's Hash Route
  • Extract the language files into an own repo (maybe even an own mod)

Originally posted by @MultipedBeatle in https://github.com/modrinth/knossos/issues/456

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions