Update from Git Manager GUI

This commit is contained in:
2026-03-27 15:03:14 +01:00
parent dcc9ae2e92
commit 0475643a54
3 changed files with 32 additions and 17 deletions

View File

@@ -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());
}
}
}

View File

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

View File

@@ -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]