Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 0475643a54 | |||
| dcc9ae2e92 |
2
pom.xml
2
pom.xml
@@ -5,7 +5,7 @@
|
|||||||
|
|
||||||
<groupId>pb.ajneb97</groupId>
|
<groupId>pb.ajneb97</groupId>
|
||||||
<artifactId>PaintballBattle</artifactId>
|
<artifactId>PaintballBattle</artifactId>
|
||||||
<version>1.13.0</version>
|
<version>1.14.0</version>
|
||||||
<packaging>jar</packaging>
|
<packaging>jar</packaging>
|
||||||
|
|
||||||
<name>PaintballBattle</name>
|
<name>PaintballBattle</name>
|
||||||
|
|||||||
@@ -155,20 +155,29 @@ public class PaintballBattle extends JavaPlugin {
|
|||||||
public void setVersion(){
|
public void setVersion(){
|
||||||
String packageName = Bukkit.getServer().getClass().getPackage().getName();
|
String packageName = Bukkit.getServer().getClass().getPackage().getName();
|
||||||
String bukkitVersion = Bukkit.getServer().getBukkitVersion().split("-")[0];
|
String bukkitVersion = Bukkit.getServer().getBukkitVersion().split("-")[0];
|
||||||
switch(bukkitVersion){
|
String versionKey = null;
|
||||||
case "1.20.5":
|
|
||||||
case "1.20.6":
|
// Versuche, das Package-Muster zu extrahieren (z.B. v1_21_R4, spigot_26_1)
|
||||||
serverVersion = ServerVersion.v1_20_R4;
|
if(packageName.contains(".")) {
|
||||||
break;
|
versionKey = packageName.substring(packageName.lastIndexOf('.') + 1);
|
||||||
case "1.21":
|
} else {
|
||||||
case "1.21.1":
|
versionKey = packageName;
|
||||||
case "1.21.4":
|
}
|
||||||
case "1.21.5":
|
|
||||||
serverVersion = ServerVersion.v1_21_R1;
|
// Versuche zuerst, die Version direkt aus dem Enum zu nehmen
|
||||||
break;
|
try {
|
||||||
default:
|
serverVersion = ServerVersion.valueOf(versionKey);
|
||||||
//serverVersion = ServerVersion.valueOf(packageName.replace("org.bukkit.craftbukkit.", ""));
|
Bukkit.getLogger().info("[PaintballBattle] Detected server version: " + serverVersion.name());
|
||||||
serverVersion = ServerVersion.detect();
|
} 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());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -31,7 +31,8 @@ public enum ServerVersion {
|
|||||||
v1_21_R1,
|
v1_21_R1,
|
||||||
v1_21_R2,
|
v1_21_R2,
|
||||||
v1_21_R3,
|
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) {
|
public boolean serverVersionGreaterEqualThan(ServerVersion version1, ServerVersion version2) {
|
||||||
return version1.ordinal() >= version2.ordinal();
|
return version1.ordinal() >= version2.ordinal();
|
||||||
@@ -45,7 +46,7 @@ public enum ServerVersion {
|
|||||||
public static ServerVersion detect() {
|
public static ServerVersion detect() {
|
||||||
String pkg = Bukkit.getServer().getClass().getPackage().getName();
|
String pkg = Bukkit.getServer().getClass().getPackage().getName();
|
||||||
// Bukkit.getLogger().info(pkg);
|
// 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);
|
String detected = pkg.substring(pkg.lastIndexOf('.') + 1);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
@@ -53,6 +54,11 @@ public enum ServerVersion {
|
|||||||
Bukkit.getLogger().info("[PaintballBattle] Detected server version: " + version.name());
|
Bukkit.getLogger().info("[PaintballBattle] Detected server version: " + version.name());
|
||||||
return version;
|
return version;
|
||||||
} catch (IllegalArgumentException ex) {
|
} 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");
|
Bukkit.getLogger().warning("[PaintballBattle] Unknown server version '" + detected + "', defaulting to v1_21_R4");
|
||||||
return ServerVersion.v1_21_R4;
|
return ServerVersion.v1_21_R4;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
main: pb.ajneb97.PaintballBattle
|
main: pb.ajneb97.PaintballBattle
|
||||||
version: 1.12.1
|
version: 1.12.1
|
||||||
name: PaintballBattle
|
name: PaintballBattle
|
||||||
api-version: 1.13
|
api-version: 1.14
|
||||||
author: Ajneb97
|
author: Ajneb97
|
||||||
softdepend: [Multiverse-Core, Vault, PlaceholderAPI, DecentHolograms]
|
softdepend: [Multiverse-Core, Vault, PlaceholderAPI, DecentHolograms]
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user