From 3aa604de4202c80241bcb7fa80ec70ca0235f0f5 Mon Sep 17 00:00:00 2001 From: comp500 Date: Tue, 17 Sep 2019 21:43:51 +0100 Subject: [PATCH] Light loader support --- cmd/init.go | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/cmd/init.go b/cmd/init.go index 03738d1..51e2f1f 100644 --- a/cmd/init.go +++ b/cmd/init.go @@ -343,4 +343,29 @@ var modLoaders = map[string]func(mcVersion string) ([]string, string, error){ } return allowedVersions, allowedVersions[len(allowedVersions)-1], nil }, + "liteloader": func(mcVersion string) ([]string, string, error) { + res, err := http.Get("http://repo.mumfrey.com/content/repositories/snapshots/com/mumfrey/liteloader/maven-metadata.xml") + if err != nil { + return []string{}, "", err + } + dec := xml.NewDecoder(res.Body) + out := mavenMetadata{} + err = dec.Decode(&out) + if err != nil { + return []string{}, "", err + } + allowedVersions := make([]string, 0, len(out.Versioning.Versions.Version)) + for _, v := range out.Versioning.Versions.Version { + if strings.HasPrefix(v, mcVersion) { + allowedVersions = append(allowedVersions, v) + } + } + if len(allowedVersions) == 0 { + return []string{}, "", errors.New("no LiteLoader versions available for this Minecraft version") + } + if strings.HasPrefix(out.Versioning.Release, mcVersion) { + return allowedVersions, out.Versioning.Release, nil + } + return allowedVersions, allowedVersions[len(allowedVersions)-1], nil + }, }