package net.minecraft.network.protocol.game; import io.netty.buffer.ByteBuf; import java.util.OptionalInt; import net.minecraft.network.codec.ByteBufCodecs; import net.minecraft.network.codec.StreamCodec; import net.minecraft.network.protocol.Packet; import net.minecraft.network.protocol.PacketType; public record ServerboundSpectatorActionPacket(OptionalInt spectateEntityId) implements Packet { public static final StreamCodec STREAM_CODEC = StreamCodec.composite( ByteBufCodecs.OPTIONAL_VAR_INT, ServerboundSpectatorActionPacket::spectateEntityId, ServerboundSpectatorActionPacket::new ); @Override public PacketType type() { return GamePacketTypes.SERVERBOUND_SPECTATOR_ACTION; } public void handle(final ServerGamePacketListener listener) { listener.handleSpectatorAction(this); } }