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 для удобного тестирования датапаков - она позволяет немедленно запустить любой слушатель.