From 1e139743b86616a09bdd930492ad23f4b2b04599 Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Tue, 2 Jan 2018 10:23:57 +0000 Subject: [PATCH] Level: Do level provider GC every 5 minutes from level tick this should solve #1183, pending further testing. --- src/pocketmine/level/Level.php | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/pocketmine/level/Level.php b/src/pocketmine/level/Level.php index 368ec15eb..53297b9c2 100644 --- a/src/pocketmine/level/Level.php +++ b/src/pocketmine/level/Level.php @@ -146,6 +146,8 @@ class Level implements ChunkManager, Metadatable{ /** @var LevelProvider */ private $provider; + /** @var int */ + private $providerGarbageCollectionTicker = 0; /** @var int */ private $worldHeight; @@ -720,6 +722,10 @@ class Level implements ChunkManager, Metadatable{ } $this->unloadChunks(); + if(++$this->providerGarbageCollectionTicker >= 6000){ + $this->provider->doGarbageCollection(); + $this->providerGarbageCollectionTicker = 0; + } //Do block updates $this->timings->doTickPending->startTiming();