package net.minecraft.network.protocol.cookie; import net.minecraft.network.FriendlyByteBuf; import net.minecraft.network.codec.StreamCodec; import net.minecraft.network.protocol.Packet; import net.minecraft.network.protocol.PacketType; import net.minecraft.network.protocol.common.ClientboundStoreCookiePacket; import net.minecraft.resources.ResourceLocation; import org.jetbrains.annotations.Nullable; public record ServerboundCookieResponsePacket(ResourceLocation key, @Nullable byte[] payload) implements Packet { public static final StreamCodec STREAM_CODEC = Packet.codec( ServerboundCookieResponsePacket::write, ServerboundCookieResponsePacket::new ); private ServerboundCookieResponsePacket(FriendlyByteBuf buffer) { this(buffer.readResourceLocation(), buffer.readNullable(ClientboundStoreCookiePacket.PAYLOAD_STREAM_CODEC)); } private void write(FriendlyByteBuf buffer) { buffer.writeResourceLocation(this.key); buffer.writeNullable(this.payload, ClientboundStoreCookiePacket.PAYLOAD_STREAM_CODEC); } @Override public PacketType type() { return CookiePacketTypes.SERVERBOUND_COOKIE_RESPONSE; } /** * Passes this Packet on to the PacketListener for processing. */ public void handle(ServerCookiePacketListener handler) { handler.handleCookieResponse(this); } }