Первый плагин
Узнайте, как создать свой первый плагин с помощью языкового модуля Python, включая базовый синтаксис и настройку.
Добро пожаловать в руководство по разработке плагинов для языкового модуля Python от Plugify. Это руководство проведет вас через процесс создания вашего первого плагина с использованием Python в рамках фреймворка Plugify. Независимо от того, являетесь ли вы моддером игр, инженером-программистом или разработчиком плагинов, это руководство поможет вам понять основные концепции и шаги, необходимые для создания полнофункционального плагина.
Что такое Plugify?
Plugify — это модульный фреймворк для плагинов, который позволяет разработчикам расширять приложения путем динамической интеграции внешних плагинов. Он предоставляет структурированный подход к разработке плагинов с четкими указаниями по структуре плагинов, управлению зависимостями и предоставлению API.
Зачем использовать Python?
Языковой модуль Python позволяет разработчикам создавать плагины с использованием Python, языка, известного своей простотой и читаемостью. Плагины на Python не требуют компиляции, что делает их легкими в разработке и развертывании. Plugify гарантирует, что ваш плагин гладко интегрируется с ядром фреймворка, следуя стандартизированной структуре плагинов и API.
Что вы узнаете
В этом руководстве вы:
- Настроите структуру каталогов для вашего плагина.
- Определите манифест плагина (файл
.pplugin
), чтобы зарегистрировать ваш плагин в экосистеме Plugify. - Напишете код на Python для вашего плагина, используя предоставленный API.
- Запустите и протестируете ваш плагин.
К концу этого руководства у вас будет работающий плагин на Python, который можно загрузить во фреймворк Plugify. Давайте начнем!
Структура каталогов
Чтобы обеспечить бесшовную интеграцию с фреймворком Plugify, ваш плагин должен следовать определенной структуре каталогов. Каждый плагин должен быть размещен в своей собственной папке внутри каталога plugins/
. Имя папки должно совпадать с именем плагина и следовать этим правилам:
- Разрешенные символы: Буквенно-цифровые (
A-Z, a-z, 0-9
), специальные символы ($, #, @, -
). - Пробелы НЕ допускаются в имени папки.
- Файл конфигурации
.pplugin
должен иметь то же имя, что и папка плагина.
Пример структуры каталогов
- res/plugins/
- python_example_plugin/
- python_example_plugin.py
- python_example_plugin.pplugin
- another-plugin/
- another_plugin.py
- another_plugin.pplugin
Разбор структуры
res/plugins/
– Основной каталог, где хранятся все плагины.python_example_plugin/
– У каждого плагина есть своя отдельная папка. Имя папки должно совпадать с именем файла.pplugin
.python_example_plugin.py
– Скрипт Python, содержащий код плагина.python_example_plugin.pplugin
– Файл конфигурации, который определяет метаданные о плагине.
Следуя этой структуре, Plugify может корректно обнаруживать, загружать и управлять плагинами на разных платформах.
Манифест плагина
Каждый плагин во фреймворке Plugify требует файла манифеста с расширением .pplugin
. Этот файл представляет собой конфигурацию на основе JSON, которая предоставляет важные метаданные о плагине, обеспечивая его правильную идентификацию, загрузку и управление.
Ключевые обязанности файла манифеста:
- Определяет версию плагина и данные автора.
- Указывает точку входа для выполнения.
- Перечисляет зависимости, требуемые плагином.
- Объявляет экспортируемые методы, доступные для внешнего взаимодействия.
Пример файла манифеста
Объяснение ключевых полей
entryPoint
: Указывает путь к модулю и имя класса плагина. Например, если ваш плагин находится вpython_example_plugin.py
и класс называетсяExamplePlugin
, точкой входа будетpython_example_plugin.ExamplePlugin
.languageModule
: Должно быть установлено в python3 для плагинов на Python.dependencies
: Перечисляет другие требуемые плагины, обеспечивая правильный порядок загрузки.exportedMethods
: Функции, предоставляемые плагином для внешнего взаимодействия.
Почему файл манифеста важен?
- Обеспечивает совместимость – Определяет поддерживаемые версии и платформы.
- Обеспечивает модульность – Перечисляет зависимости для структурированной загрузки плагинов.
- Облегчает интеграцию – Позволяет другим плагинам вызывать предоставленные методы.
Следуя этой структуре манифеста, Plugify может эффективно загружать и управлять плагинами, обеспечивая бесшовную функциональность в разных проектах.
Написание кода плагина
Создание плагина для Plugify — это просто. Вы можете либо использовать готовый шаблон плагина на Python, доступный в нашем репозитории, либо написать свой плагин с нуля.
Использование шаблона плагина
Самый простой способ начать — это загрузить шаблон плагина на Python из нашего репозитория. Он содержит все необходимые файлы, включая:
- Предварительно настроенную структуру проекта
- Пример реализации
- Требуемый пакет plugify
Просто клонируйте репозиторий, и ваша среда будет готова к разработке.
Написание плагина с нуля
Если вы предпочитаете создавать свой плагин вручную, следуйте этим шагам:
Настройка вашего плагина
Каждый плагин должен наследоваться от класса plugify.plugin.Plugin
и опционально реализовывать методы жизненного цикла (plugin_start
, plugin_update
, plugin_end
).
Структура кода плагина
Вот базовый пример реализации плагина на Python:
Понимание методов жизненного цикла плагина
Каждый плагин может определять следующие методы жизненного цикла, которые Plugify будет вызывать в определенное время:
Метод | Описание | Обязателен? |
---|---|---|
plugin_start | Вызывается, когда плагин загружен и готов к работе. | ❌ Опционально |
plugin_update(dt) | Вызывается каждый кадр, позволяя периодические обновления. | ❌ Опционально |
plugin_end | Вызывается, когда плагин выгружается или завершает работу. | ❌ Опционально |
Эти методы являются опциональными. Если они не реализованы, языковой модуль их не вызовет.
Запуск и тестирование плагина
После того как вы написали свой плагин, следующий шаг — запустить и протестировать его в системе Plugify. Для этого выполните следующие шаги:
Размещение плагина в правильном каталоге
Убедитесь, что ваш плагин правильно структурирован внутри папки plugins/
. Ваша папка плагина должна содержать:
Как только папка плагина и файл манифеста будут правильно размещены, Plugify автоматически обнаружит и попытается загрузить плагин.
Проверка статуса загрузки плагина
Вы можете проверить, успешно ли загрузился ваш плагин, используя команды терминала, предоставляемые Plugify. Эти команды позволяют вам запрашивать статус плагинов и устранять потенциальные проблемы.
- Перечислить все загруженные плагины:
Это отобразит все загруженные в данный момент плагины. Если ваш плагин есть в списке, это означает, что Plugify успешно его распознал и инициализировал.
- Запросить информацию о конкретном плагине:
Эта команда получает подробную информацию о конкретном плагине, включая его версию, зависимости и поддерживаемые платформы.
Устранение неполадок
Если ваш плагин не работает как ожидалось:
- Проверьте логи консоли на наличие подробных сообщений об ошибках.
- Убедитесь, что все зависимости правильно установлены и совместимы с игрой/платформой.
- Проверьте точку входа в манифесте
.pplugin
, чтобы она соответствовала фактическому имени модуля и класса. - Включите отладочное логирование, если необходимо, чтобы получить больше деталей о проблеме.
Как только ваш плагин загрузится и будет функционировать правильно, он готов к использованию! Хотите дополнительную информацию о методах отладки?
Заключение
Это руководство охватило основные шаги по созданию плагина на Python для языкового модуля Plugify, включая настройку проекта, написание кода плагина, настройку манифеста и запуск плагина. Соблюдение этих рекомендаций обеспечивает гладкую интеграцию в экосистему Plugify.