diff --git a/src/pocketmine/level/Level.php b/src/pocketmine/level/Level.php index 8e480d712..44e27894b 100644 --- a/src/pocketmine/level/Level.php +++ b/src/pocketmine/level/Level.php @@ -2228,18 +2228,20 @@ class Level implements ChunkManager, Metadatable{ $oldEntities = $oldChunk !== null ? $oldChunk->getEntities() : []; $oldTiles = $oldChunk !== null ? $oldChunk->getTiles() : []; - $this->provider->setChunk($chunkX, $chunkZ, $chunk); - $this->chunks[$index] = $chunk; - foreach($oldEntities as $entity){ $chunk->addEntity($entity); + $oldChunk->removeEntity($entity); $entity->chunk = $chunk; } foreach($oldTiles as $tile){ $chunk->addTile($tile); + $oldChunk->removeTile($tile); $tile->chunk = $chunk; } + + $this->provider->setChunk($chunkX, $chunkZ, $chunk); + $this->chunks[$index] = $chunk; } unset($this->chunkCache[$index]);