Tiles and Entities won't get wiped on level unload

This commit is contained in:
Shoghi Cervantes 2013-06-08 01:40:39 +02:00
parent 38c50c2fec
commit 164b420af6

View File

@ -126,11 +126,12 @@ class LevelAPI{
return true; return true;
} }
public function unloadLevel(Level $level){ public function unloadLevel(Level $level, $force = false){
$name = $level->getName(); $name = $level->getName();
if($name === $this->default){ if($name === $this->default and $force !== true){
return false; return false;
} }
console("[INFO] Unloading level \"".$name."\"");
$level->nextSave = PHP_INT_MAX; $level->nextSave = PHP_INT_MAX;
$level->save(); $level->save();
foreach($this->server->api->player->getAll($level) as $player){ foreach($this->server->api->player->getAll($level) as $player){
@ -219,6 +220,12 @@ class LevelAPI{
$level->save(); $level->save();
} }
} }
public function __destruct(){
foreach($this->levels as $level){
$this->unloadLevel($level, true);
}
}
public function getSpawn(){ public function getSpawn(){
return $this->server->spawn; return $this->server->spawn;