diff --git a/src/pocketmine/Thread.php b/src/pocketmine/Thread.php index 2a838154f..2c539b90e 100644 --- a/src/pocketmine/Thread.php +++ b/src/pocketmine/Thread.php @@ -30,6 +30,9 @@ abstract class Thread extends \Thread{ /** @var \ClassLoader */ protected $classLoader; + /** @var string|null */ + protected $composerAutoloaderPath; + protected $isKilled = false; public function getClassLoader(){ @@ -37,6 +40,8 @@ abstract class Thread extends \Thread{ } public function setClassLoader(\ClassLoader $loader = null){ + $this->composerAutoloaderPath = \pocketmine\COMPOSER_AUTOLOADER_PATH; + if($loader === null){ $loader = Server::getInstance()->getLoader(); } @@ -51,7 +56,9 @@ abstract class Thread extends \Thread{ * (unless you are using a custom autoloader). */ public function registerClassLoader(){ - require(\pocketmine\PATH . "vendor/autoload.php"); + if($this->composerAutoloaderPath !== null){ + require $this->composerAutoloaderPath; + } if($this->classLoader !== null){ $this->classLoader->register(false); } diff --git a/src/pocketmine/Worker.php b/src/pocketmine/Worker.php index f63f4b2ed..f79f502d8 100644 --- a/src/pocketmine/Worker.php +++ b/src/pocketmine/Worker.php @@ -30,6 +30,8 @@ abstract class Worker extends \Worker{ /** @var \ClassLoader */ protected $classLoader; + /** @var string|null */ + protected $composerAutoloaderPath; protected $isKilled = false; @@ -38,6 +40,8 @@ abstract class Worker extends \Worker{ } public function setClassLoader(\ClassLoader $loader = null){ + $this->composerAutoloaderPath = \pocketmine\COMPOSER_AUTOLOADER_PATH; + if($loader === null){ $loader = Server::getInstance()->getLoader(); } @@ -52,7 +56,9 @@ abstract class Worker extends \Worker{ * (unless you are using a custom autoloader). */ public function registerClassLoader(){ - require(\pocketmine\PATH . "vendor/autoload.php"); + if($this->composerAutoloaderPath !== null){ + require $this->composerAutoloaderPath; + } if($this->classLoader !== null){ $this->classLoader->register(false); }