From bd42375b8d70ecfe0abe369c09d960c9cbd736d5 Mon Sep 17 00:00:00 2001 From: DaMarine Date: Thu, 2 Jul 2026 08:49:35 +0100 Subject: [PATCH] [2.2] - Support experimental Paper builds --- .../advancedlinks/spigot/managers/PlatformManager.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/platform/spigot/src/main/java/me/lucaaa/advancedlinks/spigot/managers/PlatformManager.java b/platform/spigot/src/main/java/me/lucaaa/advancedlinks/spigot/managers/PlatformManager.java index 5f6f726..494d0d4 100644 --- a/platform/spigot/src/main/java/me/lucaaa/advancedlinks/spigot/managers/PlatformManager.java +++ b/platform/spigot/src/main/java/me/lucaaa/advancedlinks/spigot/managers/PlatformManager.java @@ -16,6 +16,7 @@ import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; +import java.util.Arrays; import java.util.logging.Level; @SuppressWarnings("UnstableApiUsage") @@ -75,10 +76,12 @@ public MessageReceiver getMessageReceiver(CommandSender sender) { } public void registerMainCommand() { - String[] versionParts = plugin.getServer().getBukkitVersion().split("-")[0].split("\\."); - int major = Integer.parseInt(versionParts[1]); - int minor = (versionParts.length > 2) ? Integer.parseInt(versionParts[2]) : 0; + String[] versionParts = Arrays.stream(plugin.getServer().getBukkitVersion().split("-")[0].split("\\.")) + .filter(part -> part.matches("\\d+")) // Keep only numeric parts, experimental Paper versions contain non-numeric values (e.g. "build") + .toArray(String[]::new); boolean oldVersioning = Integer.parseInt(versionParts[0]) == 1; + int major = Integer.parseInt(versionParts[1]); + int minor = (oldVersioning && versionParts.length > 2) ? Integer.parseInt(versionParts[2]) : 0; if (platform == Platform.SPIGOT || (oldVersioning && major <= 21 && minor < 4)) { new SpigotMainCommand(plugin);