mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-05-17 11:18:52 +00:00
Drop PluginLoader from Plugin, expose path instead
we already had this anyway, and it's already being reflected into. Instead of DevTools checking for FolderPluginLoader instances, it could just check if the file is a directory instead.
This commit is contained in:
parent
3de604ef95
commit
2a42e2c75d
@ -259,10 +259,8 @@ class CrashDump{
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(file_exists($filePath)){
|
if(file_exists($filePath)){
|
||||||
$reflection = new \ReflectionClass(PluginBase::class);
|
|
||||||
$file = $reflection->getProperty("file");
|
|
||||||
foreach($this->server->getPluginManager()->getPlugins() as $plugin){
|
foreach($this->server->getPluginManager()->getPlugins() as $plugin){
|
||||||
$filePath = Filesystem::cleanPath($file->getValue($plugin));
|
$filePath = Filesystem::cleanPath($plugin->getFile());
|
||||||
if(str_starts_with($frameCleanPath, $filePath)){
|
if(str_starts_with($frameCleanPath, $filePath)){
|
||||||
$this->data->plugin = $plugin->getName();
|
$this->data->plugin = $plugin->getName();
|
||||||
break;
|
break;
|
||||||
|
@ -34,7 +34,7 @@ use pocketmine\Server;
|
|||||||
*/
|
*/
|
||||||
interface Plugin{
|
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;
|
public function isEnabled() : bool;
|
||||||
|
|
||||||
@ -59,7 +59,7 @@ interface Plugin{
|
|||||||
|
|
||||||
public function getLogger() : \AttachableLogger;
|
public function getLogger() : \AttachableLogger;
|
||||||
|
|
||||||
public function getPluginLoader() : PluginLoader;
|
public function getFile() : string;
|
||||||
|
|
||||||
public function getScheduler() : TaskScheduler;
|
public function getScheduler() : TaskScheduler;
|
||||||
|
|
||||||
|
@ -59,7 +59,6 @@ abstract class PluginBase implements Plugin, CommandExecutor{
|
|||||||
private TaskScheduler $scheduler;
|
private TaskScheduler $scheduler;
|
||||||
|
|
||||||
public function __construct(
|
public function __construct(
|
||||||
private PluginLoader $loader,
|
|
||||||
private Server $server,
|
private Server $server,
|
||||||
private PluginDescription $description,
|
private PluginDescription $description,
|
||||||
private string $dataFolder,
|
private string $dataFolder,
|
||||||
@ -311,14 +310,10 @@ abstract class PluginBase implements Plugin, CommandExecutor{
|
|||||||
return $this->description->getFullName();
|
return $this->description->getFullName();
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function getFile() : string{
|
public function getFile() : string{
|
||||||
return $this->file;
|
return $this->file;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getPluginLoader() : PluginLoader{
|
|
||||||
return $this->loader;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function getScheduler() : TaskScheduler{
|
public function getScheduler() : TaskScheduler{
|
||||||
return $this->scheduler;
|
return $this->scheduler;
|
||||||
}
|
}
|
||||||
|
@ -220,7 +220,7 @@ class PluginManager{
|
|||||||
* @var Plugin $plugin
|
* @var Plugin $plugin
|
||||||
* @see Plugin::__construct()
|
* @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;
|
$this->plugins[$plugin->getDescription()->getName()] = $plugin;
|
||||||
|
|
||||||
return $plugin;
|
return $plugin;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user