13declare(strict_types=1);
 
   15namespace pocketmine\network\mcpe\protocol\types\inventory\stackrequest;
 
   17use pmmp\encoding\Byte;
 
   18use pmmp\encoding\ByteBufferReader;
 
   19use pmmp\encoding\ByteBufferWriter;
 
   21trait DisappearStackRequestActionTrait{
 
   22    final public function __construct(
 
   24        private ItemStackRequestSlotInfo $source
 
   27    final public function getCount() : int{ return $this->count; }
 
   29    final public function getSource() : ItemStackRequestSlotInfo{ return $this->source; }
 
   31    public static function read(ByteBufferReader $in) : self{
 
   32        $count = Byte::readUnsigned($in);
 
   33        $source = ItemStackRequestSlotInfo::read($in);
 
   34        return new self($count, $source);
 
   37    public function write(ByteBufferWriter $out) : void{
 
   38        Byte::writeUnsigned($out, $this->count);
 
   39        $this->source->write($out);