210 lines
8.2 KiB
Java
210 lines
8.2 KiB
Java
package net.t2code.t2codelib.SPIGOT.system;
|
|
|
|
import lombok.Getter;
|
|
import net.kyori.adventure.platform.bukkit.BukkitAudiences;
|
|
import net.milkbowl.vault.economy.Economy;
|
|
import net.milkbowl.vault.permission.Permission;
|
|
import net.t2code.t2codelib.SPIGOT.api.bungeePlayers.T2CbungeePlayers;
|
|
import net.t2code.t2codelib.SPIGOT.api.items.T2CitemVersion;
|
|
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.bstats.Metrics;
|
|
import net.t2code.t2codelib.SPIGOT.system.cmd.CmdExecuter;
|
|
import net.t2code.t2codelib.SPIGOT.system.cmd.ReportLogStorage;
|
|
import net.t2code.t2codelib.SPIGOT.system.config.config.ConfigCreate;
|
|
import net.t2code.t2codelib.SPIGOT.system.config.config.SelectLibConfig;
|
|
import net.t2code.t2codelib.SPIGOT.system.config.languages.LanguagesCreate;
|
|
import net.t2code.t2codelib.SPIGOT.system.config.languages.SelectLibMsg;
|
|
import net.t2code.t2codelib.Util;
|
|
import org.bukkit.Bukkit;
|
|
import org.bukkit.configuration.file.YamlConfiguration;
|
|
import org.bukkit.entity.Player;
|
|
import org.bukkit.plugin.java.JavaPlugin;
|
|
|
|
import java.io.File;
|
|
import java.util.List;
|
|
|
|
public final class T2CodeLibMain extends JavaPlugin {
|
|
private static T2CodeLibMain plugin;
|
|
private static Economy eco = null;
|
|
private static Permission perm = null;
|
|
|
|
private static List<String> autor;
|
|
private static String version;
|
|
|
|
@Getter
|
|
private static Boolean mmIsLoad = true;
|
|
private static Boolean load = false;
|
|
|
|
@Override
|
|
public void onEnable() {
|
|
// Plugin startup logic
|
|
plugin = this;
|
|
autor = plugin.getDescription().getAuthors();
|
|
version = plugin.getDescription().getVersion();
|
|
try {
|
|
adventure = BukkitAudiences.create(this);
|
|
} catch (Exception e) {
|
|
mmIsLoad = false;
|
|
}
|
|
long long_ = T2Ctemplate.onLoadHeader(Util.getPrefix(), autor, version, Util.getSpigot(), Util.getDiscord());
|
|
checkIsBungee();
|
|
String prefix = Util.getPrefix();
|
|
|
|
try {
|
|
Vault.loadVault();
|
|
} catch (InterruptedException e) {
|
|
e.printStackTrace();
|
|
}
|
|
T2CmcVersion.onCheck();
|
|
|
|
if (T2CmcVersion.isNms1_20_R2()) {
|
|
T2Csend.console(prefix + " §4!!!!!!!!!!!!!!!!!!!!");
|
|
T2Csend.console(prefix);
|
|
T2Csend.warning(plugin, "The 1.20.* (R2) is a very fresh / new version. If there are any bugs in our plugins, please report them to us via our Discord: http://dc.t2code.net");
|
|
T2Csend.console(prefix);
|
|
T2Csend.console(prefix + " §4!!!!!!!!!!!!!!!!!!!!");
|
|
if (!SelectLibConfig.getT2cTestDevelopment()) {
|
|
try {
|
|
Thread.sleep(5000);
|
|
} catch (InterruptedException e) {
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
}
|
|
T2Csend.console(prefix + " §3Server run on: §6" + T2CmcVersion.getMcVersion() + " / " + T2CmcVersion.getNms());
|
|
if (eco != null) {
|
|
String st = eco.getName();
|
|
if (eco.getName().equals("CMIEconomy")) st = "CMI";
|
|
if (Bukkit.getPluginManager().getPlugin(st) != null) {
|
|
T2Csend.console(prefix + " §3Economy: §6" + eco.getName() + " - " + Bukkit.getPluginManager().getPlugin(st).getDescription().getVersion() + " §7- §e" +
|
|
(System.currentTimeMillis() - long_) + "ms");
|
|
} else T2Csend.console(prefix + " §3Economy: §6" + eco.getName() + " §7- §e" + (System.currentTimeMillis() - long_) + "ms");
|
|
} else T2Csend.console(prefix + " §3Economy: §4not connected via vault!" + " §7- §e" + (System.currentTimeMillis() - long_) + "ms");
|
|
|
|
if (perm != null) {
|
|
if (Bukkit.getPluginManager().getPlugin(perm.getName()) != null) {
|
|
T2Csend.console(prefix + " §3Permission plugin: §6" + perm.getName() + " - " + Bukkit.getPluginManager().getPlugin(perm.getName()).getDescription().getVersion()
|
|
+ " §7- §e" + (System.currentTimeMillis() - long_) + "ms");
|
|
} else T2Csend.console(prefix + " §3Permission plugin: §6" + perm.getName() + " - §7- §e" + (System.currentTimeMillis() - long_) + "ms");
|
|
} else T2Csend.console(prefix + " §3Permission plugin: §4not connected via vault!" + " §7- §e" + (System.currentTimeMillis() - long_) + "ms");
|
|
|
|
if (T2CpluginCheck.papi()) {
|
|
T2Csend.console(prefix + " §3PlaceholderAPI: §6connected" + " §7- §e" + (System.currentTimeMillis() - long_) + "ms");
|
|
}
|
|
|
|
T2Csend.console(prefix + " §3Kyori MiniMessage Support: "+ (getMmIsLoad() ? "§2load" : "§4not load") + " §7- §e" + (System.currentTimeMillis() - long_) + "ms");
|
|
|
|
|
|
plugin.getCommand("t2code").setExecutor(new CmdExecuter());
|
|
ConfigCreate.configCreate();
|
|
T2CitemVersion.scan();
|
|
LanguagesCreate.langCreate();
|
|
SelectLibConfig.onSelect();
|
|
SelectLibMsg.onSelect();
|
|
|
|
T2CupdateAPI.onUpdateCheck(plugin, prefix, Util.getGit(), Util.getSpigotID(), Util.getDiscord(), SelectLibConfig.getUpdateCheckOnJoin(), SelectLibConfig.getSeePreReleaseUpdates(),
|
|
SelectLibConfig.getUpdateCheckTimeInterval());
|
|
Metrics.Bstats(plugin, Util.getBstatsID());
|
|
if (SelectLibConfig.getBungee()) {
|
|
Bukkit.getMessenger().registerOutgoingPluginChannel(plugin, "t2c:bcmd");
|
|
T2Csend.debug(plugin, "registerIncomingPluginChannel §et2c:bcmd");
|
|
|
|
Bukkit.getMessenger().registerOutgoingPluginChannel(plugin, "t2c:bonlp");
|
|
if (!Bukkit.getMessenger().isIncomingChannelRegistered(plugin, "t2c:bonlp")) {
|
|
T2Csend.debug(plugin, "registerIncomingPluginChannel §et2c:bonlp");
|
|
Bukkit.getMessenger().registerIncomingPluginChannel(plugin, "t2c:bonlp", new T2CbungeePlayers());
|
|
T2CbungeePlayers.callAllBungeePlayers();
|
|
}
|
|
}
|
|
|
|
ReportLogStorage.load();
|
|
Bukkit.getServer().getPluginManager().registerEvents(new JoinEvent(), plugin);
|
|
|
|
T2Ctemplate.onLoadFooter(prefix, long_);
|
|
load = true;
|
|
}
|
|
|
|
@Override
|
|
public void onDisable() {
|
|
// Plugin shutdown logic
|
|
if (!load) return;
|
|
ReportLogStorage.save();
|
|
if (SelectLibConfig.getInventoriesCloseByServerStop()) {
|
|
for (Player player : Bukkit.getOnlinePlayers()) {
|
|
player.closeInventory();
|
|
}
|
|
}
|
|
|
|
Vault.vaultDisable();
|
|
T2Ctemplate.onDisable(Util.getPrefix(), autor, version, Util.getSpigot(), Util.getDiscord());
|
|
if (mmIsLoad) {
|
|
if (this.adventure != null) {
|
|
this.adventure.close();
|
|
this.adventure = null;
|
|
}
|
|
}
|
|
}
|
|
|
|
public static File getPath() {
|
|
return plugin.getDataFolder();
|
|
}
|
|
|
|
static void setEco(Economy eco) {
|
|
T2CodeLibMain.eco = eco;
|
|
}
|
|
|
|
static void setPerm(Permission perm) {
|
|
T2CodeLibMain.perm = perm;
|
|
}
|
|
|
|
public static T2CodeLibMain getPlugin() {
|
|
return plugin;
|
|
}
|
|
|
|
public static Economy getEco() {
|
|
return eco;
|
|
}
|
|
|
|
public static Permission getPerm() {
|
|
return perm;
|
|
}
|
|
|
|
public static List<String> getAutor() {
|
|
return autor;
|
|
}
|
|
|
|
public static String getVersion() {
|
|
return version;
|
|
}
|
|
|
|
private static BukkitAudiences adventure;
|
|
|
|
public BukkitAudiences getAdventure() {
|
|
if (adventure == null) {
|
|
throw new IllegalStateException("Tried to access Adventure when the plugin was disabled!");
|
|
}
|
|
return adventure;
|
|
}
|
|
|
|
private static void checkIsBungee() {
|
|
File config = new File("spigot.yml");
|
|
YamlConfiguration yamlConfiguration = YamlConfiguration.loadConfiguration(config);
|
|
|
|
isBungee = yamlConfiguration.getBoolean("settings.bungeecord");
|
|
}
|
|
|
|
private static Boolean isBungee;
|
|
|
|
public static Boolean getIsBungee() {
|
|
return isBungee;
|
|
}
|
|
|
|
public static Boolean getMmIsLoad() {
|
|
return mmIsLoad;
|
|
}
|
|
}
|