Fix 1.18 java-runtime-beta
This commit is contained in:
parent
b6fb915dd9
commit
6e9b839fee
|
@ -3,34 +3,28 @@ package io.gitlab.jfronny.inceptum.model.mojang;
|
|||
import com.google.gson.annotations.SerializedName;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public class JvmInfo {
|
||||
public Jvms linux;
|
||||
public Map<String, List<Jvm>> linux;
|
||||
@SerializedName("mac-os")
|
||||
public Jvms macOs;
|
||||
public Map<String, List<Jvm>> macOs;
|
||||
@SerializedName("windows-x64")
|
||||
public Jvms windowsX64;
|
||||
public Map<String, List<Jvm>> windowsX64;
|
||||
|
||||
public static class Jvms {
|
||||
@SerializedName("java-runtime-alpha")
|
||||
public List<Jvm> javaRuntimeAlpha;
|
||||
@SerializedName("jre-legacy")
|
||||
public List<Jvm> jreLegacy;
|
||||
public static class Jvm {
|
||||
public Availability availability;
|
||||
public MojangFileDownload manifest;
|
||||
public Version version;
|
||||
|
||||
public static class Jvm {
|
||||
public Availability availability;
|
||||
public MojangFileDownload manifest;
|
||||
public Version version;
|
||||
public static class Availability {
|
||||
public int group;
|
||||
public int progress;
|
||||
}
|
||||
|
||||
public static class Availability {
|
||||
public int group;
|
||||
public int progress;
|
||||
}
|
||||
|
||||
public static class Version {
|
||||
public String name;
|
||||
public String released;
|
||||
}
|
||||
public static class Version {
|
||||
public String name;
|
||||
public String released;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -40,19 +40,17 @@ public class McApi {
|
|||
}
|
||||
|
||||
public static Map<String, JvmFileInfo.File> getJvm(String component, int majorVersion) throws IOException {
|
||||
// https://github.com/ATLauncher/ATLauncher/blob/master/src/main/java/com/atlauncher/constants/Constants.java#L116
|
||||
// https://github.com/ATLauncher/ATLauncher/blob/master/src/main/java/com/atlauncher/constants/Constants.java#L123
|
||||
JvmInfo info = Utils.downloadObject("https://launchermeta.mojang.com/v1/products/java-runtime/2ec0cc96c44e5a76b9c8b7c39df7210883d12871/all.json", JvmInfo.class);
|
||||
JvmInfo.Jvms vms = switch (OSCheck.OS) {
|
||||
Map<String, List<JvmInfo.Jvm>> vms = switch (OSCheck.OS) {
|
||||
case WINDOWS -> info.windowsX64;
|
||||
case LINUX -> info.linux;
|
||||
case MAC_OS -> info.macOs;
|
||||
};
|
||||
List<JvmInfo.Jvms.Jvm> vmList = switch (component) {
|
||||
case "java-runtime-alpha" -> vms.javaRuntimeAlpha;
|
||||
case "jre-legacy" -> vms.jreLegacy;
|
||||
default -> throw new IOException("Invalid JVM component: " + component);
|
||||
};
|
||||
for (JvmInfo.Jvms.Jvm jvm : vmList) {
|
||||
List<JvmInfo.Jvm> vmList = vms.get(component);
|
||||
if (vmList == null)
|
||||
throw new IOException("Invalid component: " + component + " (available: " + String.join(", ", vms.keySet()));
|
||||
for (JvmInfo.Jvm jvm : vmList) {
|
||||
if (jvm.version.name.startsWith(Integer.toString(majorVersion))) {
|
||||
return downloadObject(jvm.manifest.url, jvm.manifest.sha1, JvmFileInfo.class).files;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue