Здравствуйте дорогие друзья! Хотелось бы поделится с новичками в деле “Плагинов”.
У многих новичков возникает вопрос: А как мне самому научится писать плагины? Давайте разбиратся и учится!
Самое главное что нам нужно знать для написания плагина:
- ООП в языке программирования php.
- Основной синтаксис языка php.
Так как наше ядро сервера везде использует ООП языка php.
И так, самые нужные для нас интернет ресурсы:
- https://php.net/ - Самый нужный для нас ресурс, там находятся все функции языка php.
В ядре LiteCore (Ядро сервера - это и есть сам сервер) есть самый главный файл для плагинов под названием: plugin.yml. В нем записывается вся информация о плагине. К примеру:
name: Название плагина
main: Путь к главному классу плагина
api: Версия API плагина (У LiteCore это либо 2.0.0 или же 3.0.1)
version: Версия плагина
author: Автор плагина (Не обязательная строчка)
А вот как выглядит уже заполненный файл plugin.yml:
name: MyPlugin
main: plugin\Main (Обязательно в пути плагина указывать обратный слэш "\")
api: 2.0.0
version: 1.0
author: Dixsin
Далее идет самая главная часть: Структура плагина
Как примерно выглядит структура плагина:

Вы можете спросить что же это за папка с названием src. А все просто! Это основная папка плагина где хранится основной класс и другие файлы.
В plugin.yml вы могли увидеть main: plugin\Main. Это и есть путь к главному классу в папке src.
В папке с плагином создается папка src и файл plugin.yml. В пункте main в файле plugin.yml указывается путь без упоминания папки src.
И так переходим к главному классу плагина. Чаще всего он называется Main.php.
В Main.php обычно указывается идентификатор языка php.
<?php
//code...
?>
Между этими идентификаторами пишется функция namespace создающая пространство имен.
<?php
namespace "Тут указываются папки в которых лежит главный класс без учета самого класса и папки src";
?>
Далее мы вписываем импорты для работы плагина:
<?php
namespace plugin;
use pocketmine\plugin\PluginBase; # Самый главный импорт для плагина уже с помощью него мы можем создать включение выключение плагина.
?>
И так вот мы подходим к запуску / остановке плагина:
Первым делом создается класс плагина с названием файла главного файла.
<?php
namespace plugin;
use pocketmine\plugin\PluginBase;
class Main /**Название файла главного класса*/ extends /**Унаследование*/ PluginBase/**Унаследование основного файла плагина*/
{
/**
* В файле PluginBase.php есть функция onEnable() - она отвечает за включение плагина.
*/
public function onEnable()
{
/**
* В данной строке мы получаем сам сервер а после из сервера получаем консоль. В консоли есть функция info($message); Она будет информировать о любом действии в консоли. Мы же просто вывели сообщение о включении
*/
$this->getServer()->getLogger()->info("Плагин запущен");
}
}
?>
Так же есть функция onDisable() она отвечает за выключение плагина:
<?php
namespace plugin;
use pocketmine\plugin\PluginBase;
class Main /**Название файла главного класса*/ extends /**Унаследование*/ PluginBase/**Унаследование основного файла плагина*/
{
/**
* В файле PluginBase.php есть функция onEnable() - она отвечает за включение плагина.
*/
public function onEnable()
{
$this->getServer()->getLogger()->info("Плагин запущен");
}
public function onDisable()
{
/**
* В данной функции мы информируем сервер в консоли о выключении плагина.
*/
$this->getServer()->getLogger()->info("Плагин остановлен");
}
}
?>
Вот мы и разобрались о выводе информации в консоль при включении / выключении плагина. В следующем уроке я расскажу как использовать публичные функции в плагине.
Спасибо за внимание дорогие друзья!