getLevels() public méthode

public getLevels ( ) : Level[]
Résultat pocketmine\level\Level[]
 private function generalData()
 {
     $version = new VersionString();
     $this->data["general"] = [];
     $this->data["general"]["version"] = $version->get(false);
     $this->data["general"]["build"] = $version->getBuild();
     $this->data["general"]["protocol"] = Info::CURRENT_PROTOCOL;
     $this->data["general"]["api"] = \pocketmine\API_VERSION;
     $this->data["general"]["git"] = \pocketmine\GIT_COMMIT;
     $this->data["general"]["raklib"] = RakLib::VERSION;
     $this->data["general"]["uname"] = php_uname("a");
     $this->data["general"]["php"] = phpversion();
     $this->data["general"]["zend"] = zend_version();
     $this->data["general"]["php_os"] = PHP_OS;
     $this->data["general"]["os"] = Utils::getOS();
     $this->addLine("Genisys version: " . $version->get(false) . " #" . $version->getBuild() . " [Protocol " . Info::CURRENT_PROTOCOL . "; API " . API_VERSION . "]");
     $this->addLine("uname -a: " . php_uname("a"));
     $this->addLine("PHP version: " . phpversion());
     $this->addLine("Zend version: " . zend_version());
     $this->addLine("OS : " . PHP_OS . ", " . Utils::getOS());
     $this->addLine();
     $this->addLine("Server uptime: " . $this->server->getUptime());
     $this->addLine("Number of loaded worlds: " . count($this->server->getLevels()));
     $this->addLine("Players online: " . count($this->server->getOnlinePlayers()) . "/" . $this->server->getMaxPlayers());
 }
Exemple #2
0
 public static function select(Server $srv, CommandSender $sender, array $args)
 {
     $result = [];
     if (!isset($args["type"])) {
         $args["type"] = "player";
     }
     foreach ($srv->getLevels() as $l) {
         foreach ($l->getEntities() as $e) {
             if (count($args) && !$owner->checkSelectors($args, $sender, $e)) {
                 continue;
             }
             if ($e instanceof Player) {
                 $result[] = $e->getName();
             } else {
                 $result[] = "e" . $e->getId();
             }
         }
     }
     if (!isset($args["c"])) {
         $args["c"] = 1;
     }
     $c = [];
     $n = intval($args["c"]);
     while ($n-- > 0 && count($result)) {
         $i = array_rand($result);
         $c[] = $result[$i];
         unset($result[$i]);
     }
     return $c;
 }
Exemple #3
0
 public function triggerGarbageCollector()
 {
     Timings::$garbageCollectorTimer->startTiming();
     if ($this->garbageCollectionAsync) {
         $size = $this->server->getScheduler()->getAsyncTaskPoolSize();
         for ($i = 0; $i < $size; ++$i) {
             $this->server->getScheduler()->scheduleAsyncTaskToWorker(new GarbageCollectionTask(), $i);
         }
     }
     $cycles = gc_collect_cycles();
     foreach ($this->server->getLevels() as $level) {
         $level->doChunkGarbageCollection();
     }
     Timings::$garbageCollectorTimer->stopTiming();
     return $cycles;
 }
 public static function select(Server $srv, CommandSender $sender, array $args)
 {
     $result = [];
     foreach ($srv->getLevels() as $l) {
         foreach ($l->getEntities() as $e) {
             if (count($args) && !$owner->checkSelectors($args, $sender, $e)) {
                 continue;
             }
             if ($e instanceof Player) {
                 $result[] = $e->getName();
             } else {
                 $result[] = "e" . $e->getId();
             }
         }
     }
     return $result;
 }
 public function trigger($memory, $limit, $global = false, $triggerCount = 0)
 {
     $this->server->getLogger()->debug("[Memory Manager] " . ($global ? "Global " : "") . "Low memory triggered, limit " . round($limit / 1024 / 1024, 2) . "MB, using " . round($memory / 1024 / 1024, 2) . "MB");
     if ($this->cacheTrigger) {
         foreach ($this->server->getLevels() as $level) {
             $level->clearCache(true);
         }
     }
     if ($this->chunkTrigger and $this->chunkCollect) {
         foreach ($this->server->getLevels() as $level) {
             $level->doChunkGarbageCollection();
         }
     }
     $ev = new LowMemoryEvent($memory, $limit, $global, $triggerCount);
     $this->server->getPluginManager()->callEvent($ev);
     $cycles = 0;
     if ($this->garbageCollectionTrigger) {
         $cycles = $this->triggerGarbageCollector();
     }
     $this->server->getLogger()->debug("[Memory Manager] Freed " . round($ev->getMemoryFreed() / 1024 / 1024, 2) . "MB, {$cycles} cycles");
 }