pocketmine\Server::loadLevel PHP Метод

loadLevel() публичный Метод

Loads a level from the data directory
public loadLevel ( string $name ) : boolean
$name string
Результат boolean
    public function loadLevel($name)
    {
        if (trim($name) === "") {
            throw new LevelException("Invalid empty level name");
        }
        if ($this->isLevelLoaded($name)) {
            return true;
        } elseif (!$this->isLevelGenerated($name)) {
            $this->logger->notice($this->getLanguage()->translateString("pocketmine.level.notFound", [$name]));
            return false;
        }
        $path = $this->getDataPath() . "worlds/" . $name . "/";
        $provider = LevelProviderManager::getProvider($path);
        if ($provider === null) {
            $this->logger->error($this->getLanguage()->translateString("pocketmine.level.loadError", [$name, "Unknown provider"]));
            return false;
        }
        try {
            $level = new Level($this, $name, $path, $provider);
        } catch (\Throwable $e) {
            $this->logger->error($this->getLanguage()->translateString("pocketmine.level.loadError", [$name, $e->getMessage()]));
            $this->logger->logException($e);
            return false;
        }
        $this->levels[$level->getId()] = $level;
        $level->initLevel();
        $this->getPluginManager()->callEvent(new LevelLoadEvent($level));
        $level->setTickRate($this->baseTickRate);
        return true;
    }

Usage Example

 public function __construct(array $args, Main $main)
 {
     $this->name = $args["name"];
     $this->motto = $args["motto"];
     $this->id = $args["id"];
     $this->founder = $args["founder"];
     $this->ranks = $args["ranks"];
     $this->defaultRank = $args["default-rank"];
     $this->allyRank = $args["ally-rank"];
     $this->truceRank = $args["truce-rank"];
     $this->stdRank = $args["std-rank"];
     $this->members = $args["members"];
     $this->lastActive = $args["last-active"];
     $this->chunks = $args["chunks"];
     $this->homes = $args["homes"];
     $this->main = $main;
     $this->whitelist = $args["whitelist"];
     $this->reputation = isset($args["reputation"]) ? $args["reputation"] : 0;
     $this->server = $this->main->getServer();
     $levels = [];
     foreach ($this->chunks as $chunk) {
         $level = $chunk->getLevel();
         if (!isset($levels[$level])) {
             $levels[] = $level;
             if (!$this->server->isLevelLoaded($level)) {
                 if (!$this->server->isLevelGenerated($this->server->loadLevel($level))) {
                     $this->server->generateLevel($level, $this->main->getLevelGenerationSeed());
                 }
                 $this->server->loadLevel($level);
             }
         }
     }
     $this->initializeXEconEntity($main->getXEcon($this->server));
 }
All Usage Examples Of pocketmine\Server::loadLevel
Server