Added ChunkLoader interface

This commit is contained in:
Shoghi Cervantes
2015-05-16 15:28:19 +02:00
parent 7a34417e67
commit d6ebff412c
10 changed files with 445 additions and 106 deletions

View File

@ -296,29 +296,30 @@ class Chunk extends BaseFullChunk{
foreach($this->getEntities() as $entity){
if(!($entity instanceof Player) and !$entity->closed){
$entity->saveNBT();
$nbt->setData($entity->namedtag);
$entities[] = $nbt->write();
$entities[] = $entity->namedtag;
}
}
if(count($entities) > 0){
$provider->getDatabase()->put($chunkIndex . LevelDB::ENTRY_ENTITIES, implode($entities));
$nbt->setData($entities);
$provider->getDatabase()->put($chunkIndex . LevelDB::ENTRY_ENTITIES, $nbt->write());
}else{
$provider->getDatabase()->delete($chunkIndex . LevelDB::ENTRY_ENTITIES);
}
$tiles = [];
foreach($this->getTiles() as $tile){
if(!$tile->closed){
$tile->saveNBT();
$nbt->setData($tile->namedtag);
$tiles[] = $nbt->write();
$tiles[] = $tile->namedtag;
}
}
if(count($tiles) > 0){
$provider->getDatabase()->put($chunkIndex . LevelDB::ENTRY_TILES, implode($tiles));
$nbt->setData($tiles);
$provider->getDatabase()->put($chunkIndex . LevelDB::ENTRY_TILES, $nbt->write());
}else{
$provider->getDatabase()->delete($chunkIndex . LevelDB::ENTRY_TILES);
}