Skip to content

Commit b46b7dc

Browse files
authored
Allow custom modloader versions for auto curseforge (#670)
1 parent 373182c commit b46b7dc

File tree

2 files changed

+17
-2
lines changed

2 files changed

+17
-2
lines changed

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

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,9 @@ public class CurseForgeInstaller {
142142
@Getter @Setter
143143
Duration fileDownloadRetryMinDelay = Duration.ofSeconds(5);
144144

145+
@Getter @Setter
146+
private String customModLoaderVersion;
147+
145148
/**
146149
*/
147150
public void installFromModpackZip(Path modpackZip, String slug) {
@@ -972,7 +975,13 @@ private void prepareModLoader(String id, String minecraftVersion) {
972975
}
973976

974977
final String provider = parts[0];
975-
final String loaderVersion = parts.length == 2 ? parts[1] : parts[2];
978+
String loaderVersion = parts.length == 2 ? parts[1] : parts[2];
979+
980+
// Override with custom versions if provided
981+
if (customModLoaderVersion != null) {
982+
log.info("Overriding mod loader version from {} to {}", loaderVersion, customModLoaderVersion);
983+
loaderVersion = customModLoaderVersion;
984+
}
976985

977986
try (SharedFetch sharedFetch = Fetch.sharedFetch("install-curseforge", sharedFetchOptions)) {
978987

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

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,11 @@ public class InstallCurseForgeCommand implements Callable<Integer> {
8989
)
9090
String apiKey;
9191

92+
@Option(names = "--mod-loader-version", paramLabel = "VERSION",
93+
description = "Override the mod loader version specified in the modpack"
94+
)
95+
String modLoaderVersion;
96+
9297
@ArgGroup(exclusive = false)
9398
ExcludeIncludeArgs excludeIncludeArgs = new ExcludeIncludeArgs();
9499

@@ -233,7 +238,8 @@ public Integer call() throws Exception {
233238
.setForgeUrlArgs(forgeUrlArgs)
234239
.setMaxConcurrentDownloads(maxConcurrentDownloads)
235240
.setFileDownloadRetries(fileDownloadRetries)
236-
.setFileDownloadRetryMinDelay(fileDownloadRetryMinDelay);
241+
.setFileDownloadRetryMinDelay(fileDownloadRetryMinDelay)
242+
.setCustomModLoaderVersion(modLoaderVersion);
237243

238244
if (apiBaseUrl != null) {
239245
installer.setApiBaseUrl(apiBaseUrl);

0 commit comments

Comments
 (0)