-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathNukkitLibraryManager.java
More file actions
36 lines (30 loc) · 1.19 KB
/
NukkitLibraryManager.java
File metadata and controls
36 lines (30 loc) · 1.19 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
package cn.nukkitmot.exampleplugin.loader;
import cn.nukkit.plugin.Plugin;
import cn.nukkitmot.exampleplugin.loader.Logger.adapters.JDKLogAdapter;
import lombok.Getter;
import java.io.File;
import java.net.URLClassLoader;
import java.nio.file.Path;
import java.util.Objects;
import java.util.logging.Logger;
@Getter
public class NukkitLibraryManager extends LibraryManager {
private final Plugin plugin;
private final URLClassLoaderHelper classLoaderHelper;
public NukkitLibraryManager(Plugin plugin) {
this(plugin, "libs");
}
public NukkitLibraryManager(Plugin plugin, String directoryName) {
super(new JDKLogAdapter(Logger.getLogger(Objects.requireNonNull(plugin, "plugin").getName())),
plugin.getDataFolder().toPath(), directoryName);
URLClassLoader pluginClassLoader = (URLClassLoader) plugin.getClass().getClassLoader();
this.classLoaderHelper = new URLClassLoaderHelper(pluginClassLoader, this);
this.plugin = Objects.requireNonNull(plugin, "plugin");
addMavenCentral();
addJitPack();
}
@Override
protected void addToClasspath(Path file) {
this.classLoaderHelper.addToClasspath(file);
}
}