29 private int $nameIndex,
31 private float $temperature,
32 private float $downfall,
33 private float $redSporeDensity,
34 private float $blueSporeDensity,
35 private float $ashDensity,
36 private float $whiteAshDensity,
39 private Color $mapWaterColor,
41 private ?array $tagIndexes,
45 public function getNameIndex() : int{ return $this->nameIndex; }
47 public function getId() : ?int{ return $this->id; }
49 public function getTemperature() : float{ return $this->temperature; }
51 public function getDownfall() : float{ return $this->downfall; }
53 public function getRedSporeDensity() : float{ return $this->redSporeDensity; }
55 public function getBlueSporeDensity() : float{ return $this->blueSporeDensity; }
57 public function getAshDensity() : float{ return $this->ashDensity; }
59 public function getWhiteAshDensity() : float{ return $this->whiteAshDensity; }
61 public function getDepth() : float{ return $this->depth; }
63 public function getScale() : float{ return $this->scale; }
65 public function getMapWaterColor() : Color{ return $this->mapWaterColor; }
67 public function hasRain() : bool{ return $this->rain; }
78 $nameIndex = $in->getLShort();
88 $mapWaterColor = Color::fromARGB($in->
getLInt());
99 $chunkGenData = $in->
readOptional(fn() => BiomeDefinitionChunkGenData::read($in));
119 public function write(PacketSerializer $out) : void{
120 $out->putLShort($this->nameIndex);
121 $out->writeOptional($this->
id, $out->putLShort(...));
122 $out->putLFloat($this->temperature);
123 $out->putLFloat($this->downfall);
124 $out->putLFloat($this->redSporeDensity);
125 $out->putLFloat($this->blueSporeDensity);
126 $out->putLFloat($this->ashDensity);
127 $out->putLFloat($this->whiteAshDensity);
128 $out->putLFloat($this->depth);
129 $out->putLFloat($this->scale);
130 $out->putLInt($this->mapWaterColor->toARGB());
131 $out->putBool($this->rain);
132 $out->writeOptional($this->tagIndexes,
function(array $tagIndexes) use ($out) :
void{
133 $out->putUnsignedVarInt(count($tagIndexes));
134 foreach($tagIndexes as $tag){
135 $out->putLShort($tag);
138 $out->writeOptional($this->chunkGenData, fn(BiomeDefinitionChunkGenData $chunkGenData) => $chunkGenData->write($out));
__construct(private int $nameIndex, private ?int $id, private float $temperature, private float $downfall, private float $redSporeDensity, private float $blueSporeDensity, private float $ashDensity, private float $whiteAshDensity, private float $depth, private float $scale, private Color $mapWaterColor, private bool $rain, private ?array $tagIndexes, private ?BiomeDefinitionChunkGenData $chunkGenData=null)