Check for new outbound_config pipeline handler

This commit is contained in:
Nassim Jahnke 2024-04-06 23:10:58 +02:00
parent c2489c7a4c
commit 35a00d0b95
No known key found for this signature in database
GPG Key ID: EF6771C01F6EF02F
1 changed files with 3 additions and 2 deletions

View File

@ -34,13 +34,13 @@ public final class BukkitChannelInitializer extends ChannelInitializer<Channel>
public static final String VIA_DECODER = "via-decoder";
public static final String MINECRAFT_ENCODER = "encoder";
public static final String MINECRAFT_DECODER = "decoder";
public static final String MINECRAFT_OUTBOUND_CONFIG = "outbound_config";
public static final String MINECRAFT_COMPRESSOR = "compress";
public static final String MINECRAFT_DECOMPRESSOR = "decompress";
public static final Object COMPRESSION_ENABLED_EVENT = paperCompressionEnabledEvent();
private static final Method INIT_CHANNEL_METHOD;
private final ChannelInitializer<Channel> original;
static {
try {
INIT_CHANNEL_METHOD = ChannelInitializer.class.getDeclaredMethod("initChannel", Channel.class);
@ -80,7 +80,8 @@ public final class BukkitChannelInitializer extends ChannelInitializer<Channel>
// Add our transformers
final ChannelPipeline pipeline = channel.pipeline();
pipeline.addBefore(MINECRAFT_ENCODER, VIA_ENCODER, new BukkitEncodeHandler(connection));
final String encoderName = pipeline.get(MINECRAFT_OUTBOUND_CONFIG) != null ? MINECRAFT_OUTBOUND_CONFIG : MINECRAFT_ENCODER;
pipeline.addBefore(encoderName, VIA_ENCODER, new BukkitEncodeHandler(connection));
pipeline.addBefore(MINECRAFT_DECODER, VIA_DECODER, new BukkitDecodeHandler(connection));
}