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;