13declare(strict_types=1);
15namespace pocketmine\network\mcpe\protocol;
17use pmmp\encoding\ByteBufferReader;
18use pmmp\encoding\ByteBufferWriter;
19use pmmp\encoding\VarInt;
24 public const NETWORK_ID = ProtocolInfo::PLAYER_ARMOR_DAMAGE_PACKET;
30 private array $armorSlotAndDamagePairs = [];
37 public static function create(array $armorSlotAndDamagePairs) : self{
39 $result->armorSlotAndDamagePairs = $armorSlotAndDamagePairs;
48 return $this->armorSlotAndDamagePairs;
52 for($i = 0, $count = VarInt::readUnsignedInt($in); $i < $count; ++$i){
53 $this->armorSlotAndDamagePairs[] = ArmorSlotAndDamagePair::read($in);
58 VarInt::writeUnsignedInt($out, count($this->armorSlotAndDamagePairs));
59 foreach($this->armorSlotAndDamagePairs as $pair){
65 return $handler->handlePlayerArmorDamage($this);
handle(PacketHandlerInterface $handler)
getArmorSlotAndDamagePairs()
static create(array $armorSlotAndDamagePairs)
decodePayload(ByteBufferReader $in)
encodePayload(ByteBufferWriter $out)