diff --git a/src/main/java/org/geysermc/floodgate/pluginmessage/payloads/FormPayload.java b/src/main/java/org/geysermc/floodgate/pluginmessage/payloads/FormPayload.java index 6ab4add4..475d138f 100644 --- a/src/main/java/org/geysermc/floodgate/pluginmessage/payloads/FormPayload.java +++ b/src/main/java/org/geysermc/floodgate/pluginmessage/payloads/FormPayload.java @@ -1,5 +1,6 @@ package org.geysermc.floodgate.pluginmessage.payloads; +import io.netty.buffer.ByteBufUtil; import net.minecraft.network.FriendlyByteBuf; import net.minecraft.network.codec.StreamCodec; import net.minecraft.network.protocol.common.custom.CustomPacketPayload; @@ -11,15 +12,16 @@ public record FormPayload(byte[] data) implements CustomPacketPayload { public static final CustomPacketPayload.Type TYPE = new Type<>(ResourceLocation.parse("floodgate:form")); private FormPayload(FriendlyByteBuf friendlyByteBuf) { - this(friendlyByteBuf.readByteArray()); + this(ByteBufUtil.getBytes(friendlyByteBuf)); + friendlyByteBuf.readerIndex(friendlyByteBuf.readerIndex() + this.data.length); } private void write(FriendlyByteBuf friendlyByteBuf) { - friendlyByteBuf.writeByteArray(this.data); + friendlyByteBuf.writeBytes(this.data); } @Override public CustomPacketPayload.@NonNull Type type() { return TYPE; } -} \ No newline at end of file +} diff --git a/src/main/java/org/geysermc/floodgate/pluginmessage/payloads/PacketPayload.java b/src/main/java/org/geysermc/floodgate/pluginmessage/payloads/PacketPayload.java index 08bc2c60..b00021b5 100644 --- a/src/main/java/org/geysermc/floodgate/pluginmessage/payloads/PacketPayload.java +++ b/src/main/java/org/geysermc/floodgate/pluginmessage/payloads/PacketPayload.java @@ -1,5 +1,6 @@ package org.geysermc.floodgate.pluginmessage.payloads; +import io.netty.buffer.ByteBufUtil; import net.minecraft.network.FriendlyByteBuf; import net.minecraft.network.codec.StreamCodec; import net.minecraft.network.protocol.common.custom.CustomPacketPayload; @@ -11,15 +12,16 @@ public record PacketPayload(byte[] data) implements CustomPacketPayload { public static final CustomPacketPayload.Type TYPE = new Type<>(ResourceLocation.parse("floodgate:packet")); private PacketPayload(FriendlyByteBuf friendlyByteBuf) { - this(friendlyByteBuf.readByteArray()); + this(ByteBufUtil.getBytes(friendlyByteBuf)); + friendlyByteBuf.readerIndex(friendlyByteBuf.readerIndex() + this.data.length); } private void write(FriendlyByteBuf friendlyByteBuf) { - friendlyByteBuf.writeByteArray(this.data); + friendlyByteBuf.writeBytes(this.data); } @Override public CustomPacketPayload.@NonNull Type type() { return TYPE; } -} \ No newline at end of file +} diff --git a/src/main/java/org/geysermc/floodgate/pluginmessage/payloads/SkinPayload.java b/src/main/java/org/geysermc/floodgate/pluginmessage/payloads/SkinPayload.java index 900f00c7..a1e6eee6 100644 --- a/src/main/java/org/geysermc/floodgate/pluginmessage/payloads/SkinPayload.java +++ b/src/main/java/org/geysermc/floodgate/pluginmessage/payloads/SkinPayload.java @@ -1,5 +1,6 @@ package org.geysermc.floodgate.pluginmessage.payloads; +import io.netty.buffer.ByteBufUtil; import net.minecraft.network.FriendlyByteBuf; import net.minecraft.network.codec.StreamCodec; import net.minecraft.network.protocol.common.custom.CustomPacketPayload; @@ -11,15 +12,16 @@ public record SkinPayload(byte[] data) implements CustomPacketPayload { public static final CustomPacketPayload.Type TYPE = new Type<>(ResourceLocation.parse("floodgate:skin")); private SkinPayload(FriendlyByteBuf friendlyByteBuf) { - this(friendlyByteBuf.readByteArray()); + this(ByteBufUtil.getBytes(friendlyByteBuf)); + friendlyByteBuf.readerIndex(friendlyByteBuf.readerIndex() + this.data.length); } private void write(FriendlyByteBuf friendlyByteBuf) { - friendlyByteBuf.writeByteArray(this.data); + friendlyByteBuf.writeBytes(this.data); } @Override public CustomPacketPayload.@NonNull Type type() { return TYPE; } -} \ No newline at end of file +} diff --git a/src/main/java/org/geysermc/floodgate/pluginmessage/payloads/TransferPayload.java b/src/main/java/org/geysermc/floodgate/pluginmessage/payloads/TransferPayload.java index 5c16b796..63963279 100644 --- a/src/main/java/org/geysermc/floodgate/pluginmessage/payloads/TransferPayload.java +++ b/src/main/java/org/geysermc/floodgate/pluginmessage/payloads/TransferPayload.java @@ -1,5 +1,6 @@ package org.geysermc.floodgate.pluginmessage.payloads; +import io.netty.buffer.ByteBufUtil; import net.minecraft.network.FriendlyByteBuf; import net.minecraft.network.codec.StreamCodec; import net.minecraft.network.protocol.common.custom.CustomPacketPayload; @@ -11,15 +12,16 @@ public record TransferPayload(byte[] data) implements CustomPacketPayload { public static final CustomPacketPayload.Type TYPE = new Type<>(ResourceLocation.parse("floodgate:transfer")); private TransferPayload(FriendlyByteBuf friendlyByteBuf) { - this(friendlyByteBuf.readByteArray()); + this(ByteBufUtil.getBytes(friendlyByteBuf)); + friendlyByteBuf.readerIndex(friendlyByteBuf.readerIndex() + this.data.length); } private void write(FriendlyByteBuf friendlyByteBuf) { - friendlyByteBuf.writeByteArray(this.data); + friendlyByteBuf.writeBytes(this.data); } @Override public CustomPacketPayload.@NonNull Type type() { return TYPE; } -} \ No newline at end of file +}