From 3dedf24f92056a8b6d6101cfb347c2ee9804790d Mon Sep 17 00:00:00 2001 From: M_Viper Date: Mon, 11 Aug 2025 15:32:15 +0000 Subject: [PATCH] Dateien nach "src/main/java/viper" hochladen --- src/main/java/viper/MetricsHandler.java | 14 +++++++++ src/main/java/viper/UpdateChecker.java | 42 +++++++++++++++++++++++++ 2 files changed, 56 insertions(+) create mode 100644 src/main/java/viper/MetricsHandler.java create mode 100644 src/main/java/viper/UpdateChecker.java diff --git a/src/main/java/viper/MetricsHandler.java b/src/main/java/viper/MetricsHandler.java new file mode 100644 index 0000000..0851bc5 --- /dev/null +++ b/src/main/java/viper/MetricsHandler.java @@ -0,0 +1,14 @@ +package viper; + +import org.bukkit.plugin.java.JavaPlugin; +// Import aus dem korrekten verschobenen Package: +import org.bstats.bukkit.Metrics; + +public class MetricsHandler { + + private static final int BSTATS_PLUGIN_ID = 26862; + + public static void startMetrics(JavaPlugin plugin) { + new Metrics(plugin, BSTATS_PLUGIN_ID); + } +} diff --git a/src/main/java/viper/UpdateChecker.java b/src/main/java/viper/UpdateChecker.java new file mode 100644 index 0000000..93d2d71 --- /dev/null +++ b/src/main/java/viper/UpdateChecker.java @@ -0,0 +1,42 @@ +package viper; + +import org.bukkit.Bukkit; +import org.bukkit.plugin.java.JavaPlugin; + +import java.net.HttpURLConnection; +import java.net.URL; +import java.util.Scanner; +import java.util.function.Consumer; + +import org.json.JSONObject; // -> Dependency in pom.xml nötig + +public class UpdateChecker { + + private final JavaPlugin plugin; + private final int resourceId; + + public UpdateChecker(JavaPlugin plugin, int resourceId) { + this.plugin = plugin; + this.resourceId = resourceId; + } + + public void getVersion(final Consumer consumer) { + Bukkit.getScheduler().runTaskAsynchronously(this.plugin, () -> { + try { + HttpURLConnection connection = (HttpURLConnection) + new URL("https://api.spiget.org/v2/resources/" + resourceId + "/versions/latest").openConnection(); + connection.setRequestMethod("GET"); + connection.addRequestProperty("User-Agent", "Mozilla/5.0"); + try (Scanner scanner = new Scanner(connection.getInputStream())) { + String response = scanner.useDelimiter("\\A").next(); + JSONObject json = new JSONObject(response); + String version = json.optString("name", "").trim(); + consumer.accept(version); + } + } catch (Exception e) { + plugin.getLogger().warning("Konnte nicht nach Updates suchen: " + e.getMessage()); + consumer.accept(""); + } + }); + } +}