BAirDropX

Создание

Аирдроп создается командой /bair create classic [name]. В имени могут быть использованы символы [a-zA-Z0-9._-].

После выполнения команды аирдроп должен появиться в папке plugins\BAirDropX\airdrops\<name>.

В этой папке вы найдете следующие файлы:

  • config.yml - основной файл конфигурации аирдропа
  • desc.metadata - файл, необходимый для загрузки аирдропа
  • generator_setting.yml - настройки генератора
  • inventory_config.yml - настройки инвентаря аирдропа
  • items.snbt - все предметы, которые могут появиться в аирдропе

config.yml

air-name: '&7AirDrop'
id: test
world: world
time-to-start: 60
time-to-open: 60
time-to-end: 120
use-static-loc: false
static-loc:
  x: 0
  y: 0
  z: 0
triggered-time-to-open: false
independent-time-to-end: false
material-when-closed: RESPAWN_ANCHOR
material-when-opened: ENDER_CHEST
required-number-of-players-online: 1
enable: true
signed-listeners:
  - default:open
  - default:holo2-updater
  - default:end
  - default:start
  - default:holo1-updater
  - default:click_open
  - default:click_close
  - default:summoned
  - default:holo3-updater
use-default-timer: true
  • air-name - имя аирдропа
  • id - идентификатор аирдропа, указанный при создании
  • world - мир появления аирдропа
  • time-to-start - время до появления аирдропа в секундах
  • time-to-open - время до открытия аирдропа
  • time-to-end - время до завершения аирдропа
  • use-static-loc - использовать ли статическую локацию для появления аирдропа
  • static-loc - статическая локация появления
  • triggered-time-to-open - дожидаться ли активации (клика) аирдропа перед началом отсчета до открытия
  • independent-time-to-end - позволяет начать отсчет до завершения, не дожидаясь окончания времени открытия
  • material-when-closed - материал, когда аирдроп закрыт
  • material-when-opened - материал, когда аирдроп открыт
  • required-number-of-players-online - минимальное количество игроков для запуска аирдропа
  • enable - включен ли аирдроп
  • signed-listeners - подписанные слушатели
  • use-default-timer - использовать ли таймер по умолчанию

inventory_config.yml

Это основной файл настройки лута в аирдропе.

extensions:
  smooth_add_item:
    insertTickMax: 40
    insertTickMin: 20
    enable: true
    name: smooth_add_item
  anti_steal:
    cooldown: 200
    maxWarnings: 5
    interval: 5
    minIntervalToIgnore: 250
    command: close_inventory
    enable: true
    name: anti_steal
genItemCount: 54
invSize: 54
invName: '&7AirDrop inventory'
emptySlotChance: 0
  • emptySlotChance - шанс того, что слот в аирдропе будет пустым
  • invName - заголовок инвентаря аирдропа
  • invSize - размер инвентаря аирдропа (9, 18, 27, 36, 45, 54)
  • genItemCount - количество предметов, которые аирдроп должен сгенерировать

extensions - расширения для инвентаря:

  • smooth_add_item
    • добавляет анимацию постепенного заполнения инвентаря
    • insertTickMax - максимальное время, через которое предмет попадет в инвентарь аирдропа
    • insertTickMin - минимальное время
    • enable - включено ли
    • name - имя расширения (НЕ МЕНЯТЬ!)
  • anti_steal
    • детектирует чит для автоматического забирания вещей из аирдропа
    • cooldown - кулдаун для взятия предметов из аирдропа в мс
    • interval - минимальный интервал после которого игрок получит предупреждение
    • minIntervalToIgnore - интервал после которого с игрока снимутся все предупреждения
    • maxWarnings - максимальное количество предупреждений после которых к игроку будет применено наказание
    • command - само наказание может быть close_inventory или любая команда, которая выполнится от консоли, например kick %player_name%
    • enable - включено ли
    • name - имя расширения (НЕ МЕНЯТЬ!)

generator_setting.yml

setting:
  has-block: []
  has-no-block: []
  ignore-blocks: []
  white-list-blocks:
    - GRASS_BLOCK
  white-list-biomes:
    - OCEAN
  offsets:
    x: 0
    y: 2
    z: 0
  center:
    x: 0.0
    z: 0.0
  radius: 2500
  max-y: 100
  min-y: 30
  region-radius:
    x: 15
    y: 15
    z: 15
  check-region: false
  flags:
    - creeper-explosion deny
    - tnt deny
  • has-block - места, где должен быть блок
    Пример:
  has-block:
    - x: 0
      y: 1
      z: 0
    - x: 1
      y: 1
      z: 0
  • has-no-block - места, где не должно быть блока
  • ignore-blocks - список материалов блоков, которые будут игнорироваться при поиске подходящей локации (например, TALL_GRASS).
  • white-list-blocks - список блоков, на которых может появиться аирдроп.
  • white-list-biomes - список биомов, в которых может появиться аирдроп.
  • offsets - смещение позиции аирдропа относительно найденной локации.
  • center - центр вокруг которого аирдроп будет искать локацию для спавна.
  • radius - радиус от центра, в котором может появиться аирдроп.
  • max-y - максимальная высота, на которой может появиться аирдроп.
  • min-y - минимальная высота.
  • region-radius - радиус привата аирдропа.
  • check-region - при поиске локации проверять наличие региона на ней.
  • flags - WorldGuard флаги, которые будут использоваться при создании аирдропа.

Плейсхолдеры аирдропа

  • {rand-1} - случайное число от 0 до 1
  • {rand-10} - случайное число от 0 до 10
  • {rand-50} - случайное число от 0 до 50
  • {rand-100} - случайное число от 0 до 100
  • {rand-boolean} - случайное булево значение (true/false)
  • {rand-uuid} - случайный UUID
  • {world} - мир появления аирдропа
  • {air_name} - имя аирдропа
  • {time_to_start} - время до старта аирдропа
  • {time_to_open} - время до открытия аирдропа
  • {time_to_end} - время до конца аирдропа
  • {time_to_start_const} - время до старта аирдропа, указанное в конфиге
  • {time_to_open_const} - время до открытия аирдропа, указанное в конфиге
  • {time_to_end_const} - время до конца аирдропа, указанное в конфиге
  • {use_static_loc} - true, если аирдроп использует статическую локацию для спавна
  • {triggered_time_to_open} - true, если по аирдропу должны кликнуть, чтобы он начал открываться
  • {independent_time_to_end} - true, если аирдроп будет отсчитывать до конца ивента без ожидания открытия
  • {material_when_closed} - материал, когда закрыт
  • {material_when_opened} - материал, когда открыт
  • {required_number_of_players_online} - минимальное количество игроков для спавна
  • {enable} - true, если включен
  • {started} - true, если запущен
  • {opened} - true, если открыт
  • {clicked} - true, если аирдроп активирован
  • {airdrop_type} - тип аирдропа
  • {id} - id аирдропа
  • {summoned} - если аирдроп был призван
  • {summoner_name} - имя игрока, который призвал аирдроп
  • {remove} - если аирдроп будет удален после окончания ивента
  • {x} - координаты аирдропа
  • {y} - координаты аирдропа
  • {z} - координаты аирдропа
  • {was-opened} - true, когда аирдроп был открыт игроком.

items.snbt

Предметы редактируются внутри игры из меню
Предметы, которые могут появиться в аирдропе.

Синтаксис:

{
    items: [
        {
            # предмет 1
        },
        {
            # предмет 2
        },
        ...
    ]
}

Синтаксис предмета:

{
    item: {
       # item stack
    },
    chance: 100,
    minAmount: 1,
    maxAmount: 64,
    randomAmount: true
}

desc.metadata

Этот файл используется для загрузки аирдропа из файлов.

Он начинается с магических чисел 13, 37, 0, 123 и содержит version (int), type (String), extra (CompoundTag).

Конкретнее о нем вы можете узнать в классе org.by1337.bairx.airdrop.AirDropMetaData.

By1337© все права защищены