From b28f74330690e3b88a651ca47193b6daa20d9a6c Mon Sep 17 00:00:00 2001 From: KennyTV Date: Mon, 5 Jul 2021 18:21:26 +0200 Subject: [PATCH] 4.0.1 Release --- .../api/protocol/version/ProtocolVersion.java | 2 +- gradle.properties | 2 +- .../viaversion/viaversion/VelocityPlugin.java | 21 +++++++++++++++++++ .../platform/VelocityViaInjector.java | 4 ++-- 4 files changed, 25 insertions(+), 4 deletions(-) diff --git a/api/src/main/java/com/viaversion/viaversion/api/protocol/version/ProtocolVersion.java b/api/src/main/java/com/viaversion/viaversion/api/protocol/version/ProtocolVersion.java index df5d62885..9b216366c 100644 --- a/api/src/main/java/com/viaversion/viaversion/api/protocol/version/ProtocolVersion.java +++ b/api/src/main/java/com/viaversion/viaversion/api/protocol/version/ProtocolVersion.java @@ -77,7 +77,7 @@ public class ProtocolVersion { public static final ProtocolVersion v1_16_3 = register(753, "1.16.3"); public static final ProtocolVersion v1_16_4 = register(754, "1.16.4/5", new VersionRange("1.16", 4, 5)); public static final ProtocolVersion v1_17 = register(755, "1.17"); - public static final ProtocolVersion v1_17_1 = register(756, 40, "1.17.1"); + public static final ProtocolVersion v1_17_1 = register(756, "1.17.1"); public static final ProtocolVersion unknown = register(-1, "UNKNOWN"); public static ProtocolVersion register(int version, String name) { diff --git a/gradle.properties b/gradle.properties index aab3aeb0c..54a48ccf7 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,5 +1,5 @@ # Project properties - we put these here so they can be modified without causing a recompile of the build scripts -projectVersion=4.0.1-1.17.1-rc2-SNAPSHOT +projectVersion=4.0.1 # Gradle properties org.gradle.daemon=true diff --git a/velocity/src/main/java/com/viaversion/viaversion/VelocityPlugin.java b/velocity/src/main/java/com/viaversion/viaversion/VelocityPlugin.java index cc78237b5..5d4cd885e 100644 --- a/velocity/src/main/java/com/viaversion/viaversion/VelocityPlugin.java +++ b/velocity/src/main/java/com/viaversion/viaversion/VelocityPlugin.java @@ -82,6 +82,18 @@ public class VelocityPlugin implements ViaPlatform { @Subscribe public void onProxyInit(ProxyInitializeEvent e) { + if (!hasConnectionEvent()) { + // No way to disable the plugin :( + Logger logger = this.loggerslf4j; + logger.error(" / \\"); + logger.error(" / \\"); + logger.error(" / | \\"); + logger.error(" / | \\ VELOCITY 3.0.0 IS REQUIRED"); + logger.error(" / \\ VIAVERSION WILL NOT WORK AS INTENDED"); + logger.error(" / o \\"); + logger.error("/_____________\\"); + } + PROXY = proxy; VelocityCommandHandler commandHandler = new VelocityCommandHandler(); PROXY.getCommandManager().register("viaver", commandHandler, "vvvelocity", "viaversion"); @@ -231,4 +243,13 @@ public class VelocityPlugin implements ViaPlatform { public java.util.logging.Logger getLogger() { return logger; } + + private boolean hasConnectionEvent() { + try { + Class.forName("com.velocitypowered.proxy.protocol.VelocityConnectionEvent"); + return true; + } catch (ClassNotFoundException ignored) { + return false; + } + } } diff --git a/velocity/src/main/java/com/viaversion/viaversion/velocity/platform/VelocityViaInjector.java b/velocity/src/main/java/com/viaversion/viaversion/velocity/platform/VelocityViaInjector.java index 83e33d82f..f8e63517d 100644 --- a/velocity/src/main/java/com/viaversion/viaversion/velocity/platform/VelocityViaInjector.java +++ b/velocity/src/main/java/com/viaversion/viaversion/velocity/platform/VelocityViaInjector.java @@ -57,13 +57,14 @@ public class VelocityViaInjector implements ViaInjector { @Override public void inject() throws Exception { + Via.getPlatform().getLogger().info("Replacing channel initializers; you can safely ignore the following two warnings."); + Object connectionManager = ReflectionUtil.get(VelocityPlugin.PROXY, "cm", Object.class); Object channelInitializerHolder = ReflectionUtil.invoke(connectionManager, "getServerChannelInitializer"); ChannelInitializer originalInitializer = getInitializer(); channelInitializerHolder.getClass().getMethod("set", ChannelInitializer.class) .invoke(channelInitializerHolder, new VelocityChannelInitializer(originalInitializer, false)); - Object backendInitializerHolder = ReflectionUtil.invoke(connectionManager, "getBackendChannelInitializer"); ChannelInitializer backendInitializer = getBackendInitializer(); backendInitializerHolder.getClass().getMethod("set", ChannelInitializer.class) @@ -75,7 +76,6 @@ public class VelocityViaInjector implements ViaInjector { Via.getPlatform().getLogger().severe("ViaVersion cannot remove itself from Velocity without a reboot!"); } - @Override public int getServerProtocolVersion() throws Exception { return getLowestSupportedProtocolVersion();