mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-04-21 08:17:34 +00:00
Fixes entities not being saved and tile entities having an incorrect field, closes #1661
This commit is contained in:
parent
e3a9db5d8f
commit
69d132401e
@ -306,6 +306,7 @@ class Level implements ChunkManager, Metadatable{
|
||||
if($this->getAutoSave()){
|
||||
$this->save();
|
||||
}
|
||||
$this->unloadChunks();
|
||||
$this->provider->close();
|
||||
}
|
||||
|
||||
|
@ -186,8 +186,8 @@ class Chunk extends BaseChunk{
|
||||
$tiles[] = $tile->namedtag;
|
||||
}
|
||||
|
||||
$nbt->Entities = new Enum("TileEntities", $tiles);
|
||||
$nbt->Entities->setTagType(NBT::TAG_Compound);
|
||||
$nbt->TileEntities = new Enum("TileEntities", $tiles);
|
||||
$nbt->TileEntities->setTagType(NBT::TAG_Compound);
|
||||
$writer = new NBT(NBT::BIG_ENDIAN);
|
||||
$nbt->setName("Level");
|
||||
$writer->setData(new Compound("", ["Level" => $nbt]));
|
||||
|
@ -274,7 +274,7 @@ abstract class BaseFullChunk implements FullChunk{
|
||||
if($level === null){
|
||||
return true;
|
||||
}
|
||||
if($save === true){
|
||||
if($save === true and $this->hasChanged){
|
||||
$level->saveChunk($this->getX(), $this->getZ());
|
||||
}
|
||||
if($safe === true){
|
||||
|
@ -284,7 +284,7 @@ class Chunk extends BaseFullChunk{
|
||||
$entities = [];
|
||||
|
||||
foreach($this->getEntities() as $entity){
|
||||
if(!($entity instanceof Player) and $entity->closed !== true){
|
||||
if(!($entity instanceof Player) and !$entity->closed){
|
||||
$entity->saveNBT();
|
||||
$entities[] = $entity->namedtag;
|
||||
}
|
||||
@ -300,8 +300,8 @@ class Chunk extends BaseFullChunk{
|
||||
$tiles[] = $tile->namedtag;
|
||||
}
|
||||
|
||||
$nbt->Entities = new Enum("TileEntities", $tiles);
|
||||
$nbt->Entities->setTagType(NBT::TAG_Compound);
|
||||
$nbt->TileEntities = new Enum("TileEntities", $tiles);
|
||||
$nbt->TileEntities->setTagType(NBT::TAG_Compound);
|
||||
$writer = new NBT(NBT::BIG_ENDIAN);
|
||||
$nbt->setName("Level");
|
||||
$writer->setData(new Compound("", ["Level" => $nbt]));
|
||||
|
Loading…
x
Reference in New Issue
Block a user