PocketMine-MP 5.28.1 git-88cdc2eb67c40075559c3ef51418b418cd5488e9
Loading...
Searching...
No Matches
BiomeConditionalTransformationData.php
1<?php
2
3/*
4 * This file is part of BedrockProtocol.
5 * Copyright (C) 2014-2022 PocketMine Team <https://github.com/pmmp/BedrockProtocol>
6 *
7 * BedrockProtocol is free software: you can redistribute it and/or modify
8 * it under the terms of the GNU Lesser General Public License as published by
9 * the Free Software Foundation, either version 3 of the License, or
10 * (at your option) any later version.
11 */
12
13declare(strict_types=1);
14
15namespace pocketmine\network\mcpe\protocol\types\biome\chunkgen;
16
18use function count;
19
21
25 public function __construct(
26 private array $weightedBiomes,
27 private int $conditionJSON,
28 private int $minPassingNeighbors,
29 ){}
30
34 public function getWeightedBiomes() : array{ return $this->weightedBiomes; }
35
36 public function getConditionJSON() : int{ return $this->conditionJSON; }
37
38 public function getMinPassingNeighbors() : int{ return $this->minPassingNeighbors; }
39
40 public static function read(PacketSerializer $in) : self{
41 $weightedBiomes = [];
42 for($i = 0, $count = $in->getUnsignedVarInt(); $i < $count; ++$i){
43 $weightedBiomes[] = BiomeWeightedData::read($in);
44 }
45
46 $conditionJSON = $in->getLShort();
47 $minPassingNeighbors = $in->getLInt();
48
49 return new self(
50 $weightedBiomes,
51 $conditionJSON,
52 $minPassingNeighbors,
53 );
54 }
55
56 public function write(PacketSerializer $out) : void{
57 $out->putUnsignedVarInt(count($this->weightedBiomes));
58 foreach($this->weightedBiomes as $biome){
59 $biome->write($out);
60 }
61
62 $out->putLShort($this->conditionJSON);
63 $out->putLInt($this->minPassingNeighbors);
64 }
65}
__construct(private array $weightedBiomes, private int $conditionJSON, private int $minPassingNeighbors,)