From 5e91d603070260e3f4f5f69bd43d8e6429b7eb56 Mon Sep 17 00:00:00 2001 From: LoJoSho Date: Wed, 22 May 2024 19:50:15 -0500 Subject: [PATCH] feat: recode handling of nms version check --- .../hibiscuscommons/nms/NMSHandlers.java | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/common/src/main/java/me/lojosho/hibiscuscommons/nms/NMSHandlers.java b/common/src/main/java/me/lojosho/hibiscuscommons/nms/NMSHandlers.java index 1667dc6..54c2a7f 100644 --- a/common/src/main/java/me/lojosho/hibiscuscommons/nms/NMSHandlers.java +++ b/common/src/main/java/me/lojosho/hibiscuscommons/nms/NMSHandlers.java @@ -2,13 +2,21 @@ package me.lojosho.hibiscuscommons.nms; import lombok.Getter; import me.lojosho.hibiscuscommons.HibiscusCommonsPlugin; +import org.bukkit.Bukkit; import org.jetbrains.annotations.Nullable; import java.lang.reflect.InvocationTargetException; +import java.util.HashMap; public class NMSHandlers { - private static final String[] SUPPORTED_VERSION = new String[]{"v1_18_R2", "v1_19_R1", "v1_19_R2", "v1_19_R3", "v1_20_R1", "v1_20_R2", "v1_20_R3", "v1_20_R4"}; + private static final HashMap VERSION_MAP = new HashMap<>() {{ + put("1.19.4", "v1_19_R3"); + put("1.20", "v1_20_R1"); + put("1.20.2", "v1_20_R2"); + put("1.20.4", "v1_20_R3"); + put("1.20.6", "v1_20_R4"); + }}; private static NMSHandler handler; @Getter private static String version; @@ -30,10 +38,11 @@ public class NMSHandlers { public static void setup() { if (handler != null) return; - final String packageName = HibiscusCommonsPlugin.getInstance().getServer().getClass().getPackage().getName(); - String packageVersion = packageName.substring(packageName.lastIndexOf('.') + 1); + final String bukkitVersion = Bukkit.getServer().getBukkitVersion(); + String minecraftVersion = bukkitVersion.substring(0, bukkitVersion.indexOf('-')); + String packageVersion = VERSION_MAP.get(minecraftVersion); - for (String selectedVersion : SUPPORTED_VERSION) { + for (String selectedVersion : VERSION_MAP.values()) { if (!selectedVersion.contains(packageVersion)) { continue; }