T2C-CommandGUI/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/Load.java

197 lines
7.7 KiB
Java

package de.jatitv.commandguiv2.Spigot.system;
import de.jatitv.commandguiv2.Spigot.Listener.GUI_Listener;
import de.jatitv.commandguiv2.Spigot.Listener.UseItem_Listener.Events_from1_10;
import de.jatitv.commandguiv2.Spigot.cmdManagement.CmdExecuter_GUITab;
import de.jatitv.commandguiv2.Spigot.cmdManagement.CmdExecuter_GUIItem;
import de.jatitv.commandguiv2.Spigot.cmdManagement.CmdExecuter_Help;
import de.jatitv.commandguiv2.Spigot.cmdManagement.register.AliasRegister;
import de.jatitv.commandguiv2.Spigot.config.functions.CreateFunctions;
import de.jatitv.commandguiv2.Spigot.config.gui.CreateGUI;
import de.jatitv.commandguiv2.Spigot.config.languages.LanguagesCreate;
import de.jatitv.commandguiv2.Spigot.config.languages.SelectMessages;
import de.jatitv.commandguiv2.Spigot.system.database.MySQL;
import de.jatitv.commandguiv2.Spigot.Listener.PluginEvent;
import de.jatitv.commandguiv2.Spigot.Listener.UseItem_Listener.Events;
import de.jatitv.commandguiv2.Spigot.Main;
import de.jatitv.commandguiv2.Spigot.objects.Obj_Select;
import de.jatitv.commandguiv2.Spigot.config.config.ConfigCreate;
import de.jatitv.commandguiv2.Spigot.config.config.SelectConfig;
import de.jatitv.commandguiv2.Spigot.system.database.SQLITE;
import de.jatitv.commandguiv2.Spigot.system.database.StorageType;
import de.jatitv.commandguiv2.Spigot.system.database.YML;
import net.t2code.lib.Spigot.Lib.messages.T2CodeTemplate;
import net.t2code.lib.Spigot.Lib.messages.send;
import net.t2code.lib.Spigot.Lib.minecraftVersion.MCVersion;
import net.t2code.lib.Spigot.Lib.plugins.PluginCheck;
import net.t2code.lib.Spigot.Lib.update.UpdateAPI;
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.plugin;
public static void onLoad(String prefix, List autor, String version, String spigot, int spigotID, String discord, int bstatsID) {
Long long_ = T2CodeTemplate.onLoadHeader(prefix, autor, version, spigot, discord);
try {
Debug.debugmsg();
} catch (Exception e) {
e.printStackTrace();
}
send.console(prefix + " §8-------------------------------");
if (!new File(Main.getPath(), "config.yml").exists()) {
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();
}
if (SelectConfig.Bungee) {
if (!Bukkit.getMessenger().isOutgoingChannelRegistered(plugin, "cgui:bungee")) {
send.debug(plugin, "registerOutgoingPluginChannel §ecgui:bungee");
Bukkit.getMessenger().registerOutgoingPluginChannel(plugin, "cgui:bungee");
}
if (!Bukkit.getMessenger().isIncomingChannelRegistered(plugin, "cgui:onlinepl")) {
send.debug(plugin, "registerIncomingPluginChannel §ecgui:onlinepl");
Bukkit.getMessenger().registerIncomingPluginChannel(plugin, "cgui:onlinepl", new Bungee_Sender_Reciver());
}
}
if (PluginCheck.papi()) {
new Placeholder().register();
}
try {
LanguagesCreate.langCreate();
} catch (Exception e) {
e.printStackTrace();
}
try {
Obj_Select.onSelect();
} catch (Exception e) {
e.printStackTrace();
}
try {
CmdExecuter_GUITab.arg1.put("admin", "commandgui.admin;commandgui.giveitem.other;commandgui.command.info");
} catch (Exception e) {
e.printStackTrace();
}
try {
SelectMessages.onSelect(prefix);
} catch (Exception e) {
e.printStackTrace();
}
try {
SelectConfig.sound(prefix);
} catch (Exception e) {
e.printStackTrace();
}
send.console(prefix + " §8-------------------------------");
switch (SelectConfig.Storage) {
case MYSQL:
MySQL.main();
send.console(prefix + " §2Storage medium §6MySQL §2is used.");
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" +
";");
MySQL.query("ALTER TABLE `gui-item` ADD COLUMN IF NOT EXISTS `Slot` INT(1) NULL DEFAULT NULL AFTER `Status`;");
} catch (Exception e) {
e.printStackTrace();
}
break;
case YML:
send.console(prefix + " §2Storage medium §6YML §2is used.");
break;
default:
case SQLITE:
try {
SQLITE.main();
send.console(prefix + " §2Storage medium §6SQLITE §2is used.");
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;
}
if (Main.PaPi) {
send.console(prefix + " §2PlaceholderAPI successfully connected!");
} else {
send.console(prefix + " §4PlaceholderAPI could not be connected / found!");
}
try {
RegisterPermissions.onPermRegister();
} catch (Exception e) {
e.printStackTrace();
}
if (SelectConfig.HelpAlias) {
Main.plugin.getCommand("commandguihelp").setExecutor(new CmdExecuter_Help());
send.debug(plugin, "CommandRegister: commandguihelp");
}
Main.plugin.getCommand("commandgui").setExecutor(new CmdExecuter_GUITab());
send.debug(plugin, "CommandRegister: commandgui");
Main.plugin.getCommand("commandgui-item").setExecutor(new CmdExecuter_GUIItem());
send.debug(plugin, "CommandRegister: commandgui-item");
try {
AliasRegister.onRegister();
} catch (Exception e) {
e.printStackTrace();
}
Bukkit.getServer().getPluginManager().registerEvents(new GUI_Listener(), plugin);
Bukkit.getServer().getPluginManager().registerEvents(new PluginEvent(), plugin);
Bukkit.getServer().getPluginManager().registerEvents(new Events(), Main.plugin);
if (!MCVersion.minecraft1_8 && !MCVersion.minecraft1_9) {
Bukkit.getServer().getPluginManager().registerEvents(new Events_from1_10(), plugin);
}
UpdateAPI.onUpdateCheck(plugin, prefix, spigot, spigotID, discord);
Metrics.Bstats();
Main.addonLoad();
T2CodeTemplate.onLoadFooter(prefix, long_);
}
}