Skip to content
This repository was archived by the owner on Jul 4, 2022. It is now read-only.

Commit 1e65efb

Browse files
committed
Resolve issue with java16 support
1 parent ed579af commit 1e65efb

File tree

1 file changed

+16
-15
lines changed
  • simplixcore-minecraft/simplixcore-minecraft-spigot/simplixcore-minecraft-spigot-plugin/src/main/java/dev/simplix/core/minecraft/spigot/plugin/libloader

1 file changed

+16
-15
lines changed

simplixcore-minecraft/simplixcore-minecraft-spigot/simplixcore-minecraft-spigot-plugin/src/main/java/dev/simplix/core/minecraft/spigot/plugin/libloader/PluginClassLoaderFabricator.java

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -90,13 +90,15 @@ public ClassLoader apply(@NonNull File file) {
9090
log.error("-> New api is not (yet) present and legacy api is blocked");
9191
log.error("1) Upgrade to Minecraft 1.17 (Recommended)");
9292
log.error("2) Add: --add-opens java.base/java.net=ALL-UNNAMED as jvm flag");
93-
log.error("- Example java command: java --add-opens java.base/java.net=ALL-UNNAMED -Xmx2048M -Xms2048M -jar paper-1.12.2.jar");
93+
log.error(
94+
"- Example java command: java --add-opens java.base/java.net=ALL-UNNAMED -Xmx2048M -Xms2048M -jar paper-1.12.2.jar");
9495
log.error("3) Downgrade to Java11 ");
9596
throw new IllegalStateException(
9697
"Can not fabricate ClassLoader with outdated Minecraft and Java16");
9798
}
9899

99100
} catch (Throwable throwable) {
101+
// 1.16.5
100102
if (hasClassLoaderAccess && !Bukkit.getBukkitVersion().startsWith("1.17")) {
101103
log.info("Used Java11 fabricator");
102104
// Spigot 1.16 or newer using old reflection
@@ -121,22 +123,21 @@ public ClassLoader apply(@NonNull File file) {
121123
out = (ClassLoader) pluginClassloader;
122124

123125
// Spigot 1.17 newer - Compatible with Java16
126+
} else if (!hasClassLoaderAccess && !Bukkit.getBukkitVersion().startsWith("1.17")) {
127+
log.error("SimplixCore can not fabricate ClassLoaders");
128+
log.error(
129+
"Your minecraft version contains a bug & SimplixCore can't access java.base/java.net");
130+
log.error("Please see: https://hub.spigotmc.org/jira/browse/SPIGOT-6502");
131+
log.error("To resolve this you can either:");
132+
log.error("1) Upgrade to Minecraft 1.17 (Recommended)");
133+
log.error("2) Add: --add-opens java.base/java.net=ALL-UNNAMED as jvm flag");
134+
log.error(
135+
"- Example java command: java --add-opens java.base/java.net=ALL-UNNAMED -Xmx2048M -Xms2048M -jar paper-1.16.5.jar");
136+
log.error("3) Downgrade to Java11");
137+
throw new IllegalStateException(
138+
"Can not fabricate ClassLoader with outdated Minecraft and Java16");
124139
} else {
125140

126-
if (!hasClassLoaderAccess) {
127-
log.error("SimplixCore can not fabricate ClassLoaders");
128-
log.error(
129-
"Your minecraft version contains a bug & SimplixCore can't access java.base/java.net");
130-
log.error("Please see: https://hub.spigotmc.org/jira/browse/SPIGOT-6502");
131-
log.error("To resolve this you can either:");
132-
log.error("1) Upgrade to Minecraft 1.17 (Recommended)");
133-
log.error("2) Add: --add-opens java.base/java.net=ALL-UNNAMED as jvm flag");
134-
log.error(
135-
"- Example java command: java --add-opens java.base/java.net=ALL-UNNAMED -Xmx2048M -Xms2048M -jar paper-1.16.5.jar");
136-
log.error("3) Downgrade to Java11");
137-
throw new IllegalStateException(
138-
"Can not fabricate ClassLoader with outdated Minecraft and Java16");
139-
}
140141
log.info("Used Java16 fabricator");
141142
Class<?> classLoaderClass = Class.forName("org.bukkit.plugin.java.PluginClassLoader");
142143
Constructor<?> constructor = classLoaderClass.getDeclaredConstructor(

0 commit comments

Comments
 (0)