TabooLib v4.55

+ 对插件本体进行大面积整改,将一些过失或不再更新的工具类转移至 TabooLibDeprecated.jar 中。
+ 对 SimpleCommandBuilder 进行了微调,动态注册后的命令前缀将显示为注册插件。
+ 对 SimpleVersionControl 进行了微调,允许在 translate 类中选择所属插件。
+ 对 ItemBuilder 进行了微调,允许使用 ItemStack 作为构造参数。
+ ...
This commit is contained in:
坏黑
2018-10-13 21:36:49 +08:00
parent 64aba798c3
commit d793444dd5
134 changed files with 129 additions and 21103 deletions

View File

@@ -4,9 +4,11 @@ import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.ilummc.tlib.TLib;
import com.ilummc.tlib.annotations.Dependency;
import com.ilummc.tlib.dependency.TDependencyLoader;
import com.ilummc.tlib.inject.TDependencyInjector;
import com.ilummc.tlib.resources.TLocale;
import me.skymc.taboolib.bstats.Metrics;
import me.skymc.taboolib.deprecated.TabooLibDeprecated;
import me.skymc.taboolib.fileutils.FileUtils;
import me.skymc.taboolib.listener.TListener;
import me.skymc.taboolib.listener.TListenerHandler;
@@ -32,11 +34,13 @@ import java.util.*;
@TListener
public class TabooLibLoader implements Listener {
static TabooLibDeprecated tabooLibDeprecated;
static Map<String, List<Class>> pluginClasses = Maps.newHashMap();
static List<Loader> loaders = Lists.newArrayList();
static void setup() {
testInternet();
setupAddons();
setupDataFolder();
setupDatabase();
setupLibraries();
@@ -44,15 +48,24 @@ public class TabooLibLoader implements Listener {
static void register() {
setupClasses();
loadClasses();
registerListener();
registerMetrics();
loadClasses();
try {
tabooLibDeprecated = new TabooLibDeprecated();
} catch (Exception e) {
e.printStackTrace();
}
}
static void unregister() {
unloadClasses();
}
public static TabooLibDeprecated getTabooLibDeprecated() {
return tabooLibDeprecated;
}
public static Optional<List<Class>> getPluginClasses(Plugin plugin) {
return Optional.ofNullable(pluginClasses.get(plugin.getName()));
}
@@ -84,6 +97,14 @@ public class TabooLibLoader implements Listener {
metrics.addCustomChart(new Metrics.SingleLineChart("plugins_using_taboolib", () -> Math.toIntExact(Arrays.stream(Bukkit.getPluginManager().getPlugins()).filter(plugin -> plugin.getDescription().getDepend().contains("TabooLib")).count())));
}
static void setupAddons() {
TabooLib.instance().saveResource("Addons/TabooLibDeprecated.jar", true);
File file = new File(TabooLib.instance().getDataFolder(), "Addons");
if (file.exists()) {
Arrays.stream(file.listFiles()).forEach(listFile -> TDependencyLoader.addToPath(TabooLib.instance(), listFile));
}
}
static void setupDataFolder() {
Main.setPlayerDataFolder(FileUtils.folder(Main.getInst().getConfig().getString("DATAURL.PLAYER-DATA")));
Main.setServerDataFolder(FileUtils.folder(Main.getInst().getConfig().getString("DATAURL.SERVER-DATA")));