Skip to content

Commit 1bc109e

Browse files
committed
Request preferred version types from Modrinth only
1 parent 86e1702 commit 1bc109e

File tree

2 files changed

+19
-3
lines changed

2 files changed

+19
-3
lines changed

src/main/java/com/terraformersmc/modmenu/api/UpdateChannel.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ public enum UpdateChannel {
1313
/**
1414
* @return the user's preferred update channel.
1515
*/
16-
public UpdateChannel getUserPreference() {
16+
public static UpdateChannel getUserPreference() {
1717
return ModMenuConfig.UPDATE_CHANNEL.getValue();
1818
}
1919
}

src/main/java/com/terraformersmc/modmenu/util/UpdateCheckerUtil.java

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,20 @@ public static void checkForModrinthUpdates() {
8686
.get().getMetadata().getVersion().getFriendlyString().split("\\+", 1); // Strip build metadata for privacy
8787
final var modMenuVersion = splitVersion.length > 1 ? splitVersion[1] : splitVersion[0];
8888
final var userAgent = "%s/%s (%s/%s%s)".formatted(ModMenu.GITHUB_REF, modMenuVersion, mcVer, primaryLoader, environment);
89-
String body = ModMenu.GSON_MINIFIED.toJson(new LatestVersionsFromHashesBody(modHashes.keySet(), loaders, mcVer));
89+
90+
List<UpdateChannel> updateChannels;
91+
UpdateChannel preferredChannel = UpdateChannel.getUserPreference();
92+
93+
if (preferredChannel == UpdateChannel.RELEASE) {
94+
updateChannels = List.of(UpdateChannel.RELEASE);
95+
} else if (preferredChannel == UpdateChannel.BETA) {
96+
updateChannels = List.of(UpdateChannel.BETA, UpdateChannel.RELEASE);
97+
} else {
98+
updateChannels = List.of(UpdateChannel.ALPHA, UpdateChannel.BETA, UpdateChannel.RELEASE);
99+
}
100+
101+
String body = ModMenu.GSON_MINIFIED.toJson(new LatestVersionsFromHashesBody(modHashes.keySet(), loaders, mcVer, updateChannels));
102+
90103
LOGGER.debug("User agent: " + userAgent);
91104
LOGGER.debug("Body: " + body);
92105
var latestVersionsRequest = HttpRequest.newBuilder()
@@ -161,11 +174,14 @@ public static class LatestVersionsFromHashesBody {
161174
public Collection<String> loaders;
162175
@SerializedName("game_versions")
163176
public Collection<String> gameVersions;
177+
@SerializedName("version_types")
178+
public Collection<String> versionTypes;
164179

165-
public LatestVersionsFromHashesBody(Collection<String> hashes, Collection<String> loaders, String mcVersion) {
180+
public LatestVersionsFromHashesBody(Collection<String> hashes, Collection<String> loaders, String mcVersion, Collection<UpdateChannel> updateChannels) {
166181
this.hashes = hashes;
167182
this.loaders = loaders;
168183
this.gameVersions = Set.of(mcVersion);
184+
this.versionTypes = updateChannels.stream().map(value -> value.toString().toLowerCase()).toList();
169185
}
170186
}
171187
}

0 commit comments

Comments
 (0)