mirror of
https://github.com/PaperMC/Paper.git
synced 2024-09-03 02:20:51 +02:00
Upstream has released updates that appear to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing Bukkit Changes: 044d4ee9 SPIGOT-7283, SPIGOT-7318: Add AsyncStructureGenerateEvent and BlockState cloning 57b73d57 PR-913: Deprecate Projectile#doesBounce() and #setBounce() 43373c44 PR-904: Update FeatureFlag for 1.20.2 a7bbbf0c PR-911: Expand DataPack API with 1.20.2 pack version methods 0341e3a0 SPIGOT-7489: Add TeleportDuration to Display Entity bcd8d2aa PR-912: Update Minecraft Wiki URLs CraftBukkit Changes: 99aafc222 Increase outdated build delay dab849f08 SPIGOT-7283, SPIGOT-7318: Add AsyncStructureGenerateEvent and BlockState cloning 041b29ae3 Upgrade specialsource-maven-plugin 851a32cff PR-1263: Remove unused implementation of AbstractProjectile#doesBounce() and #setBounce() 251af0da3 PR-1261: Expand DataPack API with 1.20.2 pack version methods 46e4ba627 Upgrade specialsource-maven-plugin df3738a24 SPIGOT-7489: Add TeleportDuration to Display Entity 8d0fea457 PR-1262: Update Minecraft Wiki URLs e62905aab SPIGOT-7490: Fix entity equipment updates Spigot Changes: a0f3d486 Rebuild patches
48 lines
2.9 KiB
Diff
48 lines
2.9 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Nassim Jahnke <nassim@njahnke.dev>
|
|
Date: Wed, 16 Mar 2022 13:58:16 +0100
|
|
Subject: [PATCH] Improve java version check
|
|
|
|
Co-Authored-By: MiniDigger <admin@benndorf.dev>
|
|
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
|
|
index a271ac2e6b17524bf61ef0bc5df7f865dacbe6b0..30f752f99ab888fd78ff58c0263372ec899fe7d6 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
|
|
@@ -200,23 +200,27 @@ public class Main {
|
|
return;
|
|
}
|
|
|
|
+ // Paper start - better java version checks
|
|
+ boolean skip = Boolean.getBoolean("Paper.IgnoreJavaVersion");
|
|
float javaVersion = Float.parseFloat(System.getProperty("java.class.version"));
|
|
- if (javaVersion < 61.0) {
|
|
- System.err.println("Unsupported Java detected (" + javaVersion + "). This version of Minecraft requires at least Java 17. Check your Java version with the command 'java -version'.");
|
|
- return;
|
|
- }
|
|
- if (javaVersion > 65.0) {
|
|
- System.err.println("Unsupported Java detected (" + javaVersion + "). Only up to Java 21 is supported.");
|
|
+ boolean isOldVersion = javaVersion < 61.0;
|
|
+ if (!skip && isOldVersion) {
|
|
+ System.err.println("Unsupported Java detected (" + javaVersion + "). This version of Minecraft requires at least Java 17. Check your Java version with the command 'java -version'. For more info see https://docs.papermc.io/misc/java-install");
|
|
return;
|
|
}
|
|
String javaVersionName = System.getProperty("java.version");
|
|
// J2SE SDK/JRE Version String Naming Convention
|
|
boolean isPreRelease = javaVersionName.contains("-");
|
|
- if (isPreRelease && javaVersion == 61.0) {
|
|
- System.err.println("Unsupported Java detected (" + javaVersionName + "). You are running an outdated, pre-release version. Only general availability versions of Java are supported. Please update your Java version.");
|
|
+ if (!skip && isPreRelease) {
|
|
+ System.err.println("Unsupported Java detected (" + javaVersionName + "). You are running an unsupported, non official, version. Only general availability versions of Java are supported. Please update your Java version. See https://docs.papermc.io/paper/faq#unsupported-java-detected-what-do-i-do for more information.");
|
|
return;
|
|
}
|
|
|
|
+ if (skip && (isOldVersion || isPreRelease)) {
|
|
+ System.err.println("Unsupported Java detected ("+ javaVersionName + "), but the check was skipped. Proceed with caution! ");
|
|
+ }
|
|
+ // Paper end - better java version checks
|
|
+
|
|
try {
|
|
// Paper start - Handled by TerminalConsoleAppender
|
|
/*
|