
WhatsUp
Активный0.0
Установок
Последнее обновление
Версии
WhatsUp
Для работы версии под Quilt потребуются: QSL и GroovyDuvet
Версия для Forge требует наличия: GML
WhatsUp представляет собой специализированный инструмент для датапаков, который дает серверам возможность периодически опрашивать указанные веб-эндпоинты и выполнять функции (стандартного типа .mcfunction) в зависимости от полученных результатов.
Мод вводит два основных понятия: слушатели (listeners) и предикаты (predicates). Слушатели определяются в файлах по пути data/<namespace>/whatsup/listeners/<name>.json и имеют следующую структуру:
endpoint
- URL-адрес, который будет опрашиваться слушателемfrequency
- целое число, определяющее интервал в секундах между запросами к эндпоинтуactions
- перечень действий, выполняемых на основе ответа от эндпоинта. Каждое действие содержит:predicate
- идентификатор предиката для проверки результата запросаfunction
- идентификатор функции, которая выполнится при успешной проверке предикатаlevels
- (необязательный параметр; по умолчанию ["overworld"]) список измерений, в которых будет запущена указанная функцияthen
- (необязательный) перечень других слушателей для последовательного выполненияstorage
- (необязательный) сопоставление имен свойств с хранилищами данных команд, доступными для предиката
Предикаты размещаются в файлах data/<namespace>/whatsup/predicates/<name>.groovy и представляют собой скрипты на языке Groovy. В среде выполнения Groovy предикаты получают доступ к переменной context
, содержащей следующие свойства:
text
- необработанный текст ответаjson
- Map с данными ответа в формате JSON, либоnull
, если ответ не является JSON-объектомstorage
- содержит свойства для каждого хранилища данных, указанного в действии; хранилища можно запрашивать и изменять
Пример рабочего датапака доступен в релизах на GitHub.
Мод также предоставляет команду /whatsup
для удобного тестирования датапаков - она позволяет немедленно запустить любой слушатель.