From 41fcf0fef2774593aefb33f1790bfe0ea4c5a1f4 Mon Sep 17 00:00:00 2001 From: Joseph Burton Date: Tue, 11 Aug 2020 13:49:35 +0100 Subject: [PATCH] Add multiconnect beta check (#43) --- .../viafabric/providers/VRVersionProvider.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/github/creeper123123321/viafabric/providers/VRVersionProvider.java b/src/main/java/com/github/creeper123123321/viafabric/providers/VRVersionProvider.java index 5512ba1..72bbc41 100644 --- a/src/main/java/com/github/creeper123123321/viafabric/providers/VRVersionProvider.java +++ b/src/main/java/com/github/creeper123123321/viafabric/providers/VRVersionProvider.java @@ -58,9 +58,18 @@ public class VRVersionProvider extends VersionProvider { Object mcApiInstance = mcApiClass.getMethod("instance").invoke(null); List protocols = (List) mcApiClass.getMethod("getSupportedProtocols").invoke(mcApiInstance); Method getValue = iProtocolClass.getMethod("getValue"); + Method isMulticonnectBeta; + try { + isMulticonnectBeta = iProtocolClass.getMethod("isMulticonnectBeta"); + } catch (NoSuchMethodException e) { + isMulticonnectBeta = null; + } multiconnectSupportedVersions = new TreeSet<>(); for (Object protocol : protocols) { - multiconnectSupportedVersions.add((Integer) getValue.invoke(protocol)); + // Do not use versions with beta multiconnect support, which may have stability issues + if (isMulticonnectBeta == null || !(Boolean) isMulticonnectBeta.invoke(protocol)) { + multiconnectSupportedVersions.add((Integer) getValue.invoke(protocol)); + } } ViaFabric.JLOGGER.info("ViaFabric will integrate with multiconnect"); }