Added LevelAPI::unloadLevel(Level $level)

This commit is contained in:
Shoghi Cervantes
2013-05-26 00:37:18 +02:00
parent 72f8f00c5d
commit b39677cc96
3 changed files with 27 additions and 5 deletions

View File

@@ -121,6 +121,28 @@ class LevelAPI{
return true;
}
public function unloadLevel(Level $level){
$name = $level->getName();
if($name === $this->default){
return false;
}
$level->nextSave = PHP_INT_MAX;
$level->save();
foreach($this->server->api->player->getAll($level) as $player){
$player->teleport($this->server->spawn);
}
foreach($this->server->api->entity->getAll($level) as $entity){
if($entity->class !== ENTITY_PLAYER){
$entity->close();
}
}
foreach($this->server->api->tileentity->getAll($level) as $tile){
$tile->close();
}
unset($this->levels[$name]);
return true;
}
public function loadLevel($name){
if($this->get($name) !== false){
return true;