clearPopulators (); $this->type = $type; $bush = new BushPopulator($type); $bush->setBaseAmount(10); $this->addPopulator($bush); $ft = new FallenTreePopulator($type); $ft->setBaseAmount(0); $ft->setRandomAmount(4); $this->addPopulator($ft); $trees = new TreePopulator($type); $trees->setBaseAmount((null !== @constant(TreePopulator::$types[$type] . "::maxPerChunk")) ? constant(TreePopulator::$types[$type] . "::maxPerChunk") : 5); $this->addPopulator($trees); $tallGrass = Main::isOtherNS() ? new \pocketmine\level\generator\normal\populator\TallGrass () : new \pocketmine\level\generator\populator\TallGrass(); $tallGrass->setBaseAmount(3); $this->addPopulator($tallGrass); $this->setElevation(63, 69); $this->temperature = $infos[0]; $this->rainfall = $infos[1]; } public function getName() { return str_ireplace(" ", "", self::$types[$this->type]); } /** * Returns the ID relatively. * @return int */ public function getId() { return self::$ids[$this->type]; } /** * @param string $name * @param string $treeClass * @param array $infos * @return bool */ public static function registerForest(string $name, string $treeClass, array $infos): bool { self::$types[] = str_ireplace("tree", "", explode("\\", $treeClass)[count(explode("\\", $treeClass))]) . " Forest"; TreePopulator::$types[] = $treeClass; self::$ids[] = Main::SAKURA_FOREST + (count(self::$types) - 2); Main::register(Main::SAKURA_FOREST + (count(self::$types) - 2), new BetterForest(count(self::$types) - 1, $infos)); return true; } }