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);