From 0475643a542e67cb8dfdb2c0585dc66bd288224c Mon Sep 17 00:00:00 2001 From: M_Viper Date: Fri, 27 Mar 2026 15:03:14 +0100 Subject: [PATCH] Update from Git Manager GUI --- src/main/java/pb/ajneb97/PaintballBattle.java | 37 ++++++++++++------- .../java/pb/ajneb97/utils/ServerVersion.java | 10 ++++- src/main/resources/plugin.yml | 2 +- 3 files changed, 32 insertions(+), 17 deletions(-) diff --git a/src/main/java/pb/ajneb97/PaintballBattle.java b/src/main/java/pb/ajneb97/PaintballBattle.java index 9b29156..cddc051 100644 --- a/src/main/java/pb/ajneb97/PaintballBattle.java +++ b/src/main/java/pb/ajneb97/PaintballBattle.java @@ -155,20 +155,29 @@ public class PaintballBattle extends JavaPlugin { public void setVersion(){ String packageName = Bukkit.getServer().getClass().getPackage().getName(); String bukkitVersion = Bukkit.getServer().getBukkitVersion().split("-")[0]; - switch(bukkitVersion){ - case "1.20.5": - case "1.20.6": - serverVersion = ServerVersion.v1_20_R4; - break; - case "1.21": - case "1.21.1": - case "1.21.4": - case "1.21.5": - serverVersion = ServerVersion.v1_21_R1; - break; - default: - //serverVersion = ServerVersion.valueOf(packageName.replace("org.bukkit.craftbukkit.", "")); - serverVersion = ServerVersion.detect(); + String versionKey = null; + + // Versuche, das Package-Muster zu extrahieren (z.B. v1_21_R4, spigot_26_1) + if(packageName.contains(".")) { + versionKey = packageName.substring(packageName.lastIndexOf('.') + 1); + } else { + versionKey = packageName; + } + + // Versuche zuerst, die Version direkt aus dem Enum zu nehmen + try { + serverVersion = ServerVersion.valueOf(versionKey); + Bukkit.getLogger().info("[PaintballBattle] Detected server version: " + serverVersion.name()); + } catch (IllegalArgumentException e) { + // Wenn nicht vorhanden, prüfe auf bekannte Patterns + if(versionKey.toLowerCase().startsWith("spigot_26_1")) { + serverVersion = ServerVersion.SPIGOT_26_1; + Bukkit.getLogger().info("[PaintballBattle] Detected server version: SPIGOT_26_1"); + } else { + // Fallback: immer die neueste bekannte Version nehmen + serverVersion = ServerVersion.values()[ServerVersion.values().length-1]; + Bukkit.getLogger().info("[PaintballBattle] Unknown server version '" + versionKey + "', using latest supported: " + serverVersion.name()); + } } } diff --git a/src/main/java/pb/ajneb97/utils/ServerVersion.java b/src/main/java/pb/ajneb97/utils/ServerVersion.java index 09c814b..7e42a30 100644 --- a/src/main/java/pb/ajneb97/utils/ServerVersion.java +++ b/src/main/java/pb/ajneb97/utils/ServerVersion.java @@ -31,7 +31,8 @@ public enum ServerVersion { v1_21_R1, v1_21_R2, v1_21_R3, - v1_21_R4; // Added for Paper 1.21.8 + v1_21_R4, // Added for Paper 1.21.8 + SPIGOT_26_1; // Added für Spigot 26.1 public boolean serverVersionGreaterEqualThan(ServerVersion version1, ServerVersion version2) { return version1.ordinal() >= version2.ordinal(); @@ -45,7 +46,7 @@ public enum ServerVersion { public static ServerVersion detect() { String pkg = Bukkit.getServer().getClass().getPackage().getName(); // Bukkit.getLogger().info(pkg); - // Typically ends with v1_x_Ry + // Typically ends with v1_x_Ry or spigot_26_1 String detected = pkg.substring(pkg.lastIndexOf('.') + 1); try { @@ -53,6 +54,11 @@ public enum ServerVersion { Bukkit.getLogger().info("[PaintballBattle] Detected server version: " + version.name()); return version; } catch (IllegalArgumentException ex) { + // Zusätzliche Erkennung für Spigot 26.1 + if(detected.toLowerCase().startsWith("spigot_26_1")) { + Bukkit.getLogger().info("[PaintballBattle] Detected server version: SPIGOT_26_1"); + return ServerVersion.SPIGOT_26_1; + } Bukkit.getLogger().warning("[PaintballBattle] Unknown server version '" + detected + "', defaulting to v1_21_R4"); return ServerVersion.v1_21_R4; } diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 0405458..a5f0db0 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -1,7 +1,7 @@ main: pb.ajneb97.PaintballBattle version: 1.12.1 name: PaintballBattle -api-version: 1.13 +api-version: 1.14 author: Ajneb97 softdepend: [Multiverse-Core, Vault, PlaceholderAPI, DecentHolograms]