2.4.0 SN 2

Code changes and performance improved. T2CodeLib is required from now on!
This commit is contained in:
2022-01-06 02:08:20 +01:00
parent 5812efa050
commit b3a334239a
23 changed files with 313 additions and 626 deletions

View File

@@ -2,36 +2,40 @@
package de.jatitv.opsecurity.system;
import de.jatitv.opsecurity.Util;
import de.jatitv.opsecurity.cmdManagement.CmdExecuter;
import de.jatitv.opsecurity.config.config.ConfigConvert;
import de.jatitv.opsecurity.config.config.CreateConfig;
import de.jatitv.opsecurity.config.languages.LanguagesCreate;
import de.jatitv.opsecurity.config.languages.SelectMessages;
import de.jatitv.opsecurity.config.config.SelectConfig;
import de.jatitv.opsecurity.listener.Events;
import de.jatitv.opsecurity.listener.OPCommand;
import de.jatitv.opsecurity.listener.PlugManCommand;
import de.jatitv.opsecurity.listener.Timer;
import de.jatitv.opsecurity.util.send;
import net.t2code.lib.Spigot.Lib.messages.T2CodeTemplate;
import net.t2code.lib.Spigot.Lib.register.Register;
import net.t2code.lib.Spigot.Lib.update.UpdateAPI;
import net.t2code.lib.Spigot.system.Metrics;
import java.util.List;
public class Load {
public static void onLoad(String Prefix, List Autor, String Version, String Spigot, String Discord) {
send.console(Prefix + " §2-------------- §2OP§4Security §2--------------");
send.console(Prefix + " §2Autor: §6JaTiTV");
send.console(Prefix + " §2Version: §6" + Version);
send.console(Prefix + " §2Spigot: §6" + Spigot);
send.console(Prefix + " §2Discord: §6" + Discord);
send.console(Prefix + " §2");
send.console(Prefix + " §4Plugin load...");
send.console(Prefix + " §8-------------------------------");
public static void onLoad(String prefix, List<String> autor, String version, String spigot, int spigotID, String discord, int bstatsID) {
Long long_ = T2CodeTemplate.onLoadHeader(prefix, autor, version, spigot, discord);
UpdateAPI.onUpdateCheck(Main.plugin, prefix, spigot, spigotID, discord);
Metrics.Bstats(Main.plugin, bstatsID);
loadReload();
send.console(Prefix + " §8-------------------------------");
send.console(Prefix + " §2Plugin loaded successfully.");
send.console(Prefix + " §2-----------------------------------------");
Permissions.register();
Main.plugin.getCommand("opsecurity").setExecutor(new CmdExecuter());
Register.listener(new Events(), Main.plugin);
Register.listener(new OPCommand(), Main.plugin);
Register.listener(new PlugManCommand(), Main.plugin);
T2CodeTemplate.onLoadFooter(prefix, long_);
}
public static void loadReload() {
ConfigConvert.convert();
try {
CreateConfig.configCreate();
} catch (Exception e) {
@@ -48,7 +52,7 @@ public class Load {
e.printStackTrace();
}
try {
SelectMessages.selectCreate(Main.Prefix);
SelectMessages.selectCreate(Util.getPrefix());
} catch (Exception e) {
e.printStackTrace();
}

View File

@@ -1,51 +1,23 @@
package de.jatitv.opsecurity.system;
import de.jatitv.opsecurity.cmdManagement.CmdExecuter;
import de.jatitv.opsecurity.config.config.SelectConfig;
import de.jatitv.opsecurity.listener.Events;
import de.jatitv.opsecurity.listener.OPCommand;
import de.jatitv.opsecurity.listener.PlugManCommand;
import de.jatitv.opsecurity.Util;
import de.jatitv.opsecurity.objects.PlayerObject;
import de.jatitv.opsecurity.util.Metrics;
import de.jatitv.opsecurity.util.UpdateChecker;
import de.jatitv.opsecurity.util.send;
import net.t2code.lib.Spigot.Lib.messages.T2CodeTemplate;
import org.bukkit.Bukkit;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.scheduler.BukkitRunnable;
import java.io.File;
import java.util.HashMap;
import java.util.List;
import java.util.logging.Logger;
import java.util.Objects;
import java.util.logging.Level;
public final class Main extends JavaPlugin {
// Debug Settings
public static Boolean Bstats = true;
public static String Prefix = "§8[§2OP§4Security§8]";
public static List<String> Autor;
public static Integer SpigotID = 90739;
public static Integer BstatsID = 10858;
public static String Spigot = "https://spigotmc.org/resources/" + SpigotID;
public static String Discord = "http://dc.t2code.net";
// ---------------------------------------------
public static String Version;
public static List<String> autor;
public static String version;
public static Main plugin;
public static String update_version = null;
public static boolean minecraft1_8;
public static boolean minecraft1_9;
public static boolean minecraft1_10;
public static boolean minecraft1_11;
public static boolean minecraft1_12;
private static boolean enable;
public static File getPath() {
return plugin.getDataFolder();
@@ -58,48 +30,41 @@ public final class Main extends JavaPlugin {
@Override
public void onEnable() {
// Plugin startup logic
Logger logger = this.getLogger();
plugin = this;
Autor = plugin.getDescription().getAuthors();
Version = plugin.getDescription().getVersion();
minecraft1_8 = Bukkit.getServer().getClass().getPackage().getName().contains("1_8");
minecraft1_9 = Bukkit.getServer().getClass().getPackage().getName().contains("1_9");
minecraft1_10 = Bukkit.getServer().getClass().getPackage().getName().contains("1_10");
minecraft1_11 = Bukkit.getServer().getClass().getPackage().getName().contains("1_11");
minecraft1_12 = Bukkit.getServer().getClass().getPackage().getName().contains("1_12");
Load.onLoad(Prefix, Autor, Version, Spigot, Discord);
getCommand("opsecurity").setExecutor(new CmdExecuter());
Bukkit.getServer().getPluginManager().registerEvents(new Events(), this);
Bukkit.getServer().getPluginManager().registerEvents(new OPCommand(), this);
Bukkit.getServer().getPluginManager().registerEvents(new PlugManCommand(), this);
// Bukkit.getServer().getPluginManager().registerEvents(new LPCommand(), this);
if (Main.Bstats) {
int pluginId = BstatsID; // <-- Replace with the id of your plugin!
Metrics metrics = new Metrics(this, pluginId);
metrics.addCustomChart(new Metrics.SimplePie("updatecheckonjoin", () -> String.valueOf(SelectConfig.UpdateCheckOnJoin)));
} else {
new BukkitRunnable() {
@Override
public void run() {
Bukkit.getConsoleSender().sendMessage(Main.Prefix + "§4\n" + Main.Prefix + "§4Bstats is disabled!");
}
}.runTaskLater(Main.plugin, 200L);
try {
enable();
} catch (Exception e) {
e.printStackTrace();
}
UpdateChecker.onUpdateCheck();
UpdateChecker.onUpdateCheckTimer();
}
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) T2CodeTemplate.onDisable(Util.getPrefix(), autor, version, Util.getSpigot(), Util.getDiscord());
}
public static Boolean pluginNotFound(String pl, Integer spigotID, double 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 {
if (Double.parseDouble(Objects.requireNonNull(Bukkit.getPluginManager().getPlugin(pl)).getDescription().getVersion()) < 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;
}
}
}

View File

@@ -0,0 +1,33 @@
package de.jatitv.opsecurity.system;
import net.t2code.lib.Spigot.Lib.register.Register;
import org.bukkit.permissions.PermissionDefault;
public class Permissions {
public static final String key = "opsecurity.";
public static final String notify = key + "notify";
public static final String updatemsg = key + "updatemsg";
public static final String reload = key + "command.reload";
public static final String info = key + "command.info";
public static final String help = key + "command.help";
public static final String admin = key + "admin";
public static final PermissionDefault op = PermissionDefault.OP;
public static final PermissionDefault notOp = PermissionDefault.NOT_OP;
protected static void register() {
Register.permission(notify, op, Main.plugin);
Register.permissionDescription(notify,"Players with this permission get the update message when joining if an update is available",Main.plugin);
Register.permission(updatemsg, op, Main.plugin);
Register.permission(reload, op, Main.plugin);
Register.permission(info, op, Main.plugin);
Register.permission(help, op, Main.plugin);
Register.permission(admin, op, notify, true, Main.plugin);
Register.permission(admin, op, updatemsg, true, Main.plugin);
Register.permission(admin, op, reload, true, Main.plugin);
Register.permission(admin, op, info, true, Main.plugin);
Register.permission(admin, op, help, true, Main.plugin);
}
}