
Added support for RGB for version higher than 1.16. Added command to reload the config without restarting the plugin.
94 lines
2.7 KiB
Java
94 lines
2.7 KiB
Java
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<UUID> 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;
|
|
}
|
|
}
|
|
|
|
}
|