24    public function __construct(
 
   26        private int $blockRuntimeId,
 
   29        private int $syncedUpdateActorUniqueId,
 
   30        private int $syncedUpdateType
 
   33    public static function simple(
BlockPosition $blockPosition, 
int $blockRuntimeId) : 
self{
 
   34        return new self($blockPosition, $blockRuntimeId, UpdateBlockPacket::FLAG_NETWORK, 0, 0);
 
   37    public function getBlockPosition() : 
BlockPosition{ 
return $this->blockPosition; }
 
   39    public function getBlockRuntimeId() : 
int{ 
return $this->blockRuntimeId; }
 
   41    public function getFlags() : 
int{ 
return $this->flags; }
 
   43    public function getSyncedUpdateActorUniqueId() : 
int{ 
return $this->syncedUpdateActorUniqueId; }
 
   45    public function getSyncedUpdateType() : 
int{ 
return $this->syncedUpdateType; }
 
   47    public static function read(ByteBufferReader $in) : 
self{
 
   48        $blockPosition = CommonTypes::getBlockPosition($in);
 
   49        $blockRuntimeId = VarInt::readUnsignedInt($in);
 
   50        $updateFlags = VarInt::readUnsignedInt($in);
 
   51        $syncedUpdateActorUniqueId = VarInt::readUnsignedLong($in); 
 
   52        $syncedUpdateType = VarInt::readUnsignedInt($in); 
 
   54        return new self($blockPosition, $blockRuntimeId, $updateFlags, $syncedUpdateActorUniqueId, $syncedUpdateType);
 
   57    public function write(ByteBufferWriter $out) : 
void{
 
   58        CommonTypes::putBlockPosition($out, $this->blockPosition);
 
   59        VarInt::writeUnsignedInt($out, $this->blockRuntimeId);
 
   60        VarInt::writeUnsignedInt($out, $this->flags);
 
   61        VarInt::writeUnsignedLong($out, $this->syncedUpdateActorUniqueId);
 
   62        VarInt::writeUnsignedInt($out, $this->syncedUpdateType);