33 public const MAX_BIOMES = 256;
36 private bool $registered =
false;
39 private array $populators = [];
41 private int $minElevation;
42 private int $maxElevation;
45 private array $groundCover = [];
47 protected float $rainfall = 0.5;
48 protected float $temperature = 0.5;
50 public function clearPopulators() :
void{
51 $this->populators = [];
54 public function addPopulator(
Populator $populator) :
void{
55 $this->populators[] = $populator;
58 public function populateChunk(
ChunkManager $world,
int $chunkX,
int $chunkZ,
Random $random) :
void{
59 foreach($this->populators as $populator){
60 $populator->populate($world, $chunkX, $chunkZ, $random);
68 return $this->populators;
71 public function setId(
int $id) : void{
72 if(!$this->registered){
73 $this->registered =
true;
78 public function getId() : int{
82 abstract public function getName() : string;
84 public function getMinElevation() : int{
85 return $this->minElevation;
88 public function getMaxElevation() : int{
89 return $this->maxElevation;
92 public function setElevation(
int $min,
int $max) : void{
93 $this->minElevation = $min;
94 $this->maxElevation = $max;
101 return $this->groundCover;
108 $this->groundCover = $covers;
111 public function getTemperature() : float{
112 return $this->temperature;
115 public function getRainfall() : float{
116 return $this->rainfall;