package net.t2code.alias.Spigot; import lombok.Getter; import net.t2code.alias.Spigot.objects.AliasObject; import net.t2code.alias.Spigot.objects.SubAliasObject; import net.t2code.alias.Spigot.system.BukkitCommandWrap; import net.t2code.alias.Spigot.system.BukkitCommandWrap_Useless; import net.t2code.alias.Spigot.system.Load; import net.t2code.alias.Util; import net.t2code.t2codelib.SPIGOT.api.messages.T2Ctemplate; import net.t2code.t2codelib.SPIGOT.api.minecraftVersion.T2CmcVersion; import org.bukkit.Bukkit; import org.bukkit.plugin.java.JavaPlugin; import java.io.File; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.logging.Level; public final class Main extends JavaPlugin { public static File getPath() { return plugin.getDataFolder(); } @Getter private static String version; @Getter private static List autor; @Getter private static Main plugin; @Getter private static String guiCode; public static HashMap aliasHashMap = new HashMap<>(); public static HashMap loadAliasHashMap = new HashMap<>(); public static HashMap subAliasHashMap = new HashMap<>(); public static ArrayList allAliases = new ArrayList<>(); public static ArrayList allSubAliases = new ArrayList<>(); public static ArrayList allForSubAliases = new ArrayList<>(); private BukkitCommandWrap bukkitCommandWrap = null; public BukkitCommandWrap getBukkitCommandWrap() { return this.bukkitCommandWrap; } @Override public void onEnable() { // Plugin startup logic plugin = this; autor = plugin.getDescription().getAuthors(); version = plugin.getDescription().getVersion(); if (pluginNotFound("T2CodeLib", 96388, Util.getRequiredT2CodeLibVersion())) return; try { Class.forName("com.mojang.brigadier.CommandDispatcher"); this.bukkitCommandWrap = new BukkitCommandWrap(); } catch (ClassNotFoundException | NoClassDefFoundError e) { this.bukkitCommandWrap = new BukkitCommandWrap_Useless(); } if (T2CmcVersion.isMc1_13()) { guiCode = ""; } else guiCode = "§6§8§9§r"; Load.onLoad(Util.getPrefix(), autor, version, Util.getSpigot(), Util.getDiscord(), Util.getBstatsID()); } @Override public void onDisable() { // Plugin shutdown logic aliasHashMap.clear(); allAliases.clear(); if (Bukkit.getPluginManager().getPlugin("T2CodeLib") == null) return; T2Ctemplate.onDisable(Util.getPrefix(), autor, version, Util.getSpigot(), Util.getDiscord()); } public static Boolean pluginNotFound(String pl, Integer spigotID, String ver) { if (Bukkit.getPluginManager().getPlugin(pl) == null) { plugin.getLogger().log(Level.SEVERE, "Plugin can not be loaded!"); Bukkit.getConsoleSender().sendMessage(Util.getPrefix() + " §e" + pl + " §4could not be found. Please download it here: " + "§6https://spigotmc.org/resources/" + pl + "." + spigotID + " §4to be able to use this plugin."); Main.plugin.getPluginLoader().disablePlugin(Main.plugin); return true; } else { String plVer = Bukkit.getPluginManager().getPlugin(pl).getDescription().getVersion(); if (ver.contains("_")) { if (!plVer.equals(ver)) { plugin.getLogger().log(Level.SEVERE, "Plugin can not be loaded!"); Bukkit.getConsoleSender().sendMessage(Util.getPrefix() + " §e" + pl + " §4is out of date! This plugin requires the version §2" + ver + " §4of §6" + pl + " §4Please use this version! Please download it here or contact us in Discord: §6https://spigotmc.org/resources/" + pl + "." + spigotID + " Or contact us in Discord: http://dc.t2code.net"); Main.plugin.getPluginLoader().disablePlugin(Main.plugin); return true; } return false; } String[] split = plVer.split("_"); if (Double.parseDouble(split[0]) < Double.parseDouble(ver)) { plugin.getLogger().log(Level.SEVERE, "Plugin can not be loaded!"); Bukkit.getConsoleSender().sendMessage(Util.getPrefix() + " §e" + pl + " §4is out of date! This plugin requires at least version §2" + ver + " §4of §6" + pl + " §4Please update it here: §6https://spigotmc.org/resources/" + pl + "." + spigotID + " §4to use this version of " + plugin.getDescription().getName() + "."); Main.plugin.getPluginLoader().disablePlugin(Main.plugin); return true; } return false; } } }