From bbe70b3a7e089e8deb8d8d00ff95abca44e8aa47 Mon Sep 17 00:00:00 2001 From: creeper123123321 <7974274+creeper123123321@users.noreply.github.com> Date: Wed, 2 Jun 2021 20:18:24 -0300 Subject: [PATCH] update viaversion --- build.gradle | 4 +- .../AbstractFabricVersionProvider.java | 47 ++++++++++--------- viafabric-mc117/build.gradle.kts | 6 +-- 3 files changed, 30 insertions(+), 27 deletions(-) diff --git a/build.gradle b/build.gradle index 8cef1c5..c79be03 100644 --- a/build.gradle +++ b/build.gradle @@ -10,10 +10,10 @@ plugins { } def ENV = System.getenv() -def vvVer = "4.0.0-1.17-pre2-SNAPSHOT" +def vvVer = "4.0.0-1.17-pre4-SNAPSHOT" description = "Client-side and server-side ViaVersion implementation for Fabric" -version = "0.4.0+" + ENV.GITHUB_RUN_NUMBER + "-" + getBranch() +version = "0.4.1+" + ENV.GITHUB_RUN_NUMBER + "-" + getBranch() logger.lifecycle("Building ViaFabric: $version") def getBranch() { diff --git a/src/main/java/com/viaversion/fabric/common/provider/AbstractFabricVersionProvider.java b/src/main/java/com/viaversion/fabric/common/provider/AbstractFabricVersionProvider.java index 4997b2a..8d50be2 100644 --- a/src/main/java/com/viaversion/fabric/common/provider/AbstractFabricVersionProvider.java +++ b/src/main/java/com/viaversion/fabric/common/provider/AbstractFabricVersionProvider.java @@ -30,29 +30,32 @@ public abstract class AbstractFabricVersionProvider extends BaseVersionProvider private int[] multiconnectSupportedVersions = null; { + multiconnectIntegration(); + } + + private void multiconnectIntegration() { + if (!FabricLoader.getInstance().isModLoaded("multiconnect")) return; try { - if (FabricLoader.getInstance().isModLoaded("multiconnect")) { - Class mcApiClass = Class.forName("net.earthcomputer.multiconnect.api.MultiConnectAPI"); - Class iProtocolClass = Class.forName("net.earthcomputer.multiconnect.api.IProtocol"); - 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; - } - Set vers = new TreeSet<>(); - for (Object protocol : protocols) { - // Do not use versions with beta multiconnect support, which may have stability issues - if (isMulticonnectBeta == null || !(Boolean) isMulticonnectBeta.invoke(protocol)) { - vers.add((Integer) getValue.invoke(protocol)); - } - } - multiconnectSupportedVersions = vers.stream().mapToInt(Integer::intValue).toArray(); - getLogger().info("ViaFabric will integrate with multiconnect"); + Class mcApiClass = Class.forName("net.earthcomputer.multiconnect.api.MultiConnectAPI"); + Class iProtocolClass = Class.forName("net.earthcomputer.multiconnect.api.IProtocol"); + 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; } + Set vers = new TreeSet<>(); + for (Object protocol : protocols) { + // Do not use versions with beta multiconnect support, which may have stability issues + if (isMulticonnectBeta == null || !(Boolean) isMulticonnectBeta.invoke(protocol)) { + vers.add((Integer) getValue.invoke(protocol)); + } + } + multiconnectSupportedVersions = vers.stream().mapToInt(Integer::intValue).toArray(); + getLogger().info("ViaFabric will integrate with multiconnect"); } catch (ClassNotFoundException | IllegalAccessException | InvocationTargetException | NoSuchMethodException | ClassCastException ignored) { } @@ -116,7 +119,7 @@ public abstract class AbstractFabricVersionProvider extends BaseVersionProvider getLogger().info("Sending " + ProtocolVersion.getProtocol(multiconnectSuggestion) + " for multiconnect version detector"); PacketWrapper newAnswer = PacketWrapper.create(0x00, null, connection); newAnswer.write(Type.STRING, "{\"version\":{\"name\":\"viafabric integration\",\"protocol\":" + multiconnectSuggestion + "}}"); - newAnswer.send(info.getPipeline().contains(BaseProtocol1_16.class) ? BaseProtocol1_16.class : BaseProtocol1_7.class, true, true); + newAnswer.send(info.getPipeline().contains(BaseProtocol1_16.class) ? BaseProtocol1_16.class : BaseProtocol1_7.class); throw CancelException.generate(); } } diff --git a/viafabric-mc117/build.gradle.kts b/viafabric-mc117/build.gradle.kts index 1d8432a..1855e6f 100644 --- a/viafabric-mc117/build.gradle.kts +++ b/viafabric-mc117/build.gradle.kts @@ -1,9 +1,9 @@ version = rootProject.version dependencies { - minecraft("com.mojang:minecraft:1.17-pre2") - mappings("net.fabricmc:yarn:1.17-pre2+build.1:v2") + minecraft("com.mojang:minecraft:1.17-pre4") + mappings("net.fabricmc:yarn:1.17-pre4+build.1:v2") modImplementation("net.fabricmc.fabric-api:fabric-api:0.34.8+1.17") - modImplementation("com.terraformersmc:modmenu:2.0.0-beta.5") + modImplementation("com.terraformersmc:modmenu:2.0.0-beta.7") }