package pl.sloudpl.simplevanish; import org.bukkit.Bukkit; import org.bukkit.plugin.java.JavaPlugin; import pl.sloudpl.simplevanish.bstats.Metrics; import pl.sloudpl.simplevanish.cmds.SloudVanishCMD; import pl.sloudpl.simplevanish.cmds.SloudVanishCMD1_16; import pl.sloudpl.simplevanish.cmds.VanishCommand; import pl.sloudpl.simplevanish.cmds.VanishCommand1_16; import pl.sloudpl.simplevanish.events.onJoinEvent; import pl.sloudpl.simplevanish.events.onLeaveEvent; import pl.sloudpl.simplevanish.events.onPlayerDamage; import pl.sloudpl.simplevanish.utils.UpdateChecker; import java.util.HashSet; import java.util.Set; import java.util.UUID; public final class SimpleVanish extends JavaPlugin { public Set inVanishList = new HashSet<>(); @Override public void onEnable() { int pluginId = 26193; Metrics metrics = new Metrics(this, pluginId); saveDefaultConfig(); if (isVersionAtMost_1_16_0()) { new VanishCommand(this); new SloudVanishCMD(this); } else { new VanishCommand1_16(this); new SloudVanishCMD1_16(this); } new onJoinEvent(this); new onLeaveEvent(this); new onPlayerDamage(this); new UpdateChecker(this, 108713).getLatestVersion(version -> { String current = this.getDescription().getVersion(); if (!current.equalsIgnoreCase(version)) { getLogger().warning("§cA new version of §eSloudVanish §cis available!"); getLogger().warning("§7Current: §e" + current + " §7| Latest: §a" + version); getLogger().warning("§bDownload: https://www.spigotmc.org/resources/sloudvanish.108713/"); } else { getLogger().info("§aSloudVanish is up to date (v" + current + ")."); } }); } @Override public void onDisable() { } public boolean isVersionAtMost_1_16_0() { String version = Bukkit.getBukkitVersion(); String[] mainParts = version.split("-")[0].split("\\."); try { int major = Integer.parseInt(mainParts[0]); int minor = Integer.parseInt(mainParts[1]); int patch = mainParts.length > 2 ? Integer.parseInt(mainParts[2]) : 0; if (major < 1) { return true; } else if (major == 1) { if (minor < 16) { return true; } else if (minor == 16) { return patch == 0; } else { return false; } } else { return false; } } catch (Exception e) { return false; } } }