Skip to content

Commit 4db7374

Browse files
authored
cf: add support for modpacks that use NeoForge (#444)
1 parent e90c6d8 commit 4db7374

File tree

1 file changed

+19
-2
lines changed

1 file changed

+19
-2
lines changed

src/main/java/me/itzg/helpers/curseforge/CurseForgeInstaller.java

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@
4848
import me.itzg.helpers.files.ResultsFileWriter;
4949
import me.itzg.helpers.forge.ForgeInstaller;
5050
import me.itzg.helpers.forge.ForgeInstallerResolver;
51+
import me.itzg.helpers.forge.NeoForgeInstallerResolver;
5152
import me.itzg.helpers.http.FailedRequestException;
5253
import me.itzg.helpers.http.Fetch;
5354
import me.itzg.helpers.http.SharedFetch;
@@ -931,9 +932,16 @@ private void prepareModLoader(String id, String minecraftVersion) {
931932
prepareForge(sharedFetch, minecraftVersion, parts[1]);
932933
break;
933934

935+
case "neoforge":
936+
prepareNeoForge(sharedFetch, minecraftVersion, parts[1]);
937+
break;
938+
934939
case "fabric":
935940
prepareFabric(minecraftVersion, parts[1]);
936941
break;
942+
943+
default:
944+
throw new InvalidParameterException(String.format("ModLoader %s is not yet supported", parts[0]));
937945
}
938946
}
939947
}
@@ -945,15 +953,24 @@ private void prepareFabric(String minecraftVersion, String loaderVersion) {
945953
installer.installUsingVersions(minecraftVersion, loaderVersion, null);
946954
}
947955

948-
private void prepareForge(SharedFetch sharedFetch, String minecraftVersion, String forgeVersion) {
956+
private void prepareForge(SharedFetch sharedFetch, String minecraftVersion, String loaderVersion) {
949957
new ForgeInstaller(
950958
new ForgeInstallerResolver(sharedFetch,
951-
minecraftVersion, forgeVersion
959+
minecraftVersion, loaderVersion
952960
)
953961
)
954962
.install(outputDir, resultsFile, forceReinstallModloader, "Forge");
955963
}
956964

965+
private void prepareNeoForge(SharedFetch sharedFetch, String minecraftVersion, String loaderVersion) {
966+
new ForgeInstaller(
967+
new NeoForgeInstallerResolver(sharedFetch,
968+
minecraftVersion, loaderVersion
969+
)
970+
)
971+
.install(outputDir, resultsFile, forceReinstallModloader, "NeoForge");
972+
}
973+
957974
private MinecraftModpackManifest extractModpackManifest(Path modpackZip) throws IOException {
958975
try (ZipFile zipFile = ZipFile.builder().setPath(modpackZip).get()) {
959976
final ZipArchiveEntry entry = zipFile.getEntry("manifest.json");

0 commit comments

Comments
 (0)