Search parent resource in PluginClassLoader
This commit is contained in:
parent
86ffdd103b
commit
d11631c656
|
@ -1,6 +1,7 @@
|
|||
package io.izzel.arclight.common.mixin.bukkit;
|
||||
|
||||
import com.google.common.io.ByteStreams;
|
||||
import cpw.mods.modlauncher.EnumerationHelper;
|
||||
import io.izzel.arclight.common.bridge.bukkit.JavaPluginLoaderBridge;
|
||||
import io.izzel.arclight.common.mod.util.remapper.ArclightRemapper;
|
||||
import io.izzel.arclight.common.mod.util.remapper.ClassLoaderRemapper;
|
||||
|
@ -20,7 +21,9 @@ import java.net.URL;
|
|||
import java.net.URLClassLoader;
|
||||
import java.net.URLConnection;
|
||||
import java.security.CodeSource;
|
||||
import java.util.Enumeration;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.concurrent.Callable;
|
||||
import java.util.jar.Manifest;
|
||||
|
||||
|
@ -49,6 +52,40 @@ public class PluginClassLoaderMixin extends URLClassLoader implements RemappingC
|
|||
super(urls);
|
||||
}
|
||||
|
||||
/**
|
||||
* @author IzzelAliz
|
||||
* @reason
|
||||
*/
|
||||
@Overwrite
|
||||
@Override
|
||||
public URL getResource(String name) {
|
||||
Objects.requireNonNull(name);
|
||||
URL url = findResource(name);
|
||||
if (url == null) {
|
||||
if (getParent() != null) {
|
||||
url = getParent().getResource(name);
|
||||
}
|
||||
}
|
||||
return url;
|
||||
}
|
||||
|
||||
/**
|
||||
* @author IzzelAliz
|
||||
* @reason
|
||||
*/
|
||||
@Overwrite
|
||||
@Override
|
||||
public Enumeration<URL> getResources(String name) throws IOException {
|
||||
Objects.requireNonNull(name);
|
||||
@SuppressWarnings("unchecked")
|
||||
Enumeration<URL>[] tmp = (Enumeration<URL>[]) new Enumeration<?>[2];
|
||||
if (getParent()!= null) {
|
||||
tmp[1] = getParent().getResources(name);
|
||||
}
|
||||
tmp[0] = findResources(name);
|
||||
return EnumerationHelper.merge(tmp[0], tmp[1]);
|
||||
}
|
||||
|
||||
/**
|
||||
* @author IzzelAliz
|
||||
* @reason
|
||||
|
|
Loading…
Reference in New Issue
Block a user