/** * 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; }
public function onLevelUnload(LevelUnloadEvent $event) { $levelName = $event->getLevel()->getName(); $this->plugin->unloadLevelSettings($levelName); }
/** * 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; }
public function onLevelUnload(LevelUnloadEvent $e) { $world = $e->getLevel()->getName(); if (isset($this->cases[$world])) { unset($this->cases[$world]); } }
/** * 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(); }
public function onLevelUnload(LevelUnloadEvent $e) { echo __METHOD__ . "," . __LINE__ . "\n"; //##DEBUG $this->unloadCfg($e->getLevel()); }
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()); }