diff --git a/providers/NMSReflectionProvider/src/main/java/net/ess3/nms/refl/ReflUtil.java b/providers/NMSReflectionProvider/src/main/java/net/ess3/nms/refl/ReflUtil.java index ba3d6a012..9bcf1292e 100644 --- a/providers/NMSReflectionProvider/src/main/java/net/ess3/nms/refl/ReflUtil.java +++ b/providers/NMSReflectionProvider/src/main/java/net/ess3/nms/refl/ReflUtil.java @@ -19,6 +19,7 @@ public final class ReflUtil { public static final NMSVersion V1_12_R1 = NMSVersion.fromString("v1_12_R1"); public static final NMSVersion V1_11_R1 = NMSVersion.fromString("v1_11_R1"); public static final NMSVersion V1_17_R1 = NMSVersion.fromString("v1_17_R1"); + public static final NMSVersion V1_18_R1 = NMSVersion.fromString("v1_18_R1"); private static final Map> classCache = new HashMap<>(); private static final Table, String, Method> methodCache = HashBasedTable.create(); private static final Table, MethodParams, Method> methodParamCache = HashBasedTable.create(); diff --git a/providers/NMSReflectionProvider/src/main/java/net/ess3/nms/refl/providers/ReflServerStateProvider.java b/providers/NMSReflectionProvider/src/main/java/net/ess3/nms/refl/providers/ReflServerStateProvider.java index e6a1b4d85..11493bf33 100644 --- a/providers/NMSReflectionProvider/src/main/java/net/ess3/nms/refl/providers/ReflServerStateProvider.java +++ b/providers/NMSReflectionProvider/src/main/java/net/ess3/nms/refl/providers/ReflServerStateProvider.java @@ -17,7 +17,9 @@ public class ReflServerStateProvider implements ServerStateProvider { final Class nmsClass = ReflUtil.getNMSClass("MinecraftServer"); try { serverObject = nmsClass.getMethod("getServer").invoke(null); - isRunning = MethodHandles.lookup().findVirtual(nmsClass, "isRunning", MethodType.methodType(boolean.class)); + isRunning = MethodHandles.lookup().findVirtual(nmsClass, + ReflUtil.getNmsVersionObject().isHigherThanOrEqualTo(ReflUtil.V1_18_R1) ? "v" : "isRunning", //TODO jmp said he may make this better + MethodType.methodType(boolean.class)); } catch (final Exception e) { e.printStackTrace(); }