49 lines
1.5 KiB
Java
49 lines
1.5 KiB
Java
package pw.yumc.MiaoScript.api;
|
|
|
|
import pw.yumc.MiaoScript.api.loader.MavenDependLoader;
|
|
import pw.yumc.MiaoScript.api.plugin.PluginManager;
|
|
import pw.yumc.MiaoScript.engine.MiaoScriptEngine;
|
|
|
|
import java.io.File;
|
|
import java.nio.file.Paths;
|
|
|
|
public class MiaoScriptAPI {
|
|
public static final String VERSION = "0.22.0";
|
|
private static String root;
|
|
private static String libPath;
|
|
private static ScriptEngine scriptEngine;
|
|
private static PluginManager pluginManager;
|
|
|
|
public static String getRoot() {
|
|
return root;
|
|
}
|
|
|
|
public static void setRoot(String root) {
|
|
MiaoScriptAPI.root = root;
|
|
MiaoScriptAPI.libPath = Paths.get(root, "libs").toString();
|
|
}
|
|
|
|
public static MiaoScriptEngine getEngine() {
|
|
return MiaoScriptAPI.scriptEngine.getEngine();
|
|
}
|
|
|
|
public static void setEngine(ScriptEngine scriptEngine) {
|
|
MiaoScriptAPI.scriptEngine = scriptEngine;
|
|
}
|
|
|
|
public static PluginManager getPluginManager() {
|
|
return pluginManager;
|
|
}
|
|
|
|
public static void setPluginManager(Object pluginManager) {
|
|
MiaoScriptAPI.pluginManager = getEngine().getInterface(pluginManager, PluginManager.class);
|
|
}
|
|
|
|
public static File[] loadMavenDepend(String groupId, String artifactId, String version) {
|
|
if (root == null || scriptEngine == null) {
|
|
throw new IllegalStateException("root can't be null before loadMavenDepend.");
|
|
}
|
|
return MavenDependLoader.load(MiaoScriptAPI.libPath, groupId, artifactId, version);
|
|
}
|
|
}
|