30        private int $dimension,
 
   31        private array $targetBiomes,
 
   32        private float $amount,
 
   33        private int $replacementIndex
 
 
   36    public function getBiome() : int{ return $this->biome; }
 
   38    public function getDimension() : int{ return $this->dimension; }
 
   45    public function getAmount() : float{ return $this->amount; }
 
   47    public function getReplacementIndex() : int{ return $this->replacementIndex; }
 
   49    public static function read(ByteBufferReader $in) : self{
 
   50        $biome = LE::readSignedShort($in);
 
   51        $dimension = VarInt::readSignedInt($in);
 
   53        $targetBiomeCount = VarInt::readUnsignedInt($in);
 
   54        for($i = 0; $i < $targetBiomeCount; ++$i){
 
   55            $targetBiomes[] = LE::readSignedShort($in);
 
   57        $amount = LE::readFloat($in);
 
   58        $replacementIndex = LE::readUnsignedInt($in);
 
   59        return new self($biome, $dimension, $targetBiomes, $amount, $replacementIndex);
 
   62    public function write(ByteBufferWriter $out) : void{
 
   63        LE::writeSignedShort($out, $this->biome);
 
   64        VarInt::writeSignedInt($out, $this->dimension);
 
   65        VarInt::writeUnsignedInt($out, count($this->targetBiomes));
 
   66        foreach($this->targetBiomes as $biome){
 
   67            LE::writeSignedShort($out, $biome);
 
   69        LE::writeFloat($out, $this->amount);
 
   70        LE::writeUnsignedInt($out, $this->replacementIndex);