From d8c2a036e9640496db529b9e22bed78b6f0745bc Mon Sep 17 00:00:00 2001 From: RaphiMC <50594595+RaphiMC@users.noreply.github.com> Date: Thu, 8 Feb 2024 01:54:28 +0100 Subject: [PATCH] Updated ViaBedrock implementation --- gradle.properties | 2 +- .../ViaFabricPlusNettyPipelineProvider.java | 16 ++++++---------- 2 files changed, 7 insertions(+), 11 deletions(-) diff --git a/gradle.properties b/gradle.properties index 3dcc5080..4eb0af59 100644 --- a/gradle.properties +++ b/gradle.properties @@ -23,7 +23,7 @@ vialoader_version=2.2.13-SNAPSHOT # RaphiMC Libraries minecraftauth_version=4.0.0-SNAPSHOT -viabedrock_version=0.0.4-SNAPSHOT +viabedrock_version=0.0.5-SNAPSHOT raknet_transport_version=1.0.0.CR1-SNAPSHOT # Lenni0451 Libraries diff --git a/src/main/java/de/florianmichael/viafabricplus/protocolhack/impl/provider/viabedrock/ViaFabricPlusNettyPipelineProvider.java b/src/main/java/de/florianmichael/viafabricplus/protocolhack/impl/provider/viabedrock/ViaFabricPlusNettyPipelineProvider.java index 279562a6..d355d997 100644 --- a/src/main/java/de/florianmichael/viafabricplus/protocolhack/impl/provider/viabedrock/ViaFabricPlusNettyPipelineProvider.java +++ b/src/main/java/de/florianmichael/viafabricplus/protocolhack/impl/provider/viabedrock/ViaFabricPlusNettyPipelineProvider.java @@ -22,9 +22,9 @@ package de.florianmichael.viafabricplus.protocolhack.impl.provider.viabedrock; import com.viaversion.viaversion.api.connection.UserConnection; import de.florianmichael.viafabricplus.protocolhack.netty.ViaFabricPlusVLLegacyPipeline; import io.netty.channel.Channel; -import net.raphimc.viabedrock.netty.AesEncryption; -import net.raphimc.viabedrock.netty.SnappyCompression; -import net.raphimc.viabedrock.netty.ZLibCompression; +import net.raphimc.viabedrock.api.io.compression.ProtocolCompression; +import net.raphimc.viabedrock.netty.AesEncryptionCodec; +import net.raphimc.viabedrock.netty.CompressionCodec; import net.raphimc.viabedrock.protocol.providers.NettyPipelineProvider; import net.raphimc.vialoader.netty.VLPipeline; @@ -33,18 +33,14 @@ import javax.crypto.SecretKey; public class ViaFabricPlusNettyPipelineProvider extends NettyPipelineProvider { @Override - public void enableCompression(UserConnection user, int threshold, int algorithm) { + public void enableCompression(UserConnection user, ProtocolCompression protocolCompression) { final Channel channel = user.getChannel(); if (channel.pipeline().names().contains(ViaFabricPlusVLLegacyPipeline.VIABEDROCK_COMPRESSION_HANDLER_NAME)) { throw new IllegalStateException("Compression already enabled"); } - switch (algorithm) { - case 0 -> channel.pipeline().addBefore("splitter", ViaFabricPlusVLLegacyPipeline.VIABEDROCK_COMPRESSION_HANDLER_NAME, new ZLibCompression()); - case 1 -> channel.pipeline().addBefore("splitter", ViaFabricPlusVLLegacyPipeline.VIABEDROCK_COMPRESSION_HANDLER_NAME, new SnappyCompression()); - default -> throw new IllegalStateException("Invalid compression algorithm: " + algorithm); - } + channel.pipeline().addBefore("splitter", ViaFabricPlusVLLegacyPipeline.VIABEDROCK_COMPRESSION_HANDLER_NAME, new CompressionCodec(protocolCompression)); } @Override @@ -56,7 +52,7 @@ public class ViaFabricPlusNettyPipelineProvider extends NettyPipelineProvider { } try { - channel.pipeline().addAfter(VLPipeline.VIABEDROCK_FRAME_ENCAPSULATION_HANDLER_NAME, ViaFabricPlusVLLegacyPipeline.VIABEDROCK_ENCRYPTION_HANDLER_NAME, new AesEncryption(key)); + channel.pipeline().addAfter(VLPipeline.VIABEDROCK_FRAME_ENCAPSULATION_HANDLER_NAME, ViaFabricPlusVLLegacyPipeline.VIABEDROCK_ENCRYPTION_HANDLER_NAME, new AesEncryptionCodec(key)); } catch (Throwable e) { throw new RuntimeException(e); }