diff --git a/fclauncher/InstanceManager.go b/fclauncher/InstanceManager.go index 8eca06b..0ddf7ee 100644 --- a/fclauncher/InstanceManager.go +++ b/fclauncher/InstanceManager.go @@ -335,11 +335,11 @@ func (i *InstanceManager) InstallFabric(instance string, fabricVersion string) { } client: for _, lib := range metadata.LauncherMeta.Libraries.Client { - tokens := strings.Split(ProcessMavenPath(lib.Name), string(os.PathSeparator)) + tokens := strings.Split(ProcessMavenPath(lib.Name), "/") pkg := tokens[len(tokens)-2] instanceObject.Libraries = append(instanceObject.Libraries, filepath.Join(ProcessMavenPath(lib.Name), ProcessMavenFilename(lib.Name))) for ind, path := range instanceObject.Libraries { - tokens := strings.Split(path, string(os.PathSeparator)) + tokens := strings.Split(path, "/") if pkg == tokens[len(tokens)-3] { instanceObject.Libraries[ind] = filepath.Join(ProcessMavenPath(lib.Name), ProcessMavenFilename(lib.Name)) fmt.Printf("duplicate library %s\n", pkg) @@ -349,7 +349,7 @@ client: } common: for _, lib := range metadata.LauncherMeta.Libraries.Common { - tokens := strings.Split(ProcessMavenPath(lib.Name), string(os.PathSeparator)) + tokens := strings.Split(ProcessMavenPath(lib.Name), "/") pkg := tokens[len(tokens)-2] instanceObject.Libraries = append(instanceObject.Libraries, filepath.Join(ProcessMavenPath(lib.Name), ProcessMavenFilename(lib.Name))) for ind, path := range instanceObject.Libraries { @@ -394,11 +394,11 @@ func (i *InstanceManager) InstallQuilt(instance string, quiltVersion string) { } client: for _, lib := range metadata.LauncherMeta.Libraries.Client { - tokens := strings.Split(ProcessMavenPath(lib.Name), string(os.PathSeparator)) + tokens := strings.Split(ProcessMavenPath(lib.Name), "/") pkg := tokens[len(tokens)-2] instanceObject.Libraries = append(instanceObject.Libraries, filepath.Join(ProcessMavenPath(lib.Name), ProcessMavenFilename(lib.Name))) for ind, path := range instanceObject.Libraries { - tokens := strings.Split(path, string(os.PathSeparator)) + tokens := strings.Split(path, "/") if pkg == tokens[len(tokens)-3] { instanceObject.Libraries[ind] = filepath.Join(ProcessMavenPath(lib.Name), ProcessMavenFilename(lib.Name)) fmt.Printf("duplicate library %s\n", pkg) @@ -408,11 +408,11 @@ client: } common: for _, lib := range metadata.LauncherMeta.Libraries.Common { - tokens := strings.Split(ProcessMavenPath(lib.Name), string(os.PathSeparator)) + tokens := strings.Split(ProcessMavenPath(lib.Name), "/") pkg := tokens[len(tokens)-2] instanceObject.Libraries = append(instanceObject.Libraries, filepath.Join(ProcessMavenPath(lib.Name), ProcessMavenFilename(lib.Name))) for ind, path := range instanceObject.Libraries { - tokens := strings.Split(path, string(os.PathSeparator)) + tokens := strings.Split(path, "/") if pkg == tokens[len(tokens)-3] { instanceObject.Libraries[ind] = filepath.Join(ProcessMavenPath(lib.Name), ProcessMavenFilename(lib.Name)) fmt.Printf("duplicate library %s\n", pkg) @@ -456,11 +456,11 @@ func (i *InstanceManager) InstallForge(instance string, forgeVersion string) { instanceObject.ForgeVersion = forgeVersion outer: for _, lib := range installData.Libraries { - tokens := strings.Split(lib.Downloads.Artifact.Path, string(os.PathSeparator)) + tokens := strings.Split(lib.Downloads.Artifact.Path, "/") pkg := tokens[len(tokens)-2] instanceObject.Libraries = append(instanceObject.Libraries, lib.Downloads.Artifact.Path) for ind, path := range instanceObject.Libraries { - tokens := strings.Split(path, string(os.PathSeparator)) + tokens := strings.Split(path, "/") if pkg == tokens[len(tokens)-3] { instanceObject.Libraries[ind] = filepath.Join(ProcessMavenPath(lib.Name), ProcessMavenFilename(lib.Name)) fmt.Printf("duplicate library %s\n", pkg) diff --git a/fclauncher/fabric.go b/fclauncher/fabric.go index 668b940..24af8f8 100644 --- a/fclauncher/fabric.go +++ b/fclauncher/fabric.go @@ -133,6 +133,7 @@ func ProcessMavenPath(maven string) string { pack := tokens[1] version := tokens[2] path = filepath.Join(path, pack, version) + path = strings.ReplaceAll(path, "\\", "/") return path }