SloudVanish/src/main/java/pl/sloudpl/simplevanish/SimpleVanish.java
SloudPL 9e8c2b5f66 Update 1.3
Added support for RGB for version higher than 1.16.
Added command to reload the config without restarting the plugin.
2025-06-20 11:23:20 +02:00

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;
}
}
}