34 private ?
string $noiseName,
35 private int $dimension,
37 private array $attributes,
40 public function getName() : string{ return $this->name; }
42 public function getNoiseName() : ?string{ return $this->noiseName; }
44 public function getDimension() : int{ return $this->dimension; }
46 public function getSettings() : AttributeLayerSettings{ return $this->settings; }
54 public static function read(ByteBufferReader $in) : self{
56 $noiseName = CommonTypes::readOptional($in, CommonTypes::getString(...));
57 $dimension = VarInt::readUnsignedInt($in);
58 $settings = AttributeLayerSettings::read($in);
61 for($i = 0, $len = VarInt::readUnsignedInt($in); $i < $len; ++$i){
62 $attributes[] = AttributeEnvironment::read($in);
74 public function write(ByteBufferWriter $out) : void{
75 CommonTypes::putString($out, $this->name);
76 CommonTypes::writeOptional($out, $this->name, CommonTypes::putString(...));
77 VarInt::writeUnsignedInt($out, $this->dimension);
78 $this->settings->write($out);
80 VarInt::writeUnsignedInt($out, count($this->attributes));
81 foreach($this->attributes as $attribute){
82 $attribute->write($out);