diff --git a/fabric/src/main/java/cn/zbx1425/worldcomment/fabric/CompatPacket.java b/fabric/src/main/java/cn/zbx1425/worldcomment/fabric/CompatPacket.java index a7b0eae..6da7560 100644 --- a/fabric/src/main/java/cn/zbx1425/worldcomment/fabric/CompatPacket.java +++ b/fabric/src/main/java/cn/zbx1425/worldcomment/fabric/CompatPacket.java @@ -35,16 +35,14 @@ public Type type() { public final StreamCodec STREAM_CODEC = new StreamCodec<>() { @Override public void encode(ByteBuf dest, Payload src) { - src.buffer.readerIndex(0); - dest.writeInt(src.buffer.readableBytes()); - dest.writeBytes(src.buffer, 0, src.buffer.readableBytes()); + dest.writeBytes(src.buffer); } @Override public Payload decode(ByteBuf src) { - final int length = src.readInt(); - FriendlyByteBuf result = new FriendlyByteBuf(src.readBytes(length)); - return new Payload(result); + ByteBuf data = src.retainedDuplicate(); + src.readerIndex(src.readerIndex() + src.readableBytes()); + return new Payload(new FriendlyByteBuf(data)); } }; } diff --git a/neoforge/src/main/java/cn/zbx1425/worldcomment/neoforge/CompatPacket.java b/neoforge/src/main/java/cn/zbx1425/worldcomment/neoforge/CompatPacket.java index d69d6e6..dbe073e 100644 --- a/neoforge/src/main/java/cn/zbx1425/worldcomment/neoforge/CompatPacket.java +++ b/neoforge/src/main/java/cn/zbx1425/worldcomment/neoforge/CompatPacket.java @@ -35,16 +35,14 @@ public Type type() { public final StreamCodec STREAM_CODEC = new StreamCodec<>() { @Override public void encode(ByteBuf dest, Payload src) { - src.buffer.readerIndex(0); - dest.writeInt(src.buffer.readableBytes()); - dest.writeBytes(src.buffer, 0, src.buffer.readableBytes()); + dest.writeBytes(src.buffer); } @Override public Payload decode(ByteBuf src) { - final int length = src.readInt(); - FriendlyByteBuf result = new FriendlyByteBuf(src.readBytes(length)); - return new Payload(result); + ByteBuf data = src.retainedDuplicate(); + src.readerIndex(src.readerIndex() + src.readableBytes()); + return new Payload(new FriendlyByteBuf(data)); } }; }