diff --git a/src/main/java/me/itzg/helpers/curseforge/CurseForgeInstaller.java b/src/main/java/me/itzg/helpers/curseforge/CurseForgeInstaller.java index e4545a7a..a173e7aa 100644 --- a/src/main/java/me/itzg/helpers/curseforge/CurseForgeInstaller.java +++ b/src/main/java/me/itzg/helpers/curseforge/CurseForgeInstaller.java @@ -48,6 +48,7 @@ import me.itzg.helpers.files.ResultsFileWriter; import me.itzg.helpers.forge.ForgeInstaller; import me.itzg.helpers.forge.ForgeInstallerResolver; +import me.itzg.helpers.forge.NeoForgeInstallerResolver; import me.itzg.helpers.http.FailedRequestException; import me.itzg.helpers.http.Fetch; import me.itzg.helpers.http.SharedFetch; @@ -931,9 +932,16 @@ private void prepareModLoader(String id, String minecraftVersion) { prepareForge(sharedFetch, minecraftVersion, parts[1]); break; + case "neoforge": + prepareNeoForge(sharedFetch, minecraftVersion, parts[1]); + break; + case "fabric": prepareFabric(minecraftVersion, parts[1]); break; + + default: + throw new InvalidParameterException(String.format("ModLoader %s is not yet supported", parts[0])); } } } @@ -945,15 +953,24 @@ private void prepareFabric(String minecraftVersion, String loaderVersion) { installer.installUsingVersions(minecraftVersion, loaderVersion, null); } - private void prepareForge(SharedFetch sharedFetch, String minecraftVersion, String forgeVersion) { + private void prepareForge(SharedFetch sharedFetch, String minecraftVersion, String loaderVersion) { new ForgeInstaller( new ForgeInstallerResolver(sharedFetch, - minecraftVersion, forgeVersion + minecraftVersion, loaderVersion ) ) .install(outputDir, resultsFile, forceReinstallModloader, "Forge"); } + private void prepareNeoForge(SharedFetch sharedFetch, String minecraftVersion, String loaderVersion) { + new ForgeInstaller( + new NeoForgeInstallerResolver(sharedFetch, + minecraftVersion, loaderVersion + ) + ) + .install(outputDir, resultsFile, forceReinstallModloader, "NeoForge"); + } + private MinecraftModpackManifest extractModpackManifest(Path modpackZip) throws IOException { try (ZipFile zipFile = ZipFile.builder().setPath(modpackZip).get()) { final ZipArchiveEntry entry = zipFile.getEntry("manifest.json");