📁Примеры слушателей

Анимация аирдропа

слушатель
  anim:
    description: '&fАнимация'  # Описание
    event: 'TIMER'  # Выполнение при каждом срабатывании таймера
    requirement: # Условия выполнения задачи
      check-1:
        type: 'NUMERICAL_CHECK'  # Проверка числа
        input: '{time-to-open} % 2 == 0'  # Оставляем только чётные значения
      check-2:
        type: 'LOGICAL_CHECK'  # Проверка логического выражения
        input: '{!airdrop-is-open}'  # Аирдроп не должен быть открыт
      check-3:
        type: 'LOGICAL_CHECK'  # Проверка логического выражения
        input: '{airdrop-is-start}'  # Аирдроп должен быть запущен
    commands:
      - '[SET_MATERIAL_LIME_WOOL]'  # Устанавливаем материал Лаймовой шерсти
    deny-commands: # Если в requirement хотя бы одна проверка не пройдёт
      - '[CALL-anim-2]'  # Вызываем слушатель anim-2

  anim-2:
    description: '&fАнимация'  # Описание
    event: 'NONE'  # Не вызываемый ивент
    requirement: # Условия выполнения задачи
      check-1:
        type: 'LOGICAL_CHECK'  # Проверка логического выражения
        input: '{!airdrop-is-open}'  # Аирдроп не должен быть открыт
      check-2:
        type: 'LOGICAL_CHECK'  # Проверка логического выражения
        input: '{airdrop-is-start}'  # Аирдроп должен быть запущен
    commands:
      - '[SET_MATERIAL_RED_WOOL]'  # Устанавливаем материал Красной шерсти

Босс-бар

слушатели
  create_bossbar: 
    description: '&fСоздание боссбара'
    event: 'TIMER'
    requirement:
      check-1:
        type: 'NUMERICAL_CHECK'
        input: '{time-to-start} == 100'
    commands:
      - '[NEW_BOSSBAR]
      name="Boss bar {id}",
      setTitle="&aДо старта {time-to-start} x-{x}, y-{y}, z-{z}",
      BarColor=GREEN,
      BarStyle=SEGMENTED_10,
      addAll,
      setProgress=[math#{time-to-start} / 100#]'
      
  update_bossbar:
    description: '&fобновление боссбара'
    event: 'TIMER'
    requirement:
      check-1:
        type: 'NUMERICAL_CHECK'
        input: '{time-to-start} < 100'
      check-2:
        type: 'STRING_CHECK'
        input: '{airdrop-is-start} == false'
    commands:   
      - '[BOSSBAR]
      name="Boss bar {id}",
      setTitle="&aДо старта {time-to-start} x-{x}, y-{y}, z-{z}",
      setProgress=[math#{time-to-start} / 100#]'
      
  remove_bossbar:
    description: '&fУдаление босс бара'
    event: 'START_EVENT'
    commands: 
      - '[BOSSBAR]
      name="Boss bar {id}", removeAll'      
      - '[REMOVE_BOSSBAR]
      name="Boss bar {id}"'
      
  remove_bossbar1:
    description: '&fУдаление босс бара'
    event: 'UNLOAD'
    commands: 
      - '[BOSSBAR]
      name="Boss bar {id}", removeAll'      
      - '[REMOVE_BOSSBAR]
      name="Boss bar {id}"'
Описание

Первый блок конфигурации, create_bossbar, отвечает за создание нового босс-бара.

Он будет вызван по событию TIMER, если time-to-start равно 100. Босс-бар будет иметь имя "Boss bar {id}", где {id} - это уникальный идентификатор аирдропа. Заголовок босс-бара будет содержать текст "&aДо старта {time-to-start} x-{x}, y-{y}, z-{z}", где {time-to-start}, {x}, {y}, {z} - это переменные, которые будут заменены на соответствующие значения при выполнении команды. Цвет босс-бара будет зеленым, а стиль будет сегментированным на 10 сегментов. Босс-бар будет отображаться для всех игроков в игре.

Второй блок конфигурации, update_bossbar, отвечает за обновление босс-бара.

Он будет вызван по событию TIMER, если time-to-start меньше 100 и airdrop-is-start равно false. Босс-бар будет иметь то же имя и заголовок, что и при создании, но его текущее значение будет обновлено на {time-to-start} / 100.

Третий блок конфигурации, remove_bossbar, отвечает за удаление босс-бара.

Он будет вызван при запуске аирдропа. Сначала он удаляет босс-бар у всех игроков, а затем удаляет его полностью из игры.

Четвертый блок конфигурации, remove_bossbar1, отвечает за удаление босс-бара при выгрузке аирдропа. Он также удаляет босс-бар у всех игроков и затем удаляет его полностью из игры.

Last updated