Check Minecraft java version (#1059)

* Fix deprecation warning in Gradle 8.7 (#1056)

* Check Minecraft java version

* Fix

* Fix

* Fix
This commit is contained in:
modmuss
2024-03-10 13:38:37 +00:00
committed by GitHub
parent b44e4ec3d5
commit 2e74a84d37
3 changed files with 19 additions and 3 deletions

View File

@@ -31,6 +31,7 @@ import java.util.List;
import java.util.Objects;
import com.google.common.base.Preconditions;
import org.gradle.api.JavaVersion;
import org.gradle.api.Project;
import org.gradle.api.logging.Logger;
import org.jetbrains.annotations.Nullable;
@@ -86,6 +87,17 @@ public abstract class MinecraftProvider {
getExtension()::download
);
final MinecraftVersionMeta.JavaVersion javaVersion = getVersionInfo().javaVersion();
if (javaVersion != null) {
final int requiredMajorJavaVersion = getVersionInfo().javaVersion().majorVersion();
final JavaVersion requiredJavaVersion = JavaVersion.toVersion(requiredMajorJavaVersion);
if (!JavaVersion.current().isCompatibleWith(requiredJavaVersion)) {
throw new IllegalStateException("Minecraft " + minecraftVersion + " requires Java " + requiredJavaVersion + " but Gradle is using " + JavaVersion.current());
}
}
downloadJars();
if (provideServer()) {

View File

@@ -47,7 +47,8 @@ public record MinecraftVersionMeta(
int minimumLauncherVersion,
String releaseTime,
String time,
String type
String type,
@Nullable JavaVersion javaVersion
) {
private static Map<Platform.OperatingSystem, String> OS_NAMES = Map.of(
Platform.OperatingSystem.WINDOWS, "windows",
@@ -168,4 +169,7 @@ public record MinecraftVersionMeta(
return new File(baseDirectory, path());
}
}
public record JavaVersion(String component, int majorVersion) {
}
}

View File

@@ -34,13 +34,13 @@ interface LayeredMappingsTestConstants {
client_mappings: new MinecraftVersionMeta.Download(null, "227d16f520848747a59bef6f490ae19dc290a804", 6431705, "https://launcher.mojang.com/v1/objects/227d16f520848747a59bef6f490ae19dc290a804/client.txt"),
server_mappings: new MinecraftVersionMeta.Download(null, "84d80036e14bc5c7894a4fad9dd9f367d3000334", 4948536, "https://launcher.mojang.com/v1/objects/84d80036e14bc5c7894a4fad9dd9f367d3000334/server.txt")
]
public static final MinecraftVersionMeta VERSION_META_1_17 = new MinecraftVersionMeta(null, null, null, 0, DOWNLOADS_1_17, null, null, null, null, 0, null, null, null)
public static final MinecraftVersionMeta VERSION_META_1_17 = new MinecraftVersionMeta(null, null, null, 0, DOWNLOADS_1_17, null, null, null, null, 0, null, null, null, null)
public static final Map<String, MinecraftVersionMeta.Download> DOWNLOADS_1_16_5 = [
client_mappings: new MinecraftVersionMeta.Download(null, "e3dfb0001e1079a1af72ee21517330edf52e6192", 5746047, "https://launcher.mojang.com/v1/objects/e3dfb0001e1079a1af72ee21517330edf52e6192/client.txt"),
server_mappings: new MinecraftVersionMeta.Download(null, "81d5c793695d8cde63afddb40dde88e3a88132ac", 4400926, "https://launcher.mojang.com/v1/objects/81d5c793695d8cde63afddb40dde88e3a88132ac/server.txt")
]
public static final MinecraftVersionMeta VERSION_META_1_16_5 = new MinecraftVersionMeta(null, null, null, 0, DOWNLOADS_1_16_5, null, null, null, null, 0, null, null, null)
public static final MinecraftVersionMeta VERSION_META_1_16_5 = new MinecraftVersionMeta(null, null, null, 0, DOWNLOADS_1_16_5, null, null, null, null, 0, null, null, null, null)
public static final String PARCHMENT_NOTATION = "org.parchmentmc.data:parchment-1.16.5:20210608-SNAPSHOT@zip"
public static final String PARCHMENT_URL = "https://maven.parchmentmc.net/org/parchmentmc/data/parchment-1.16.5/20210608-SNAPSHOT/parchment-1.16.5-20210608-SNAPSHOT.zip"