Support NeoForge as a loader (compatible with Forge mods)

TODO: implement support in migrate command
This commit is contained in:
comp500
2023-07-30 14:55:34 +01:00
parent 38dcc505e5
commit 234f927be9
5 changed files with 21 additions and 15 deletions

View File

@@ -198,7 +198,10 @@ func (pack Pack) GetLoaders() (loaders []string) {
} else if _, hasFabric := pack.Versions["fabric"]; hasFabric {
loaders = append(loaders, "fabric")
}
if _, hasForge := pack.Versions["forge"]; hasForge {
if _, hasNeoForge := pack.Versions["neoforge"]; hasNeoForge {
loaders = append(loaders, "neoforge")
loaders = append(loaders, "forge") // Backwards-compatible; for now (could be configurable later)
} else if _, hasForge := pack.Versions["forge"]; hasForge {
loaders = append(loaders, "forge")
}
return

View File

@@ -51,6 +51,11 @@ var ModLoaders = map[string]ModLoaderComponent{
FriendlyName: "Quilt loader",
VersionListGetter: FetchMavenVersionList("https://maven.quiltmc.org/repository/release/org/quiltmc/quilt-loader/maven-metadata.xml"),
},
"neoforge": {
Name: "neoforge",
FriendlyName: "NeoForge",
VersionListGetter: FetchMavenVersionPrefixedListStrip("https://maven.neoforged.net/releases/net/neoforged/forge/maven-metadata.xml", "NeoForge"),
},
}
func FetchMavenVersionList(url string) func(mcVersion string) ([]string, string, error) {