TabooLib 4.2 更新内容

新增 @TCommand 注解,用于在开服后自动注册 BaseMainCommand 命令
	新增 @TListener 注解,用于在开服后自动注册监听器
    新增 @Instantiable 注解,用于在开服后自动执行构造方法(东西多,不想在主类一条一条写)

	新增 ItemBuilder 快速创建物品
	新增 MenuBuilder 快速创建界面
    新增 TCommandHandler 类用于动态命令注册
    新增 SimpleCommandBuilder 用于快速注册命令(妈的抄了个四不像)

	主类调整,插件初始化业务转移至 TabooLibLoader 类中
	主类调整,删除原有的 TabooLib 数据库储存方式,改为新版数据库代码

	MySQLConnection 类已过时,不在维护。新的数据库方法由 SQLTable 类实现

	TabooLib 允许在 BungeeCord 载入了

	彻底删除 JavaShell 相关代码(这个丢人玩意儿终于被删了)

	删除 JavaScriptUtils,改为 ScriptHandler(这个丢人玩意儿终于被改了)

	删除 LogUtils,改为 TLogs(这个丢人玩意儿终于被改了)

	新增 allen-zhang 提供的 SimpleScoreboard 工具

    注解扫描只对依赖(软兼容)于 TabooLib 的插件有效

    SQLTable 新增三个方法(executeInsert, executeSelect, executeUpdate)节省命令时间

    TLM 删除预定。

	ThreadUtils 删除预定。

    注意!该版本下的数据库储存方式将无法使用(PlayerData,PluginData)
This commit is contained in:
坏黑
2018-08-27 15:19:54 +08:00
parent 2ffb1ce886
commit fb13b607a1
13 changed files with 402 additions and 114 deletions

View File

@@ -23,36 +23,94 @@ public class TabooLib {
}
}
/**
* 获取主类对象,因 Main 名称容易造成混淆所以转移至此
*
* @return {@link Main}
*/
public static Main instance() {
return (Main) Main.getInst();
}
/**
* 插件是否依赖于 TabooLib依赖或软兼容
*
* @param plugin 插件
* @return boolean
*/
public static boolean isDependTabooLib(Plugin plugin) {
return plugin.getDescription().getDepend().contains("TabooLib") || plugin.getDescription().getSoftDepend().contains("TabooLib");
}
/**
* 是否为 Spigot 核心,因 TabooLib 可在 BungeeCord 上运行所以添加此方法
*
* @return boolean
*/
public static boolean isSpigot() {
return spigot;
}
/**
* 获取 TabooLib 插件版本
*
* @return double
*/
public static double getPluginVersion() {
return NumberUtils.getDouble(Main.getInst().getDescription().getVersion());
}
/**
* 获取服务端版本
*
* @return String
*/
public static String getVersion() {
return Bukkit.getServer().getClass().getPackage().getName().replace(".", ",").split(",")[3];
}
/**
* 获取服务端版本数字
*
* @return int
*/
public static int getVersionNumber() {
return getVerint();
}
/**
* 重置服务器序列号
*/
public static void resetServerUID() {
DataUtils.getPluginData("TabooLibrary", null).set("serverUID", UUID.randomUUID().toString());
}
/**
* 是否为 debug 模式
*
* @return boolean
*/
public static boolean isDebug() {
return Main.getInst().getConfig().getBoolean("DEBUG");
}
/**
* 发送 debug 信息
*
* @param plugin 插件名
* @param args 内容
*/
public static void debug(Plugin plugin, String... args) {
if (Main.getInst().getConfig().getBoolean("DEBUG")) {
Arrays.stream(args).forEach(var -> Bukkit.getConsoleSender().sendMessage(ChatColor.DARK_RED + "[TabooLib - DEBUG][" + plugin.getName() + "] " + ChatColor.RED + var));
}
}
public static double getPluginVersion() {
return NumberUtils.getDouble(Main.getInst().getDescription().getVersion());
}
public static String getVersion() {
return Bukkit.getServer().getClass().getPackage().getName().replace(".", ",").split(",")[3];
}
public static int getVersionNumber() {
return getVerint();
}
/**
* 获取服务器序列号
*
* @return String
*/
public static String getServerUID() {
if (!DataUtils.getPluginData("TabooLibrary", null).contains("serverUID")) {
DataUtils.getPluginData("TabooLibrary", null).set("serverUID", UUID.randomUUID().toString());
@@ -60,10 +118,6 @@ public class TabooLib {
return DataUtils.getPluginData("TabooLibrary", null).getString("serverUID");
}
public static void resetServerUID() {
DataUtils.getPluginData("TabooLibrary", null).set("serverUID", UUID.randomUUID().toString());
}
@Deprecated
public static int getVerint() {
String version = getVersion();