Inheritance: extends LevelEvent, implements pocketmine\event\Cancellable
Exemple #1
0
 /**
  * Unloads the current level from memory safely
  *
  * @param bool $force default false, force unload of default level
  *
  * @return bool
  */
 public function unload($force = false)
 {
     $ev = new LevelUnloadEvent($this);
     if ($this === $this->server->getDefaultLevel() and $force !== true) {
         $ev->setCancelled(true);
     }
     $this->server->getPluginManager()->callEvent($ev);
     if (!$force and $ev->isCancelled()) {
         return false;
     }
     $this->server->getLogger()->info("Unloading level \"" . $this->getName() . "\"");
     $defaultLevel = $this->server->getDefaultLevel();
     foreach ($this->getPlayers() as $player) {
         if ($this === $defaultLevel or $defaultLevel === null) {
             $player->close(TextFormat::YELLOW . $player->getName() . " has left the game", "Forced default level unload");
         } elseif ($defaultLevel instanceof Level) {
             $player->teleport($this->server->getDefaultLevel()->getSafeSpawn());
         }
     }
     if ($this === $defaultLevel) {
         $this->server->setDefaultLevel(null);
     }
     $this->close();
     return true;
 }
Exemple #2
0
 public function onLevelUnload(LevelUnloadEvent $event)
 {
     $levelName = $event->getLevel()->getName();
     $this->plugin->unloadLevelSettings($levelName);
 }
Exemple #3
0
 /**
  * Unloads the current level from memory safely
  *
  * @param bool $force default false, force unload of default level
  *
  * @return bool
  */
 public function unload($force = false)
 {
     $ev = new LevelUnloadEvent($this);
     if ($this === $this->server->getDefaultLevel() and $force !== true) {
         $ev->setCancelled(true);
     }
     $this->server->getPluginManager()->callEvent($ev);
     if (!$force and $ev->isCancelled()) {
         return false;
     }
     $this->server->getLogger()->info($this->server->getLanguage()->translateString("pocketmine.level.unloading", [$this->getName()]));
     $defaultLevel = $this->server->getDefaultLevel();
     foreach ($this->getPlayers() as $player) {
         if ($this === $defaultLevel or $defaultLevel === null) {
             $player->close($player->getLeaveMessage(), "Forced default level unload");
         } elseif ($defaultLevel instanceof Level) {
             $player->teleport($this->server->getDefaultLevel()->getSafeSpawn());
         }
     }
     if ($this === $defaultLevel) {
         $this->server->setDefaultLevel(null);
     }
     $this->close();
     return true;
 }
Exemple #4
0
 public function onLevelUnload(LevelUnloadEvent $e)
 {
     $world = $e->getLevel()->getName();
     if (isset($this->cases[$world])) {
         unset($this->cases[$world]);
     }
 }
Exemple #5
0
 /**
  * Unloads the current level from memory safely
  *
  * @param bool $force default false, force unload of default level
  *
  * @return bool
  */
 public function unload($force = false)
 {
     $ev = new LevelUnloadEvent($this);
     if ($this === $this->server->getDefaultLevel() and $force !== true) {
         $ev->setCancelled(true);
     }
     $this->server->getPluginManager()->callEvent($ev);
     if (!$force and $ev->isCancelled()) {
         return false;
     }
     $this->server->getKatana()->console->system("Unloading level " . Terminal::$COLOR_WHITE . $this->getName());
     $defaultLevel = $this->server->getDefaultLevel();
     foreach ($this->getPlayers() as $player) {
         if ($this === $defaultLevel or $defaultLevel === null) {
             $player->close($player->getLeaveMessage(), "Forced default level unload");
         } elseif ($defaultLevel instanceof Level) {
             $player->teleport($this->server->getDefaultLevel()->getSafeSpawn());
         }
     }
     if ($this === $defaultLevel) {
         $this->server->setDefaultLevel(null);
     }
     $this->close();
     return true;
 }
 public function onLevelUnload(LevelUnloadEvent $event)
 {
     $this->db[$event->getLevel()->getFolderName()]->save();
 }
Exemple #7
0
 public function onLevelUnload(LevelUnloadEvent $e)
 {
     echo __METHOD__ . "," . __LINE__ . "\n";
     //##DEBUG
     $this->unloadCfg($e->getLevel());
 }
Exemple #8
0
 public function onLevelUnload(LevelUnloadEvent $event)
 {
     $levelName = $event->getLevel()->getName();
     if (isset($this->levels[$levelName])) {
         unset($this->levels[$levelName]);
     }
 }
 public function onLevelUnload(LevelUnloadEvent $e)
 {
     $this->unloadCfg($e->getLevel());
 }
 public function onLvUnlaod(LevelUnloadEvent $event)
 {
     $this->closeLevelDb($event->getLevel());
 }