32 private array $blocks,
33 private array $entities,
34 private array $blockTags,
35 private array $entityTypeFamilies
41 public function getBlocks() : array{ return $this->blocks; }
46 public function getEntities() : array{ return $this->entities; }
58 public static function read(ByteBufferReader $in) : self{
60 for($i = 0, $len = VarInt::readUnsignedInt($in); $i < $len; ++$i){
61 $blocks[] = CommonTypes::getString($in);
65 for($i = 0, $len = VarInt::readUnsignedInt($in); $i < $len; ++$i){
66 $entities[] = CommonTypes::getString($in);
70 for($i = 0, $len = VarInt::readUnsignedInt($in); $i < $len; ++$i){
71 $blockTags[] = CommonTypes::getString($in);
74 $entityTypeFamilies = [];
75 for($i = 0, $len = VarInt::readUnsignedInt($in); $i < $len; ++$i){
76 $entityTypeFamilies[] = CommonTypes::getString($in);
87 public function write(ByteBufferWriter $out) : void{
88 VarInt::writeUnsignedInt($out, count($this->blocks));
89 foreach($this->blocks as $block){
90 CommonTypes::putString($out, $block);
93 VarInt::writeUnsignedInt($out, count($this->entities));
94 foreach($this->entities as $entity){
95 CommonTypes::putString($out, $entity);
98 VarInt::writeUnsignedInt($out, count($this->blockTags));
99 foreach($this->blockTags as $blockTag){
100 CommonTypes::putString($out, $blockTag);
103 VarInt::writeUnsignedInt($out, count($this->entityTypeFamilies));
104 foreach($this->entityTypeFamilies as $entityTypeFamily){
105 CommonTypes::putString($out, $entityTypeFamily);