hachem.wtf
aboutsummaryrefslogtreecommitdiff
path: root/internal/cli/check.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/cli/check.go')
-rw-r--r--internal/cli/check.go17
1 files changed, 11 insertions, 6 deletions
diff --git a/internal/cli/check.go b/internal/cli/check.go
index 1df5137..6d3df5f 100644
--- a/internal/cli/check.go
+++ b/internal/cli/check.go
@@ -33,16 +33,21 @@ func checkReport(cfg *config.Config) string {
client := modrinth.NewClient()
var res checkResult
- for _, slug := range cfg.ModrinthMods {
- versions, err := client.GetVersions(slug)
+ for _, mod := range cfg.ModrinthMods {
+ versions, err := client.GetVersions(mod.Slug)
if err != nil {
- res.failed = append(res.failed, slug)
+ res.failed = append(res.failed, mod.Slug)
continue
}
- match := modrinth.CompatibleVersion(versions, cfg.MinecraftVersion, "fabric")
+ var match *modrinth.Version
+ if mod.Pinned() {
+ match = modrinth.FindVersion(versions, mod.Version)
+ } else {
+ match = modrinth.CompatibleVersion(versions, cfg.MinecraftVersion, "fabric")
+ }
if match == nil {
- res.incompatible = append(res.incompatible, slug)
+ res.incompatible = append(res.incompatible, mod.Slug)
continue
}
@@ -50,7 +55,7 @@ func checkReport(cfg *config.Config) string {
if len(match.Files) > 0 {
filename = match.Files[0].Filename
}
- res.compatible = append(res.compatible, compatMod{slug: slug, filename: filename})
+ res.compatible = append(res.compatible, compatMod{slug: mod.Slug, filename: filename})
}
return renderCheck(cfg, res)