Skip to content

Commit

Permalink
patches for Java 11 compat
Browse files Browse the repository at this point in the history
  • Loading branch information
mcmonkey4eva committed Feb 7, 2021
1 parent 0721868 commit 74db558
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 16 deletions.
2 changes: 1 addition & 1 deletion dist/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.2.0</version>
<version>3.2.4</version>
<executions>
<execution>
<phase>package</phase>
Expand Down
2 changes: 1 addition & 1 deletion plugin/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.2.0</version>
<version>3.2.4</version>
<executions>
<execution>
<phase>package</phase>
Expand Down
27 changes: 16 additions & 11 deletions plugin/src/main/java/com/denizenscript/denizen/Denizen.java
Original file line number Diff line number Diff line change
Expand Up @@ -154,17 +154,22 @@ public void onEnable() {
PlayerFlagHandler.dataFolder.mkdir();
}
String javaVersion = System.getProperty("java.version");
if (!javaVersion.startsWith("8") && !javaVersion.startsWith("1.8")) {
if (javaVersion.startsWith("9") || javaVersion.startsWith("1.9") || javaVersion.startsWith("10") || javaVersion.startsWith("1.10") || javaVersion.startsWith("11")) {
getLogger().warning("Running unreliable Java version. Minecraft is built for Java 8. Newer Java versions are not guaranteed to function properly (due to changes Oracle made to how reflection works).");
getLogger().warning("Found java version: " + javaVersion);
}
else {
getLogger().warning("-------------------------------------");
getLogger().warning("Running incompatible Java version! Minecraft is built for Java 8. Older versions will not work, and newer versions will cause errors (due to Oracle removing reflection support)!");
getLogger().warning("Found java version: " + javaVersion);
getLogger().warning("-------------------------------------");
}
getLogger().info("Running on java version: " + javaVersion);
if (javaVersion.startsWith("8") || javaVersion.startsWith("1.8")) {
getLogger().info("Running on fully supported Java 8.");
}
else if (javaVersion.startsWith("11")) {
getLogger().info("Running on mostly supported Java 11. Some warnings may show or limitations may apply due to Java 11. If these limits become problems, switch to Java 8.");
}
else if (javaVersion.startsWith("9") || javaVersion.startsWith("1.9") || javaVersion.startsWith("10") || javaVersion.startsWith("1.10")) {
getLogger().warning("Running unreliable Java version. Minecraft is built for Java 8, and Paper is built for Java 11. Other Java versions are not guaranteed to function properly.");
getLogger().warning("Found java version: " + javaVersion);
}
else {
getLogger().warning("-------------------------------------");
getLogger().warning("Running incompatible Java version! Minecraft is built for Java 8, and Paper is built for Java 11. Older versions will not work, and newer versions will cause errors (due to Oracle removing reflection support)!");
getLogger().warning("Found java version: " + javaVersion);
getLogger().warning("-------------------------------------");
}
if (!NMSHandler.initialize(this)) {
getLogger().warning("-------------------------------------");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@
import net.md_5.bungee.chat.ComponentSerializer;
import net.md_5.bungee.api.ChatColor;

import javax.xml.bind.DatatypeConverter;
import java.nio.charset.StandardCharsets;

public class BukkitElementProperties implements Property {
Expand Down Expand Up @@ -346,7 +345,7 @@ public static void registerTags() {
PropertyParser.<BukkitElementProperties>registerTag("to_secret_colors", (attribute, object) -> {
String text = object.asString();
byte[] bytes = text.getBytes(StandardCharsets.UTF_8);
String hex = DatatypeConverter.printHexBinary(bytes);
String hex = CoreUtilities.hexEncode(bytes);
StringBuilder colors = new StringBuilder(text.length() * 2);
for (int i = 0; i < hex.length(); i++) {
colors.append(ChatColor.COLOR_CHAR).append(hex.charAt(i));
Expand All @@ -364,7 +363,7 @@ public static void registerTags() {
// -->
PropertyParser.<BukkitElementProperties>registerTag("from_secret_colors", (attribute, object) -> {
String text = object.asString().replace(String.valueOf(ChatColor.COLOR_CHAR), "");
byte[] bytes = DatatypeConverter.parseHexBinary(text);
byte[] bytes = CoreUtilities.hexDecode(text);
return new ElementTag(new String(bytes, StandardCharsets.UTF_8));
});

Expand Down

0 comments on commit 74db558

Please sign in to comment.