diff --git a/pom.xml b/pom.xml
index 71ae8f0..27c9d4b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
pl.sloudpl
SloudVanish
- 1.2
+ 1.2.1
jar
SloudVanish
diff --git a/src/main/java/pl/sloudpl/simplevanish/SimpleVanish.java b/src/main/java/pl/sloudpl/simplevanish/SimpleVanish.java
index c46f6f8..534b5dd 100644
--- a/src/main/java/pl/sloudpl/simplevanish/SimpleVanish.java
+++ b/src/main/java/pl/sloudpl/simplevanish/SimpleVanish.java
@@ -7,6 +7,7 @@ import pl.sloudpl.simplevanish.cmds.VanishCommand;
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.ArrayList;
@@ -31,6 +32,17 @@ public final class SimpleVanish extends JavaPlugin {
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
diff --git a/src/main/java/pl/sloudpl/simplevanish/utils/UpdateChecker.java b/src/main/java/pl/sloudpl/simplevanish/utils/UpdateChecker.java
new file mode 100644
index 0000000..cf58cb2
--- /dev/null
+++ b/src/main/java/pl/sloudpl/simplevanish/utils/UpdateChecker.java
@@ -0,0 +1,40 @@
+package pl.sloudpl.simplevanish.utils;
+
+import org.bukkit.Bukkit;
+import pl.sloudpl.simplevanish.SimpleVanish;
+
+import java.io.BufferedReader;
+import java.io.InputStreamReader;
+import java.net.HttpURLConnection;
+import java.net.URL;
+import java.util.function.Consumer;
+
+public class UpdateChecker {
+ private final SimpleVanish plugin;
+ private final int resourceId;
+
+ public UpdateChecker(SimpleVanish plugin, int resourceId) {
+ this.plugin = plugin;
+ this.resourceId = resourceId;
+ }
+
+ public void getLatestVersion(Consumer callback) {
+ Bukkit.getScheduler().runTaskAsynchronously(plugin, () -> {
+ try {
+ URL url = new URL("https://api.spigotmc.org/legacy/update.php?resource=" + resourceId);
+ HttpURLConnection conn = (HttpURLConnection) url.openConnection();
+ conn.setRequestMethod("GET");
+ conn.setConnectTimeout(5000);
+ conn.setReadTimeout(5000);
+
+ try (BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()))) {
+ String version = reader.readLine();
+ callback.accept(version);
+ }
+
+ } catch (Exception e) {
+ plugin.getLogger().warning("Failed to check for updates: " + e.getMessage());
+ }
+ });
+ }
+}