Иконка ресурса

Varscript 0.5 - Планировщик задач на польской нотации (Minecraft)

Andragor

Предприниматель, директор, бизнесмен
Меценат
Жид
1C Lead Developer
Драконавирус
Сисадмин
Альфа самец
Участник Новогоднего Фонда 2023
Победитель в номинации 2023
Победитель в номинации 2022
Победитель в номинации 2021
Участник Новогоднего Фонда 2021
Победитель в номинации 2020
Мастер реакций
Стратег Данных
Победитель в номинации 2019
За заслуги перед форумом
Любитель реакций
Знаток письма
Куратор Данных
Знаток Dota 2
Веселый флудер
Сообщения
1 667
Розыгрыши
1
Решения
1
Репутация
2 906
Реакции
2 283
Баллы
2 188
Планировщик скриптов
Версия
: 0.5.4

Плагин представляет из себя планировщик задач со встроенным скриптовым языком.

Особенности:
  • запуск скриптов из файла,
  • многопоточность исполнения
  • регистрация событий и обработка их во время исполнения
  • продвинутый планировщик задач (события - условия - действия)
  • Использование Java рефлексий
Подойдет и для Lineage проектов при небольшом допиле

Описание:

Синтаксис
varscript это язык с . Проще говоря, имеется стек с данными смешанного типа. Каждая операция может взять из стека объект на обработку и/или положить объект в стек. Большинство объектов можно конвертировать между собой.
Можно посмотреть краткую справку по команде, введя
/>c <команда>
будут показаны название операнда, краткие формы записи(если есть), типы входящих объектов (количество объектов, которые команда возьмет из стека и тип, к которому она их приведет), выходные типы (что команда положит в стек), а также краткое описание действия команды. Поддерживается tab-completion
Чтобы не просматривать весь список, можно посмотреть список команд только по определенному тегу:
/>t <тег>
отобразит все команды с данным тегом (тоже можно нажимать tab)
/>t
список всех тегов.

Особенности языка:
- Замыкания
- Прототипное наследование

Планировщик
Все команды для планировщика можно просмотреть с помощью авто-заполнения (нажатие на tab при написании команды), тут рассмотрены основной метод работы с планировщиком.
Включение планировщика
Пока что включить/выключить планировщик можно только в конфиге.
Создание задачи
/task <название> create [описание]
задачи хранятся в YAML файлах в директории ./plugins/varscript/tasks.
при создании задачи будет создан соответствующий файл. (расширение yml, не указывается). описание не обязательно.
Задача будет создана отключенной.
Задача состоит из трех частей: событий, условий и действий. их может быть любое количество.
Список задач
/task
это отобразит список всех задач.
Просмотр задачи
/task <имя>
Так можно просмотреть информацию о задаче: список событий, условий, действий, а также состояние задачи.
Статус у каждого (события|условия|действия) определяется его цветом
Редактирование задачи
в задачу можно добавить компоненты, изменить, удалить, отключить
В общем виде команды выглядят так:
/task <имя> <events|conditions|actions>
просмотр событий, условий или действий
/task <имя> <events|conditions|actions> add <строка>
добавить новый элемент
/task <имя> <e|c|a> <номер, начиная с 0> remove
удалить элемент
/task <имя> <e|c|a> <номер> edit <строка>
редактировать. Чтобы получить предыдущее значение строки, используйте tab
/task <имя> <e|c|a> <номер> enable
/task <имя> <e|c|a> <номер> disable

События
На этот момент поддерживаются такие события:
BUKKIT <событие> <приоритет>
Прослушивать любое из событий.
событие - название класса события.
для стандартных событий можно указать только имя.
для остальных - полный путь класса.
приоритет (не обязательно) - приоритет события.
значения: LOWEST, LOW, NORMAL, HIGH, HIGHEST, MONITOR
Например BUKKIT PlayerChatEvent HIGH
REPEAT <период> <задержка>
событие происходит с определенной периодичностью.
Время указывается в серверных тиках (1/20 секунды)
задержка - необязательный параметр.
Например, ежесекундно: REPEAT 20
LOAD <задержка>
однократное событие при загрузке сервера.
задержка - необязательный параметр, указывается в тиках.

Условия
Для выполнения задачи должны выполниться все из перечисленных активных условий.
EVENT <параметры>
Проверка некоторых свойств события:
EVENT is cancelled
EVENT is not cancelled
EVENT TYPE is <тип>
тип - указываем класс события
CHANCE <шанс>
Шанс указывается числом от 0 до 1
или в процентах от 0% до 100%
Например:
CHANCE 0.998
CHANCE 15%
Действия
Действия исполняются в том порядке, в котором они объявлены.
VARSCRIPT <скрипт>
Исполняет скрипт. Полная свобода действий. =)
BROADCAST <текст>
Пишет следующий текст всем игрокам на сервере
LOG <текст>
Записать текст в логгер.
Его будет видно в консоли и он запишется в лог-файл.
TASK<операция><задача>
Выполнить что-либо с другой задачей
операция - ENABLE, DISABLE, RUN, CHECKRUN
ENABLE - включить
DISABLE - отключить
RUN - запустить все действия задачи без проверки
CHECKRUN - проверить условия и в случае удачи запустить действия
задача(не обязательно) - цель. Если не указано, то цель - текущая задача.
Можно выбрать группу задач, указав звездочку в конце.

Включение и отключение задачи
/task <имя> <enable|disable>
таким образом можно включить или отключить задачу
Редактирование вручную
во многих случаях бывает удобнее вручную отредактировать YAML файл.
файлы находятся в директории plugins/varscript/tasks/
после редактирования необходимо перезагрузить задачу:
/task <имя> reload

СКАЧАТЬ: Скачать компил:
 
  • Мне нравится
Реакции: kick

    kick

    Баллов: 40
    За сообщение

Назад
Сверху Снизу