TabooLib/src/main/scala/io/izzel/taboolib/TabooLibAPI.java

65 lines
1.6 KiB
Java

package io.izzel.taboolib;
import io.izzel.taboolib.common.plugin.InternalPluginBridge;
import io.izzel.taboolib.module.db.local.Local;
import io.izzel.taboolib.module.nms.NMS;
import org.bukkit.Bukkit;
import org.bukkit.plugin.Plugin;
import java.util.Arrays;
/**
* @Author 坏黑
* @Since 2019-07-05 14:31
*/
public class TabooLibAPI {
private static boolean bukkit;
static {
try {
// 判断是否基于 Bukkit 运行
bukkit = Class.forName("org.bukkit.Bukkit") != null;
} catch (Exception ignored) {
}
}
public static InternalPluginBridge getPluginBridge() {
return InternalPluginBridge.handle();
}
public static boolean isBukkit() {
return bukkit;
}
public static boolean isOriginLoaded() {
return Bukkit.getPluginManager().getPlugin("TabooLib") != null;
}
public static boolean isDependTabooLib(Plugin plugin) {
return PluginLoader.isPlugin(plugin);
}
public static double[] getTPS() {
return NMS.handle().getTPS();
}
public static boolean isDebug() {
return Local.get().get("data").getBoolean("debug");
}
public static void debug(boolean debug) {
Local.get().get("data").set("debug", debug);
}
public static void debug(String... args) {
debug(TabooLib.getPlugin(), args);
}
public static void debug(Plugin plugin, String... args) {
if (isDebug()) {
Arrays.stream(args).forEach(line -> Bukkit.getConsoleSender().sendMessage("§4[" + plugin.getName() + "][DEBUG] §c" + line));
}
}
}