mirror of
https://github.com/packwiz/packwiz.git
synced 2025-04-19 13:06:30 +02:00
Quilt support
This commit is contained in:
parent
9faf42c0a8
commit
f1eb34d444
@ -85,7 +85,7 @@ var initCmd = &cobra.Command{
|
||||
|
||||
modLoaderName := strings.ToLower(viper.GetString("init.modloader"))
|
||||
if len(modLoaderName) == 0 {
|
||||
modLoaderName = strings.ToLower(initReadValue("Mod loader [fabric]: ", "fabric"))
|
||||
modLoaderName = strings.ToLower(initReadValue("Mod loader [quilt]: ", "quilt"))
|
||||
}
|
||||
|
||||
loader, ok := core.ModLoaders[modLoaderName]
|
||||
|
@ -44,6 +44,11 @@ var ModLoaders = map[string]ModLoaderComponent{
|
||||
FriendlyName: "LiteLoader",
|
||||
VersionListGetter: FetchMavenVersionPrefixedList("http://repo.mumfrey.com/content/repositories/snapshots/com/mumfrey/liteloader/maven-metadata.xml", "LiteLoader"),
|
||||
},
|
||||
"quilt": {
|
||||
Name: "quilt",
|
||||
FriendlyName: "Quilt loader",
|
||||
VersionListGetter: FetchMavenVersionList("https://maven.quiltmc.org/repository/release/org/quiltmc/quilt-loader/maven-metadata.xml"),
|
||||
},
|
||||
}
|
||||
|
||||
func FetchMavenVersionList(url string) func(mcVersion string) ([]string, string, error) {
|
||||
|
@ -222,10 +222,11 @@ func getLoader(pack core.Pack) int {
|
||||
dependencies := pack.Versions
|
||||
|
||||
_, hasFabric := dependencies["fabric"]
|
||||
_, hasQuilt := dependencies["quilt"]
|
||||
_, hasForge := dependencies["forge"]
|
||||
if hasFabric && hasForge {
|
||||
if (hasFabric || hasQuilt) && hasForge {
|
||||
return modloaderTypeAny
|
||||
} else if hasFabric {
|
||||
} else if hasFabric || hasQuilt { // Backwards-compatible; for now (could be configurable later)
|
||||
return modloaderTypeFabric
|
||||
} else if hasForge {
|
||||
return modloaderTypeForge
|
||||
|
@ -166,7 +166,9 @@ var exportCmd = &cobra.Command{
|
||||
fmt.Println("Error creating manifest: " + err.Error())
|
||||
os.Exit(1)
|
||||
}
|
||||
if fabricVersion, ok := pack.Versions["fabric"]; ok {
|
||||
if quiltVersion, ok := pack.Versions["quilt"]; ok {
|
||||
dependencies["quilt-loader"] = quiltVersion
|
||||
} else if fabricVersion, ok := pack.Versions["fabric"]; ok {
|
||||
dependencies["fabric-loader"] = fabricVersion
|
||||
} else if forgeVersion, ok := pack.Versions["forge"]; ok {
|
||||
dependencies["forge"] = forgeVersion
|
||||
|
@ -171,7 +171,10 @@ func getLatestVersion(modID string, pack core.Pack) (Version, error) {
|
||||
return Version{}, err
|
||||
}
|
||||
|
||||
loader := getLoader(pack)
|
||||
loadersEncoded, err := json.Marshal(getLoaders(pack))
|
||||
if err != nil {
|
||||
return Version{}, err
|
||||
}
|
||||
|
||||
baseUrl := *modrinthApiUrlParsed
|
||||
baseUrl.Path += "mod/"
|
||||
@ -180,9 +183,7 @@ func getLatestVersion(modID string, pack core.Pack) (Version, error) {
|
||||
|
||||
params := url.Values{}
|
||||
params.Add("game_versions", string(gameVersionsEncoded))
|
||||
if loader != "any" {
|
||||
params.Add("loaders", "[\""+loader+"\"]")
|
||||
}
|
||||
params.Add("loaders", string(loadersEncoded))
|
||||
|
||||
baseUrl.RawQuery = params.Encode()
|
||||
|
||||
@ -343,18 +344,20 @@ func (v VersionFile) getBestHash() (string, string) {
|
||||
return "", ""
|
||||
}
|
||||
|
||||
func getLoader(pack core.Pack) string {
|
||||
func getLoaders(pack core.Pack) []string {
|
||||
dependencies := pack.Versions
|
||||
|
||||
_, hasFabric := dependencies["fabric"]
|
||||
_, hasForge := dependencies["forge"]
|
||||
if hasFabric && hasForge {
|
||||
return "any"
|
||||
} else if hasFabric {
|
||||
return "fabric"
|
||||
} else if hasForge {
|
||||
return "forge"
|
||||
} else {
|
||||
return "any"
|
||||
var list []string
|
||||
|
||||
if _, hasQuilt := dependencies["quilt"]; hasQuilt {
|
||||
list = append(list, "quilt")
|
||||
list = append(list, "fabric") // Backwards-compatible; for now (could be configurable later)
|
||||
} else if _, hasFabric := dependencies["fabric"]; hasFabric {
|
||||
list = append(list, "fabric")
|
||||
}
|
||||
if _, hasForge := dependencies["forge"]; hasForge {
|
||||
list = append(list, "forge")
|
||||
}
|
||||
|
||||
return list
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user