PocketMine-MP/src/plugin/Plugin.php
Dylan K. Taylor 2a42e2c75d
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.
2025-05-04 16:44:28 +01:00

67 lines
1.8 KiB
PHP

<?php
/*
*
* ____ _ _ __ __ _ __ __ ____
* | _ \ ___ ___| | _____| |_| \/ (_)_ __ ___ | \/ | _ \
* | |_) / _ \ / __| |/ / _ \ __| |\/| | | '_ \ / _ \_____| |\/| | |_) |
* | __/ (_) | (__| < __/ |_| | | | | | | | __/_____| | | | __/
* |_| \___/ \___|_|\_\___|\__|_| |_|_|_| |_|\___| |_| |_|_|
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* @author PocketMine Team
* @link http://www.pocketmine.net/
*
*
*/
declare(strict_types=1);
/**
* Plugin related classes
*/
namespace pocketmine\plugin;
use pocketmine\scheduler\TaskScheduler;
use pocketmine\Server;
/**
* It is recommended to use PluginBase for the actual plugin
*/
interface Plugin{
public function __construct(Server $server, PluginDescription $description, string $dataFolder, string $file, string $resourceFolder);
public function isEnabled() : bool;
/**
* Called by the plugin manager when the plugin is enabled or disabled to inform the plugin of its enabled state.
*
* @internal This is intended for core use only and should not be used by plugins
* @see PluginManager::enablePlugin()
* @see PluginManager::disablePlugin()
*/
public function onEnableStateChange(bool $enabled) : void;
/**
* Gets the plugin's data folder to save files and configuration.
* This directory name has a trailing slash.
*/
public function getDataFolder() : string;
public function getDescription() : PluginDescription;
public function getName() : string;
public function getLogger() : \AttachableLogger;
public function getFile() : string;
public function getScheduler() : TaskScheduler;
}