Создание арен
Создание арен
isEnabled
Задаёт, включена ли арена.
| Key | Values | Default |
|---|---|---|
isEnabled | Boolean | true |
Пример
isEnabled: true
arenaName
Задаёт название арены.
| Key | Values | Default |
|---|---|---|
arenaName | String | Default name |
Пример
arenaName: Bedrock Arena

corner1
Задаёт первый угол арены.
| Key | Values | Default |
|---|---|---|
corner1 | Location | none |
Пример
corner1: my_arena_world,10,50,-10,0,0
Формат местоположения такой: world_name,x,y,z,yaw,pitch, где world_name — имя мира, x/y/z — координаты, yaw — горизонтальный поворот (0-360), а pitch — вертикальный поворот (от -90 до 90).
На этом изображении corner1 представлен зелёной шерстью, а corner2 представлен красной шерстью. Эта конфигурация обозначает область между ними как арену, представленную жёлтой шерстью.

corner2
Задаёт второй угол арены, должен находиться в противоположном углу от corner1. Эти два угла определяют границы пространства вашей арены.
| Key | Values | Default |
|---|---|---|
corner2 | Location | none |
Пример
corner2: my_arena_world,-10,50,10,0,0
На этом изображении corner1 представлен зелёной шерстью, а corner2 представлен красной шерстью. Эта конфигурация обозначает область между ними как арену, представленную жёлтой шерстью.

startLocation
Задаёт стартовое местоположение арены.
| Key | Values | Default |
|---|---|---|
startLocation | Location | none |
Пример
startLocation: my_arena_world,1,50,1,0,0
exitLocation
Задаёт местоположение выхода с арены.
| Key | Values | Default |
|---|---|---|
exitLocation | Location | none |
Пример
exitLocation: my_world,1,50,1,0,0
waveCount
Задаёт количество волн на арене.
| Key | Values | Default |
|---|---|---|
waveCount | Integer | 0 |
Пример
waveCount: 10
delayBetweenWaves
Задаёт задержку между волнами в секундах.
| Key | Values | Default |
|---|---|---|
delayBetweenWaves | Integer | 0 |
Пример
delayBetweenWaves: 5
rawIntermissionWaves
Удваивает задержку между волнами для указанных в списке волн. Для этих волн задержка будет delayBetweenWaves * 2. Полезно, если вы хотите дать игрокам короткую передышку между определёнными волнами.
| Key | Values | Default |
|---|---|---|
rawIntermissionWaves | Integer List | none |
Пример
rawIntermissionWaves:
- '5'
- '10'
- '15'
spawnPoints
Задаёт места спавна для боссов арены.
| Key | Values | Default |
|---|---|---|
spawnPoints | String List [1] | none |
Пример
spawnPoints:
- name=north:location=my_arena_world,219.5,71,273.5
- name=south:location=my_arena_world,219.5,71,316.5
- name=west:location=my_arena_world,197.5,71,295.5
- name=east:location=my_arena_world,240.5,71,295.5
- name=center:location=my_arena_world,219.5,71,295.5
bossList
Задаёт список боссов, появляющихся во время волн арены. Арены EliteMobs поддерживают спавн Mythic Mobs на аренах.
| Key | Values | Default |
|---|---|---|
bossList | String List [2] | none |
Пример
bossList:
- wave=1:spawnPoint=north:boss=my_boss_wave_1.yml
- wave=1:spawnPoint=south:boss=my_boss_wave_1.yml
- wave=2:spawnPoint=center:boss=my_mythicmobs_boss:mythicmob=true:level=10
В этом примере на волне 1 заспавнится один босс в точке спавна north и один босс в точке спавна south. Затем, на волне 2, в центральной точке заспавнится mythic-босс 10-го уровня.
Учтите, что вы также можете принудительно задать уровень для боссов EliteMobs с помощью параметра level (например, level=10), но рекомендуется задавать их уровень в их конфигурационном файле для согласованности. Параметр level полезен для масштабирования сложности арены.
rawArenaReward
Задаёт награды, выдаваемые в конце волн.
Примечание: в исходном коде это поле может также упоминаться как rawArenaRewards (во множественном числе).
| Key | Values | Default |
|---|---|---|
rawArenaReward | Универсальная таблица добычи EliteMobs | none |
Пример
rawArenaReward:
- filename=enchanted_book_damage_all.yml:wave=5:chance=0.25
- filename=elite_scrap_tiny.yml:wave=1:chance=0.5:amount=5
- currencyAmount=3:wave=3
- level=5:filename=summon_merchant_scroll.yml:wave=5
- filename=magmaguys_toothpick.yml:itemlevel=10:wave=10:chance=0.95
minimumPlayerCount
Задаёт минимальное количество игроков, которое должно быть на арене перед началом.
| Key | Values | Default |
|---|---|---|
minimumPlayerCount | Integer | 1 |
Пример
minimumPlayerCount: 1
maximumPlayerCount
Задаёт максимальное количество игроков, которое может быть на арене.
| Key | Values | Default |
|---|---|---|
maximumPlayerCount | Integer | 0 |
Пример
maximumPlayerCount: 100
arenaMessages
Задаёт сообщения, которые отображаются между волнами.
| Key | Values | Default |
|---|---|---|
arenaMessages | Особое [3] | none |
Пример
arenaMessages:
- wave=1:message="&a[Arena Announcer] &fTime for wave one!"
- wave=2:message="&a[Arena Announcer] &fWow, wave two already."

cylindricalArena
Задаёт, использует ли арена цилиндрическую форму (по умолчанию — параллелепипед).
| Key | Values | Default |
|---|---|---|
cylindricalArena | Boolean | false |
Пример
cylindricalArena: false
permission
Задаёт право, необходимое для использования арены.
| Key | Values | Default |
|---|---|---|
permission | String | none |
Пример
permission: mypermission.arena
teleportLocation
Задаёт, куда должны телепортироваться игроки после взаимодействия с NPC арены. Эта настройка обычно используется для телепортации игроков в выделенную зону-лобби арены, где они могут начать испытание арены или подождать, пока другие игроки пройдут арену.
| Key | Values | Default |
|---|---|---|
teleportLocation | Location | none |
Пример
teleportLocation: my_arena_world,10,50,10,0,0
Особое [1]
Точки спавна: используют следующий формат: name=pointName:location=world_name,x,y,z.
Особое [2]
Список боссов: использует следующий формат: wave=x:spawnPoint=Y:boss=bossfilename.yml.
Особое [3]
Сообщения арены: используют следующий формат: wave=X:message=ваше сообщение здесь.
Пример конфигурации арены
isEnabled: true
arenaName: Example Arena
corner1: my_arena_world,0,0,0,0,0
corner2: my_arena_world,50,50,50,0,0
startLocation: my_arena_world,25,0,25,0,0
exitLocation: my_minecraft_world,234,44,245,0,0
waveCount: 5
delayBetweenWaves: 5
spawnPoints:
- name=north:location=my_arena_world,40.5,0,0
- name=south:location=my_arena_world,10.5,0,0
- name=west:location=my_arena_world,0,0,40.5
- name=east:location=my_arena_world,0,0,10.5
- name=center:location=my_arena_world,25.5,0,25.5
bossList:
- wave=1:spawnPoint=north:boss=example_arena_wave_1_mob.yml
- wave=1:spawnPoint=center:boss=example_arena_wave_1_mob.yml
- wave=1:spawnPoint=south:boss=example_arena_wave_1_mob.yml
- wave=2:spawnPoint=center:boss=example_arena_wave_2_mob.yml
- wave=3:spawnPoint=east:boss=example_arena_wave_3_mob.yml
- wave=3:spawnPoint=west:boss=example_arena_wave_3_mob.yml
- wave=4:spawnPoint=center:boss=example_arena_wave_4_mob.yml
- wave=4:spawnPoint=center:boss=example_arena_wave_4_mob.yml
- wave=5:spawnPoint=center:boss=example_arena_wave_5_mob.yml
- wave=5:spawnPoint=south:boss=example_arena_wave_5_mob.yml
- wave=5:spawnPoint=west:boss=example_arena_wave_5_mob.yml
rawArenaReward:
- currencyAmount=5:wave=1
- currencyAmount=10:wave=2
- currencyAmount=15:wave=3
- currencyAmount=20:wave=4
- currencyAmount=25:wave=5
- filename=magmaguys_toothpick.yml:itemlevel=5:wave=5:chance=0.5
minimumPlayerCount: 1
maximumPlayerCount: 3
arenaMessages:
- wave=1:message=&d[Arena NPC] &fWow! Wave 1!
- wave=2:message=&d[Arena NPC] &fAmazing it is wave 2!
- wave=3:message=&d[Arena NPC] &fWave 3 is now on!
- wave=4:message=&d[Arena NPC] &fWave 4 already!
- wave=5:message=&d[Arena NPC] &fWell it is all over after this one.
cylindricalArena: false
permission: arena.mypermission
Разбор примера
Давайте пройдёмся по этому примеру сверху вниз и объясним, что делает эта конфигурация арены.
Сначала арена включается с помощью isEnabled, и мы видим, что она называется Example Arena благодаря настройке arenaName. Название будет показано, когда вы взаимодействуете с NPC арены (о том, как создать NPC арены, мы поговорим ниже), который позволит игрокам присоединиться к арене. corner1 и corner2 определяют размер арены. Эти углы должны находиться на противоположных сторонах друг от друга в области, которую вы планируете использовать для арены.
startLocation — это место, где игроки заспавнятся при присоединении к арене, в примере это будет центр арены в мире my_arena_world. exitLocation — это место, куда игроки будут телепортированы после провала или завершения арены. В этом случае это будет мир my_minecraft_world и координаты из примера.
waveCount просто задаёт количество волн, которое продлится арена. В этом случае это 5 волн. Если игрокам удастся пережить все 5 волн, они смогли пережить арену. delayBetweenWaves задаёт количество секунд до начала следующей волны. В нашем примере у игроков будет 5 секунд на подготовку до начала следующей волны.
spawnPoints задаёт места, где могут спавниться наши мобы. Мы можем создать сколько угодно точек и назвать их как угодно. В примере мы решили создать 5 точек спавна и назвать их north, south, center, east и west.
bossList — это место, где мы определяем, какой босс должен заспавниться на какой волне и в каком месте. В примере на волне 1 заспавнятся 3 босса из точек спавна, которые мы назвали north, center и south. Все три настроены на использование одного и того же файла босса, но мы могли бы использовать разные файлы боссов для каждого.
rawArenaReward задаёт награды, которые будут выданы после того, как игрок переживёт/пройдёт волну. Как мы видим в примере, за прохождение волны 1 игрок получит 5 элитных монет. Если ему удастся пережить остальные волны и затем пройти волну 5, он будет вознаграждён 25 элитными монетами и 50%-ным шансом получить MagmaGuy's Toothpick 5-го уровня.
minimumPlayerCount задаёт минимальное необходимое количество игроков для старта арены. В нашем примере эта настройка равна 1, поэтому для старта арены нужен только один игрок. maximumPlayerCount задаёт максимальное количество игроков, которые могут участвовать в арене. В нашем примере эта настройка равна 3, то есть если более 3 игроков попытаются участвовать в арене, арена не начнётся, пока игроков не станет 3 или меньше.
arenaMessages позволяет добавить немного атмосферного текста, который будет отображаться в чате в начале заданных волн. В нашем примере мы решили показывать короткое сообщение в начале каждой волны. Мы также решили включить имя NPC в начало каждого сообщения, создавая иллюзию, что текст — это произнесённая реплика ведущего (мастера арены).
cylindricalArena — эта настройка позволяет переключить, должна ли заданная нами через corner1 и corner2 область быть цилиндрической формы вместо параллелепипеда. В нашем примере мы установили её в false, то есть пример арены имеет форму параллелепипеда.
permission позволяет задать право, которое игрокам нужно иметь, чтобы присоединиться к арене / начать её. В нашем примере игрокам понадобится право arena.mypermission, чтобы пользоваться ареной.
Создание NPC арены
isEnabled
Задаёт, включён ли NPC.
| Key | Values | Default |
|---|---|---|
isEnabled | Boolean | true |
Пример
isEnabled: true
name
Задаёт отображаемое имя NPC.
| Key | Values | Default |
|---|---|---|
name | String | none |
Пример
name: "&aGladius"

role
Задаёт отображение роли под именем NPC.
| Key | Values | Default |
|---|---|---|
role | String | none |
Пример
role: "&c<Arena Master>"

profession
Задаёт профессию NPC из Minecraft.
| Key | Values | Default |
|---|---|---|
profession | Profession | NITWIT |
Пример
profession: ARMORER
Будет переопределена, если используется disguise.

spawnLocation
Задаёт местоположение спавна NPC.
| Key | Values | Default |
|---|---|---|
spawnLocation | Location | none |
Пример
spawnLocation: my_world,1.5,50,1.5,-108,0
spawnLocations
Задаёт дополнительные местоположения спавна для NPC. Это позволяет одной конфигурации NPC спавниться в нескольких местах.
| Key | Values | Default |
|---|---|---|
spawnLocations | String List | none |
Пример
spawnLocations:
- my_world,1.5,50,1.5,-108,0
- my_world,100.5,50,50.5,0,0
greetings
Задаёт приветственный диалог для NPC.
| Key | Values | Default |
|---|---|---|
greetings | String List | none |
Пример
greetings:
- Welcome to the Arena!
- The Arena welcomes you!

dialog
Задаёт диалог при взаимодействии игроков с NPC.
| Key | Values | Default |
|---|---|---|
dialog | String List | none |
Пример
dialog:
- Ready for a challenge?
- Face the Arena?

farewell
Задаёт прощальный диалог для NPC, отображаемый, когда игрок уходит.
| Key | Values | Default |
|---|---|---|
farewell | String List | none |
Пример
farewell:
- Bye.
- Return with your shield, or on it!

Если строка слишком длинная, вы можете использовать \n, чтобы разделить строку на несколько строк.
farewell:
- Bye.
- Return with your\nshield, or on it!

canTalk
Задаёт, может ли NPC разговаривать с игроками.
| Key | Values | Default |
|---|---|---|
canTalk | Boolean | true |
Пример
canTalk: true
activationRadius
Задаёт радиус, в котором NPC должен начать говорить.
| Key | Values | Default |
|---|---|---|
activationRadius | Double | 3.0 |
Пример
activationRadius: 3.0
timeout
Задаёт таймаут для NPC в секундах. Когда задан, NPC исчезнет по истечении указанного времени.
| Key | Values | Default |
|---|---|---|
timeout | Double | 0 |
Пример
timeout: 60
interactionType
Задаёт тип взаимодействия, которое будет выполнять NPC.
| Key | Values | Default |
|---|---|---|
interactionType | Особое [4] | NONE |
Пример
interactionType: ARENA_MASTER
disguise
Задаёт кастомную маскировку NPC.
| Key | Values | Default |
|---|---|---|
disguise | Disguise | none |
Пример
disguise: ZOMBIE

customDisguiseData
Задаёт данные кастомной маскировки для маскировки LibsDisguises. Это позволяет детально настраивать маскировку сверх базовой настройки disguise.
| Key | Values | Default |
|---|---|---|
customDisguiseData | String | none |
Пример
customDisguiseData: player MHF_Pig
customModel
Задаёт кастомную модель для NPC. Требует установленного и настроенного валидного плагина кастомных моделей.
| Key | Values | Default |
|---|---|---|
customModel | String | none |
Пример
customModel: my_model
arena
Задаёт, на какую арену будут телепортированы игроки.
| Key | Values | Default |
|---|---|---|
arena | Filename | none |
Пример
arena: my_arena.yml
command
Задаёт команду, которую NPC выполнит при взаимодействии. Требует, чтобы interactionType был установлен в COMMAND.
| Key | Values | Default |
|---|---|---|
command | String | none |
Пример
command: say Hello $player
questFileName
Задаёт имена файлов заданий для NPC. Требует, чтобы interactionType был установлен в CUSTOM_QUEST_GIVER.
| Key | Values | Default |
|---|---|---|
questFileName | String List | none |
Пример
questFileName:
- my_quest_1.yml
- my_quest_2.yml
noPreviousLocationMessage
Когда interactionType установлен в TELEPORT_BACK, это задаёт сообщение, отправляемое, если NPC не может найти предыдущее местоположение для телепортации игрока.
| Key | Values | Default |
|---|---|---|
noPreviousLocationMessage | String | none |
Пример
noPreviousLocationMessage: '&cCouldn''t find a previous location!'
instanced
Задаёт, должен ли NPC быть инстансовым. Используется для NPC внутри инстансовых подземелий.
| Key | Values | Default |
|---|---|---|
instanced | Boolean | false |
Пример
instanced: false
scale
Задаёт масштаб (размер) NPC.
| Key | Values | Default |
|---|---|---|
scale | Double | 1.0 |
Пример
scale: 1.0
syncMovement
Задаёт, должно ли движение NPC синхронизироваться с сервером.
| Key | Values | Default |
|---|---|---|
syncMovement | Boolean | true |
Пример
syncMovement: true
Пример конфигурации арены
isEnabled: true
name: Example NPC
role: <Arena Master>
profession: ARMORER
spawnLocation: my_minecraft_world,233,44,245,0,0
greetings:
- Welcome to the Arena!
dialog:
- Ready to enter the Arena?
farewell:
- Bye!
canTalk: true
activationRadius: 3.0
interactionType: ARENA_MASTER
disguise: ZOMBIE
arena: example_arena.yml
В этом примере показан базовый NPC арены, который заспавнится в my_minecraft_world с маскировкой под зомби. Игроки могут взаимодействовать с этим NPC, чтобы бросить вызов Example Arena.
Особое [4]
Ниже приведён список допустимых типов взаимодействия NPC:
| Type | Description |
|---|---|
GUILD_GREETER | Открывает меню гильдии авантюристов |
CHAT | Правый клик перебирает реплики dialog |
CUSTOM_SHOP | Открывает меню кастомного магазина |
PROCEDURALLY_GENERATED_SHOP | Открывает процедурно сгенерированный магазин |
BAR | Открывает меню бара |
ARENA | Ничего не делает. Используйте ARENA_MASTER вместо этого. |
QUEST_GIVER | Открывает меню процедурно сгенерированных заданий |
CUSTOM_QUEST_GIVER | Открывает меню заданий для конкретного задания, заданного в questFileName |
NONE | Без взаимодействий |
SELL | Открывает меню продажи |
TELEPORT_BACK | Телепортирует игроков обратно в последнее местоположение в мире, не относящемся к elitemobs, где они были |
SCRAPPER | Открывает меню утилизации |
SMELTER | УСТАРЕЛО — функция удалена, не используйте |
REPAIRMAN | Открывает меню ремонта |
ENHANCER | УСТАРЕЛО — функция удалена, не используйте |
REFINER | УСТАРЕЛО — функция удалена, не используйте |
UNBINDER | Открывает меню развязывания |
ARENA_MASTER | Открывает меню арены для арены, заданной в arena |
COMMAND | Выполняет команду, заданную в command |
ENCHANTER | Открывает меню зачарования |
SCROLL_APPLIER | Открывает меню применения свитков |
ARROW_SHOP | Открывает меню магазина стрел |
GAMBLING_BLACKJACK | Открывает азартную игру в блэкджек |
GAMBLING_COINFLIP | Открывает азартную игру в подбрасывание монеты |
GAMBLING_SLOTS | Открывает азартную игру в слоты |
GAMBLING_HIGHERLOWER | Открывает азартную игру «больше/меньше» |
