>>Всем привет!
Добавляем конфиг плагина.
Мы создавали плагин <<MK10>>, теперь он будет главным плагином.
Давайте откроем файл ( mk10.php ) и найдем там функцию
public function onEnable(){}
И давайте добавим туда инициализатор конфига.
use pocketmine\plugin\PluginBase; //Добавляем к плагину элемент PluginBase
use pocketmine\utils\Config; //Добавим к плагину импорт конфига.
class mk10 /* Этот класс будет читать plugin.yml */ extends PluginBase{
/** @var Config */
private $config; //Обозначим переменную глобальной в этом классе
public function onEnable(){
if(!is_dir($this->getDataFolder())){ //Проверим, есть ли папка плагина, в котором будет конфиг
@mkdir($this->getDataFolder()); //Если её нету, то создадим.
}
$this->config = new Config($this->getDataFolder()."config.yml",Config::YAML); //Теперь мы будем читать файл config.yml из папки.
$this->getLogger()->info("ExamplePlugin загружен"); //Сообщит в консоль что плагин загружен. Тип сообщения: info
}
И так, добавили. Теперь, допустим у нас в конфиге есть вот такие данные:
#Config file
time: 1
Как же нам прочитать единицу спросите вы.
Очень просто.
Воспользуемся функцией:
$this->config->get("time"); //Вернет нам единицу (либо другое раз вы изменили конфиг (42))
Хорошо, а если в конфиге будет вот такое непонятное и длинное??
sign:
x: 0
y: 0
z: 0
И я хочу достать например из Y:
$this->config->getNested("sign.y"); //Вернет параметр Y ( то бишь 0 )
Ну и напоследок рекомендация, после каждого выключения сервера я рекомендую сохранять конфиг. Для того чтобы воспользоваться этим, добавим это:
