diff --git a/src/main/java/com/viaversion/vialoader/netty/ViaDecoder.java b/src/main/java/com/viaversion/vialoader/netty/ViaDecoder.java index 7381a34..af15318 100644 --- a/src/main/java/com/viaversion/vialoader/netty/ViaDecoder.java +++ b/src/main/java/com/viaversion/vialoader/netty/ViaDecoder.java @@ -41,12 +41,14 @@ public ViaDecoder(final UserConnection user) { @Override protected void decode(ChannelHandlerContext ctx, ByteBuf in, List out) throws Exception { if (!this.user.checkIncomingPacket()) throw CancelDecoderException.generate(null); + if (!this.user.shouldTransformPacket()) { + out.add(in.retain()); + return; + } final ByteBuf transformedBuf = ctx.alloc().buffer().writeBytes(in); try { - if (this.user.shouldTransformPacket()) { - this.user.transformIncoming(transformedBuf, CancelDecoderException::generate); - } + this.user.transformIncoming(transformedBuf, CancelDecoderException::generate); out.add(transformedBuf.retain()); } finally { transformedBuf.release(); diff --git a/src/main/java/com/viaversion/vialoader/netty/ViaEncoder.java b/src/main/java/com/viaversion/vialoader/netty/ViaEncoder.java index 25c33b7..54925d6 100644 --- a/src/main/java/com/viaversion/vialoader/netty/ViaEncoder.java +++ b/src/main/java/com/viaversion/vialoader/netty/ViaEncoder.java @@ -40,17 +40,16 @@ public ViaEncoder(final UserConnection user) { } @Override - protected void encode(ChannelHandlerContext ctx, ByteBuf byteBuf, List out) throws Exception { - if (!user.checkOutgoingPacket()) throw CancelEncoderException.generate(null); - if (!user.shouldTransformPacket()) { - out.add(byteBuf.retain()); + protected void encode(ChannelHandlerContext ctx, ByteBuf in, List out) throws Exception { + if (!this.user.checkOutgoingPacket()) throw CancelEncoderException.generate(null); + if (!this.user.shouldTransformPacket()) { + out.add(in.retain()); return; } - ByteBuf transformedBuf = ctx.alloc().buffer().writeBytes(byteBuf); + final ByteBuf transformedBuf = ctx.alloc().buffer().writeBytes(in); try { - user.transformOutgoing(transformedBuf, CancelEncoderException::generate); - + this.user.transformOutgoing(transformedBuf, CancelEncoderException::generate); out.add(transformedBuf.retain()); } finally { transformedBuf.release();