T2C-OPSecurity/OpSecurity V2/src/main/java/de/jatitv/opsecurity/system/Main.java

97 lines
4.0 KiB
Java

package de.jatitv.opsecurity.system;
import de.jatitv.opsecurity.Util;
import de.jatitv.opsecurity.objects.PlayerObject;
import net.t2code.t2codelib.SPIGOT.api.messages.T2Ctemplate;
import org.bukkit.Bukkit;
import org.bukkit.plugin.java.JavaPlugin;
import java.io.File;
import java.util.HashMap;
import java.util.List;
import java.util.logging.Level;
public final class Main extends JavaPlugin {
private static List<String> autor;
private static String version;
private static Main plugin;
private static boolean enable;
public static File getPath() {
return plugin.getDataFolder();
}
private static HashMap<String, PlayerObject> opHashMap = new HashMap<String, PlayerObject>();
private static HashMap<String, PlayerObject> permissionHashMap = new HashMap<String, PlayerObject>();
@Override
public void onEnable() {
// Plugin startup logic
plugin = this;
try {
enable();
} catch (Exception e) {
e.printStackTrace();
}
}
private static void enable() {
autor = plugin.getDescription().getAuthors();
version = plugin.getDescription().getVersion();
if (pluginNotFound("T2CodeLib", 96388, Util.getRequiredT2CodeLibVersion())) return;
Load.onLoad(Util.getPrefix(), autor, version, Util.getSpigot(), Util.getSpigotID(), Util.getDiscord(), Util.getBstatsID());
enable = true;
}
@Override
public void onDisable() {
// Plugin shutdown logic
if (enable) 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;
}
}
public static Main getPlugin() {
return plugin;
}
public static HashMap<String, PlayerObject> getOpHashMap() {
return opHashMap;
}
public static HashMap<String, PlayerObject> getPermissionHashMap() {
return permissionHashMap;
}
}