Создание
Аирдроп создается командой /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.