From 9b6aadff54d33e555426ed843cb9692b9454c73e Mon Sep 17 00:00:00 2001 From: Nick Hensel Date: Sun, 28 Aug 2022 23:44:18 +0200 Subject: [PATCH] Also load resources from LibraryLoader --- .../bukkit/plugin/java/PluginClassLoader.java | 25 +++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/paper-api/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java b/paper-api/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java index de017d10db..7e4f7cb2af 100644 --- a/paper-api/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java +++ b/paper-api/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java @@ -109,14 +109,35 @@ public final class PluginClassLoader extends URLClassLoader implements io.paperm @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 getResources(String name) throws IOException { - return findResources(name); + // Paper start + java.util.ArrayList 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 void addEnumeration(java.util.ArrayList list, Enumeration enumeration) { + while (enumeration.hasMoreElements()) { + list.add(enumeration.nextElement()); + } + } + // Paper end + // Paper start @Override public Class loadClass(@NotNull String name, boolean resolve, boolean checkGlobal, boolean checkLibraries) throws ClassNotFoundException {