2022-09-20 03:07:03 +02:00
|
|
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
|
|
From: Nick Hensel <nickhensel25@icloud.com>
|
|
|
|
Date: Sun, 28 Aug 2022 23:44:18 +0200
|
|
|
|
Subject: [PATCH] Also load resources from LibraryLoader
|
|
|
|
|
|
|
|
|
|
|
|
diff --git a/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java b/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java
|
|
|
|
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
|
|
|
--- a/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java
|
|
|
|
+++ b/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java
|
2023-02-19 15:57:10 +01:00
|
|
|
@@ -0,0 +0,0 @@ public final class PluginClassLoader extends URLClassLoader implements io.paperm
|
2022-09-20 03:07:03 +02:00
|
|
|
|
|
|
|
@Override
|
|
|
|
public URL getResource(String name) {
|
|
|
|
- return findResource(name);
|
|
|
|
+ // Paper start
|
|
|
|
+ URL resource = findResource(name);
|
|
|
|
+ if (resource == null && libraryLoader != null) {
|
|
|
|
+ return libraryLoader.getResource(name);
|
|
|
|
+ }
|
|
|
|
+ return resource;
|
|
|
|
+ // Paper end
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public Enumeration<URL> getResources(String name) throws IOException {
|
|
|
|
- return findResources(name);
|
|
|
|
+ // Paper start
|
|
|
|
+ java.util.ArrayList<URL> resources = new java.util.ArrayList<>();
|
|
|
|
+ addEnumeration(resources, findResources(name));
|
|
|
|
+ if (libraryLoader != null) {
|
|
|
|
+ addEnumeration(resources, libraryLoader.getResources(name));
|
|
|
|
+ }
|
|
|
|
+ return Collections.enumeration(resources);
|
|
|
|
+ // Paper end
|
|
|
|
}
|
|
|
|
|
|
|
|
+ // Paper start
|
|
|
|
+ private <T> void addEnumeration(java.util.ArrayList<T> list, Enumeration<T> enumeration) {
|
|
|
|
+ while (enumeration.hasMoreElements()) {
|
|
|
|
+ list.add(enumeration.nextElement());
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ // Paper end
|
|
|
|
+
|
2023-02-19 15:57:10 +01:00
|
|
|
// Paper start
|
2022-09-20 03:07:03 +02:00
|
|
|
@Override
|
2023-02-19 15:57:10 +01:00
|
|
|
public Class<?> loadClass(@NotNull String name, boolean resolve, boolean checkGlobal, boolean checkLibraries) throws ClassNotFoundException {
|