diff --git a/src/crash/CrashDump.php b/src/crash/CrashDump.php index 49a587c34..df7c9199d 100644 --- a/src/crash/CrashDump.php +++ b/src/crash/CrashDump.php @@ -259,10 +259,8 @@ class CrashDump{ } if(file_exists($filePath)){ - $reflection = new \ReflectionClass(PluginBase::class); - $file = $reflection->getProperty("file"); foreach($this->server->getPluginManager()->getPlugins() as $plugin){ - $filePath = Filesystem::cleanPath($file->getValue($plugin)); + $filePath = Filesystem::cleanPath($plugin->getFile()); if(str_starts_with($frameCleanPath, $filePath)){ $this->data->plugin = $plugin->getName(); break; diff --git a/src/plugin/Plugin.php b/src/plugin/Plugin.php index ae64d443b..b71e3f5fb 100644 --- a/src/plugin/Plugin.php +++ b/src/plugin/Plugin.php @@ -34,7 +34,7 @@ use pocketmine\Server; */ interface Plugin{ - public function __construct(PluginLoader $loader, Server $server, PluginDescription $description, string $dataFolder, string $file, string $resourceFolder); + public function __construct(Server $server, PluginDescription $description, string $dataFolder, string $file, string $resourceFolder); public function isEnabled() : bool; @@ -59,7 +59,7 @@ interface Plugin{ public function getLogger() : \AttachableLogger; - public function getPluginLoader() : PluginLoader; + public function getFile() : string; public function getScheduler() : TaskScheduler; diff --git a/src/plugin/PluginBase.php b/src/plugin/PluginBase.php index a32339e84..727e93591 100644 --- a/src/plugin/PluginBase.php +++ b/src/plugin/PluginBase.php @@ -59,7 +59,6 @@ abstract class PluginBase implements Plugin, CommandExecutor{ private TaskScheduler $scheduler; public function __construct( - private PluginLoader $loader, private Server $server, private PluginDescription $description, private string $dataFolder, @@ -311,14 +310,10 @@ abstract class PluginBase implements Plugin, CommandExecutor{ return $this->description->getFullName(); } - protected function getFile() : string{ + public function getFile() : string{ return $this->file; } - public function getPluginLoader() : PluginLoader{ - return $this->loader; - } - public function getScheduler() : TaskScheduler{ return $this->scheduler; } diff --git a/src/plugin/PluginManager.php b/src/plugin/PluginManager.php index 1a74b64e7..3750af3ef 100644 --- a/src/plugin/PluginManager.php +++ b/src/plugin/PluginManager.php @@ -220,7 +220,7 @@ class PluginManager{ * @var Plugin $plugin * @see Plugin::__construct() */ - $plugin = new $mainClass($loader, $this->server, $description, $dataFolder, $prefixed, $prefixed . "/resources/"); + $plugin = new $mainClass($this->server, $description, $dataFolder, $prefixed, $prefixed . "/resources/"); $this->plugins[$plugin->getDescription()->getName()] = $plugin; return $plugin;