From 8aa5e5c7c4b821048f6b1a458f7592541f6b92ec Mon Sep 17 00:00:00 2001 From: comp500 Date: Tue, 7 Apr 2020 20:36:45 +0100 Subject: [PATCH] Strip version prefixes from forge versions --- cmd/init.go | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/cmd/init.go b/cmd/init.go index 7654951..b831f39 100644 --- a/cmd/init.go +++ b/cmd/init.go @@ -344,7 +344,7 @@ var modLoaders = map[string][]modLoaderComponent{ { Name: "forge", FriendlyName: "Forge", - VersionListGetter: fetchMavenVersionPrefixedList("https://files.minecraftforge.net/maven/net/minecraftforge/forge/maven-metadata.xml", "Forge"), + VersionListGetter: fetchMavenVersionPrefixedListStrip("https://files.minecraftforge.net/maven/net/minecraftforge/forge/maven-metadata.xml", "Forge"), }, }, "liteloader": { @@ -372,6 +372,21 @@ func fetchMavenVersionList(url string) func(mcVersion string) ([]string, string, } } +func fetchMavenVersionPrefixedListStrip(url string, friendlyName string) func(mcVersion string) ([]string, string, error) { + noStrip := fetchMavenVersionPrefixedList(url, friendlyName) + return func(mcVersion string) ([]string, string, error) { + versions, latestVersion, err := noStrip(mcVersion) + if err != nil { + return nil, "", err + } + for k, v := range versions { + versions[k] = strings.TrimPrefix(v, mcVersion+"-") + } + latestVersion = strings.TrimPrefix(latestVersion, mcVersion+"-") + return versions, latestVersion, nil + } +} + func fetchMavenVersionPrefixedList(url string, friendlyName string) func(mcVersion string) ([]string, string, error) { return func(mcVersion string) ([]string, string, error) { res, err := http.Get(url)