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