package net.t2code.commandguiv2.Spigot.system; import net.t2code.commandguiv2.Spigot.config.configConverter.ConfigConverter; import net.t2code.commandguiv2.Spigot.gui.GUIListener; import net.t2code.commandguiv2.Spigot.listener.Bungee_Sender_Reciver; import net.t2code.commandguiv2.Spigot.useItem.EventsFrom110; import net.t2code.commandguiv2.Spigot.cmdManagement.CmdExecuter_GUI; import net.t2code.commandguiv2.Spigot.cmdManagement.CmdExecuter_GUIItem; import net.t2code.commandguiv2.Spigot.cmdManagement.CmdExecuter_Help; import net.t2code.commandguiv2.Spigot.cmdManagement.register.AliasRegister; import net.t2code.commandguiv2.Spigot.config.functions.CreateFunctions; import net.t2code.commandguiv2.Spigot.config.gui.CreateGUI; import net.t2code.commandguiv2.Spigot.config.languages.LanguagesCreate; import net.t2code.commandguiv2.Spigot.config.languages.SelectMessages; import net.t2code.commandguiv2.Spigot.database.MySQL; import net.t2code.commandguiv2.Spigot.listener.PluginEvent; import net.t2code.commandguiv2.Spigot.useItem.Events; import net.t2code.commandguiv2.Spigot.Main; import net.t2code.commandguiv2.Spigot.objects.Obj_Select; import net.t2code.commandguiv2.Spigot.config.config.ConfigCreate; import net.t2code.commandguiv2.Spigot.config.config.SelectConfig; import net.t2code.commandguiv2.Spigot.database.SQLITE; import net.t2code.commandguiv2.Spigot.database.SelectDatabase; import net.t2code.commandguiv2.Spigot.enums.StorageEnum; import net.t2code.commandguiv2.Util; import net.t2code.t2codelib.SPIGOT.api.messages.T2Csend; import net.t2code.t2codelib.SPIGOT.api.messages.T2Ctemplate; import net.t2code.t2codelib.SPIGOT.api.minecraftVersion.T2CmcVersion; import net.t2code.t2codelib.SPIGOT.api.plugins.T2CpluginCheck; import net.t2code.t2codelib.SPIGOT.api.update.T2CupdateAPI; import net.t2code.t2codelib.SPIGOT.system.config.config.SelectLibConfig; import org.bukkit.Bukkit; import org.bukkit.plugin.Plugin; import java.io.*; import java.sql.SQLException; import java.util.List; public class Load { static Plugin plugin = Main.getPlugin(); public static void onLoad(String prefix, List autor, String version, String spigot, int spigotID, String discord, int bstatsID) { long long_ = T2Ctemplate.onLoadHeader(prefix, autor, version, spigot, discord); try { Debug.debugmsg(); } catch (Exception e) { e.printStackTrace(); } T2Csend.console(prefix + " §8-------------------------------"); try { ConfigConverter.renameMainFolder(); } catch (Exception e) { e.printStackTrace(); } if (!new File(Main.getPath(), "config.yml").exists()) { try { plugin.saveResource("configDeclaration.yml", false); } catch (Exception e) { e.printStackTrace(); } try { CreateGUI.configCreate(); } catch (Exception e) { e.printStackTrace(); } try { CreateFunctions.create(); } catch (Exception e) { e.printStackTrace(); } } try { ConfigCreate.configCreate(); } catch (Exception e) { e.printStackTrace(); } try { SelectConfig.onSelect(); } catch (Exception e) { e.printStackTrace(); } try { plugin.saveResource("GUIs/guiDeclaration.yml", true); } catch (Exception e) { e.printStackTrace(); } try { plugin.saveResource("Functions/functionDeclaration.yml", true); } catch (Exception e) { e.printStackTrace(); } SelectConfig.setConfigVersion(); if (SelectLibConfig.getBungee()) { if (!Bukkit.getMessenger().isOutgoingChannelRegistered(plugin, "t2c:bcmd")) { T2Csend.debug(plugin, "registerOutgoingPluginChannel §et2c:bcmd"); Bukkit.getMessenger().registerOutgoingPluginChannel(plugin, "t2c:bcmd"); } if (!Bukkit.getMessenger().isIncomingChannelRegistered(plugin, "t2c:cguiopl")) { T2Csend.debug(plugin, "registerIncomingPluginChannel §et2c:cguiopl"); Bukkit.getMessenger().registerIncomingPluginChannel(plugin, "t2c:cguiopl", new Bungee_Sender_Reciver()); } } if (T2CpluginCheck.papi()) { new Papi().register(); } try { LanguagesCreate.langCreate(); } catch (Exception e) { e.printStackTrace(); } try { Obj_Select.onSelect(); } catch (Exception e) { e.printStackTrace(); } try { SelectMessages.onSelect(prefix); } catch (Exception e) { e.printStackTrace(); } try { SelectConfig.sound(prefix); } catch (Exception e) { e.printStackTrace(); } try { CmdExecuter_GUI.arg1.put(SelectConfig.getAdminSubCommand(), Permissions.admin + ";" + Permissions.giveItemOther + ";" + Permissions.info); } catch (Exception e) { e.printStackTrace(); } T2Csend.console(prefix + " §8-------------------------------"); loadStorage(prefix); T2Csend.console(prefix + " §8-------------------------------"); if (Main.PaPi) { T2Csend.console(prefix + " §2PlaceholderAPI successfully connected!"); } else { T2Csend.console(prefix + " §4PlaceholderAPI could not be connected / found!"); } try { Permissions.onPermRegister(); } catch (Exception e) { e.printStackTrace(); } if (SelectConfig.getHelpAlias()) { Main.getPlugin().getCommand("commandguihelp").setExecutor(new CmdExecuter_Help()); T2Csend.debug(plugin, "CommandRegister: commandguihelp"); } Main.getPlugin().getCommand("commandgui").setExecutor(new CmdExecuter_GUI()); T2Csend.debug(plugin, "CommandRegister: commandgui"); Main.getPlugin().getCommand("commandgui-item").setExecutor(new CmdExecuter_GUIItem()); T2Csend.debug(plugin, "CommandRegister: commandgui-item"); try { AliasRegister.onRegister(); } catch (Exception e) { e.printStackTrace(); } Bukkit.getServer().getPluginManager().registerEvents(new GUIListener(), plugin); Bukkit.getServer().getPluginManager().registerEvents(new PluginEvent(), plugin); Bukkit.getServer().getPluginManager().registerEvents(new Events(), Main.getPlugin()); if (!T2CmcVersion.isMc1_8() && !T2CmcVersion.isMc1_9()) { Bukkit.getServer().getPluginManager().registerEvents(new EventsFrom110(), plugin); } T2CupdateAPI.onUpdateCheck(plugin, prefix, Util.getGit(),spigotID,discord ,SelectConfig.getUpdateCheckOnJoin(),SelectConfig.getUpdateCheckSeePreReleaseUpdates(),SelectConfig.getUpdateCheckTimeInterval()); Metrics.Bstats(); Main.addonLoad(); T2Ctemplate.onLoadFooter(prefix, long_); } private static void loadStorage(String prefix) { try { SelectDatabase.setStorage(StorageEnum.valueOf(SelectConfig.getStorage())); } catch (Exception ignored) { T2Csend.error(plugin, "The storage medium " + SelectConfig.getStorage() + " is not supported!"); T2Csend.error(plugin, "Storage medium " + StorageEnum.SQLITE + " is used."); SelectDatabase.setStorage(StorageEnum.SQLITE); } switch (SelectDatabase.getStorage()) { case MYSQL: T2Csend.console(prefix + " §2Storage medium §6" + SelectDatabase.getStorage() + " §2is used."); MySQL.main(); try { MySQL.query("CREATE TABLE IF NOT EXISTS `gui-item` (" + " `UUID` VARCHAR(191) NOT NULL COLLATE 'utf8mb4_general_ci'," + " `Name` TINYTEXT NOT NULL COLLATE 'utf8mb4_general_ci'," + " `Status` INT(1) NOT NULL DEFAULT '1'," + " `Slot` INT(1) NULL DEFAULT NULL," + " UNIQUE INDEX `UUID` (`UUID`)" + ")" + "COLLATE='utf8mb4_general_ci'" + "ENGINE=InnoDB" + ";"); } catch (Exception e) { Main.sendTryCatch(Load.class, e.getStackTrace()[0]); e.printStackTrace(); } try { MySQL.query("ALTER TABLE `gui-item` ADD COLUMN `Slot` INT(1) NULL DEFAULT NULL AFTER `Status`;"); } catch (SQLException e) { } break; case YML: T2Csend.console(prefix + " §2Storage medium §6" + SelectDatabase.getStorage() + " §2is used."); break; default: case SQLITE: T2Csend.console(prefix + " §2Storage medium §6" + SelectDatabase.getStorage() + " §2is used."); try { SQLITE.main(); SQLITE.query("CREATE TABLE IF NOT EXISTS `gui-item` (" + "UUID TEXT NOT NULL," + "Name TEXT NOT NULL," + "Status INTEGER NOT NULL DEFAULT 1," + "Slot INTEGER," + "PRIMARY KEY(UUID)" + ");"); } catch (SQLException e) { e.printStackTrace(); } break; } } }