package net.minecraft.network.protocol.common; import io.netty.buffer.ByteBuf; import net.minecraft.network.FriendlyByteBuf; import net.minecraft.network.codec.ByteBufCodecs; import net.minecraft.network.codec.StreamCodec; import net.minecraft.network.protocol.Packet; import net.minecraft.network.protocol.PacketType; import net.minecraft.resources.ResourceLocation; public record ClientboundStoreCookiePacket(ResourceLocation key, byte[] payload) implements Packet { public static final StreamCodec STREAM_CODEC = Packet.codec( ClientboundStoreCookiePacket::write, ClientboundStoreCookiePacket::new ); private static final int MAX_PAYLOAD_SIZE = 5120; public static final StreamCodec PAYLOAD_STREAM_CODEC = ByteBufCodecs.byteArray(5120); private ClientboundStoreCookiePacket(FriendlyByteBuf p_331845_) { this(p_331845_.readResourceLocation(), PAYLOAD_STREAM_CODEC.decode(p_331845_)); } private void write(FriendlyByteBuf p_330443_) { p_330443_.writeResourceLocation(this.key); PAYLOAD_STREAM_CODEC.encode(p_330443_, this.payload); } @Override public PacketType type() { return CommonPacketTypes.CLIENTBOUND_STORE_COOKIE; } public void handle(ClientCommonPacketListener p_334968_) { p_334968_.handleStoreCookie(this); } }