Make PaperSimplePluginClassLoader show class which is not found

This commit is contained in:
Shane Freeder 2024-05-18 21:17:54 +01:00
parent 5a9afbee65
commit 0ad09de75b
No known key found for this signature in database
GPG Key ID: A3F61EA5A085289C

View File

@ -1088,7 +1088,7 @@ index 0000000000000000000000000000000000000000..5a00e5c41274ded6b837fb81fa8f5461
+}
diff --git a/src/main/java/io/papermc/paper/plugin/entrypoint/classloader/PaperSimplePluginClassLoader.java b/src/main/java/io/papermc/paper/plugin/entrypoint/classloader/PaperSimplePluginClassLoader.java
new file mode 100644
index 0000000000000000000000000000000000000000..6688f2af4a32c2f79785f162e2eac0330d439ac1
index 0000000000000000000000000000000000000000..a4c18063854e050bd0c54d488ceeda43c768b6df
--- /dev/null
+++ b/src/main/java/io/papermc/paper/plugin/entrypoint/classloader/PaperSimplePluginClassLoader.java
@@ -0,0 +1,116 @@
@ -1155,7 +1155,7 @@ index 0000000000000000000000000000000000000000..6688f2af4a32c2f79785f162e2eac033
+ String path = name.replace('.', '/').concat(".class");
+ JarEntry entry = this.jar.getJarEntry(path);
+ if (entry == null) {
+ throw new ClassNotFoundException();
+ throw new ClassNotFoundException(name);
+ }
+
+ // See URLClassLoader#defineClass(String, Resource)
@ -7333,7 +7333,7 @@ index 909b2c98e7a9117d2f737245e4661792ffafb744..d96399e9bf1a58db5a4a22e58abb99e7
@Override
public FileConfiguration getConfig() {
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
index 311b4472f955cba658afa763b2f0b31023b53236..81a11402fda54ff40039fa23c53abb3572dccadf 100644
index cac2bfc711daba11a640e4e776b10c86041b0670..e62b93ce958633a1b6c55a8768332d61289d6556 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
@@ -425,6 +425,16 @@ public final class CraftMagicNumbers implements UnsafeValues {