From 644b6a4e5fa4fe2a0ae6a19e3a53b0965b2d483a Mon Sep 17 00:00:00 2001 From: Pyrbu Date: Fri, 17 May 2024 04:55:06 +0200 Subject: [PATCH] fix reflection initializer error --- .../pyr/znpcsplus/reflection/ReflectionPackage.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/plugin/src/main/java/lol/pyr/znpcsplus/reflection/ReflectionPackage.java b/plugin/src/main/java/lol/pyr/znpcsplus/reflection/ReflectionPackage.java index c58b4c3..2c8e046 100644 --- a/plugin/src/main/java/lol/pyr/znpcsplus/reflection/ReflectionPackage.java +++ b/plugin/src/main/java/lol/pyr/znpcsplus/reflection/ReflectionPackage.java @@ -14,7 +14,7 @@ import java.util.stream.Collectors; * pre-1.17 had all of their classes "flattened" into one package. */ public class ReflectionPackage { - private static final String VERSION = Bukkit.getServer().getClass().getPackage().getName().split("\\.")[3]; + private static final String VERSION = generateVersion(); public static final String BUKKIT = "org.bukkit.craftbukkit." + VERSION; private static final boolean flattened = !PacketEvents.getAPI().getServerManager().getVersion().isNewerThanOrEquals(ServerVersion.V_1_17); @@ -28,7 +28,13 @@ public class ReflectionPackage { public static String joinWithDot(String... parts) { return Arrays.stream(parts) .filter(Objects::nonNull) - .filter(p -> p.length() != 0) + .filter(p -> !p.isEmpty()) .collect(Collectors.joining(".")); } + + private static String generateVersion() { + String[] parts = Bukkit.getServer().getClass().getPackage().getName().split("\\."); + if (parts.length > 3) return parts[3]; + return ""; + } }