1use crate::{Bounded, Decode, Encode, FixedBitSet, Packet, VarInt};
23#[derive(Clone, Debug, Encode, Decode, Packet)]
4pub struct CommandExecutionC2s<'a> {
5pub command: Bounded<&'a str, 256>,
6pub timestamp: u64,
7pub salt: u64,
8pub argument_signatures: Vec<CommandArgumentSignature<'a>>,
9pub message_count: VarInt,
10//// This is a bitset of 20; each bit represents one
11 //// of the last 20 messages received and whether or not
12 //// the message was acknowledged by the client
13pub acknowledgement: FixedBitSet<20, 3>,
14}
1516#[derive(Copy, Clone, Debug, Encode, Decode)]
17pub struct CommandArgumentSignature<'a> {
18pub argument_name: Bounded<&'a str, 16>,
19pub signature: &'a [u8; 256],
20}