- Поддерживаемые версии
-
- 1.8.x
- 1.9.x
- 1.10.x
- 1.11.x
- 1.12.x
- 1.13.x
- 1.14.x
- 1.15.x
- 1.16.x
- 1.17.x
- 1.18.x
- 1.19.x
- 1.20.x
Описание
PySpigot - это движок скриптов на Python для вашего сервера Minecraft. Он позволяет создавать скрипты, которые действуют как "мини-плагины": они могут регистрировать слушатели событий, команды, планировать задачи и многое другое!PySpigot во многом похож на Skript, но гораздо более мощный. PySpigot использует Jython, реализацию Python, которая полностью работает на Java. Это означает, что скрипты PySpigot имеют полный доступ ко всему API Bukkit/Spigot, а также к API любых других загруженных плагинов. В общем, скрипт PySpigot может делать все, что может делать Python, и все, что может делать плагин.
В настоящее время поддерживает Spigot и Paper, на версиях 1.12.2 и новее. В будущем я планирую добавить поддержку BungeeCord/Waterfall/Velocity.
Работает на Java версии 17 и выше.
Функции
Загрузка скриптов при старте сервера и с помощью командОстановка, перезагрузка и выгрузка серверных скриптов с помощью команд
Регистрация слушателей событий
Регистрация команд
Планирование задач (синхронных и асинхронных)
Работа с файлами конфигурации
Регистрация слушателей пакетов ProtocolLib
Регистрация расширений PlaceholderAPI
Подробное логирование ошибок и исключений по каждому скрипту в отдельный файл
Загрузка Java-библиотек, с которыми вы хотите работать, во время выполнения
Написание скриптов на синтаксисе Python
Скрипты имеют полный доступ к API Bukkit/Spigot, а также к API других плагинов, так что возможно всё.
И многое другое!
Команды
/pyspigot help: Перечисление полезных ссылок.
/pyspigot info <scriptname>: Отображает подробную информацию о скрипте, включая время работы, зарегистрированных слушателей, команды и другую информацию
/pyspigot listscripts: Перечисление загруженных и выгруженных скриптов
/pyspigot load <scriptname>: Загрузка скрипта с указанным именем
/pyspigot loadlibrary <libraryname>: Загрузка Java-библиотеки с указанным именем
/pyspigot reloadall: Перезагрузка всего плагина, включая скрипты, библиотеки и конфигурацию
/pyspigot reload <scriptname>: Перезагрузка загруженного скрипта
/pyspigot reloadconfig: Перезагрузка config.yml PySpigot
/pyspigot unload <scriptname>: Выгрузка скрипта
Конфигурация
YAML:
# Если false, отключит сбор информации о метриках bStats для PySpigot. Вы также можете отключить bStats для всего сервера в конфигурационном файле bStats config.yml в папке /plugins/bStats.
metrics-enabled: true
# Задержка для загрузки скриптов (в тиках) после завершения загрузки сервера.
script-load-delay: 20
# Список правил переименования для библиотек в папке libs. Формат как <pattern>|<relocated pattern>
library-relocations: []
# Если true, PySpigot будет записывать сообщения скриптов в соответствующий лог-файл. Это значение глобальное, и параметры для каждого скрипта в script_options.yml переопределяют это значение.
log-to-file: true
# Минимальный уровень логирования, который будет записываться в лог-файл скрипта. Для уровня логирования и их порядка смотрите https://docs.oracle.com/en/java/javase/11/docs/api/java.logging/java/util/logging/Level.html. Это значение глобальное, и параметры для каждого скрипта в script_options.yml переопределяют это значение.
min-log-level: 'INFO'
# Формат даты/времени для временных меток в лог-файлах скриптов, записанных в формате SimpleDateFormat на Java: https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html
log-timestamp-format: 'MMM dd yyyy HH:mm:ss'
# Если true, будет выводить сообщения лога в консоль каждый раз, когда скрипт загружается, запускается и выгружается.
script-action-logging: true
# Расширенные параметры отладки для скриптов
debug-options:
# Если true, будет выводить трассировки стека для всех исключений, связанных со скриптами, в консоль сервера
print-stack-traces: false
# Если true, будут подавлены уведомления о том, что версия плагина устарела
suppress-update-messages: false
# Если false, файл pyspigot.py *не будет* автоматически заменен на последнюю версию (из JAR-файла pyspigot) при запуске сервера, если обнаружены изменения. Рекомендуется оставить это включенным на случай, если обновление плагина будет сопровождаться обновленным файлом pyspigot.py.
auto-pyspigot-lib-update-enabled: true
messages:
plugin-prefix: '&8[&6PySpigot&8] &r'