common
TabooLib 的加载器,负责环境部署,是核心部分。本模块包含了 TabooLib 的基础组件,如生命周期管理、类加载、平台适配等。
TabooLib
TabooLib 的入口类,主要包含生命周期管理、类加载和环境检测等功能。
注册生命周期任务
/**
* 推迟任务到指定生命周期下执行,如果生命周期已经过去则立即执行
*
* @param lifeCycle 生命周期
* @param runnable 任务
*/
public static void registerLifeCycleTask(LifeCycle lifeCycle, int priority, Runnable runnable)
生命周期相关方法
/**
* 是否停止 TabooLib 及插件加载流程
*/
public static boolean isStopped()
/**
* 停止 TabooLib 及插件加载流程
*/
public static void setStopped(boolean value)
/**
* 获取当前生命周期
*/
public static LifeCycle getCurrentLifeCycle()
/**
* 执行生命周期任务
*/
public static void lifeCycle(LifeCycle lifeCycle)
环境检测方法
/**
* 检查当前 Kotlin 环境是否有效
*/
public static boolean isKotlinEnvironment()
/**
* 检查当前 Kotlin Coroutines 环境是否有效
*/
public static boolean isKotlinCoroutinesEnvironment()
类加载相关方法
/**
* 获取类
* 由于 Paper 1.20.6+ 会在运行时修改字节码以接管插件的 Class.forName 调用,
* 因此 TabooLib 的外部模块均需要通过此方法获取类,以借助 Paper 的重定向机制。
*/
public static Class<?> getClass(String name) throws ClassNotFoundException
/**
* 获取类
* 逆天 Paper,这俩玩意儿反而不接管,想不明白。
*/
public static Class<?> getClass(String name, boolean initialize) throws ClassNotFoundException
/**
* 获取类
*/
public static Class<?> getClass(String name, boolean initialize, ClassLoader classLoader) throws ClassNotFoundException
/**
* 设置类查找器
*/
public static void setClassFinder(ClassFinder classFinder)
/**
* 获取类查找器
*/
public static ClassFinder getClassFinder()
/**
* 获取当前插件所有被唤醒的类
*/
public static Map<String, Object> getAwakenedClasses()