diff --git a/src/main/java/mc/core/NetStream.java b/src/main/java/mc/core/NetStream.java index da1db3b..8c2d63b 100644 --- a/src/main/java/mc/core/NetStream.java +++ b/src/main/java/mc/core/NetStream.java @@ -26,4 +26,7 @@ public interface NetStream { int readUnsignedShort(); void skipBytes(int count); + + void setExpectedLength(int value); + int getExpectedLength(); } diff --git a/src/main/java/mc/core/netty/PacketDecoder.java b/src/main/java/mc/core/netty/PacketDecoder.java index d2b8a4a..8261193 100644 --- a/src/main/java/mc/core/netty/PacketDecoder.java +++ b/src/main/java/mc/core/netty/PacketDecoder.java @@ -21,6 +21,7 @@ public class PacketDecoder extends ReplayingDecoder { NetStream netStream = new WrapperByteBufNetStream(byteBuf); int length = netStream.readVarInt(); + netStream.setExpectedLength(length); int id = netStream.readVarInt(); log.debug("PktLEN: {} | PktID: {}", length, id); diff --git a/src/main/java/mc/core/netty/WrapperByteBufNetStream.java b/src/main/java/mc/core/netty/WrapperByteBufNetStream.java index e5a07b2..fa1c4a2 100644 --- a/src/main/java/mc/core/netty/WrapperByteBufNetStream.java +++ b/src/main/java/mc/core/netty/WrapperByteBufNetStream.java @@ -13,6 +13,7 @@ import java.nio.charset.StandardCharsets; @RequiredArgsConstructor public class WrapperByteBufNetStream implements NetStream { private final ByteBuf byteBuf; + private int length; @Override public byte readByte() { @@ -128,4 +129,14 @@ public class WrapperByteBufNetStream implements NetStream { public void skipBytes(int count) { byteBuf.skipBytes(count); } + + @Override + public void setExpectedLength(int value) { + this.length = value; + } + + @Override + public int getExpectedLength() { + return length; + } }