Создание арен
Создание арен
Создайте файл .yml с уникальным именем в plugins/EliteMobs/customarenas, загрузите нужные миры и содержимое и выполните /em reload. Ссылки используют полное имя файла с .yml. Задайте положительный waveCount и действительных боссов и точки спавна для каждой волны от 1 до этого числа. Отсутствующая волна или волна, в которой не появился ни один противник, автоматически не продвигается.
Вход и проведение боя
Арена использует существующую область и не создаёт копию мира для каждой группы. Взаимодействие с NPC открывает меню. Кнопка игрока допускает участника, только пока матч ожидает начала, есть свободное место, у игрока есть настроенное право и он не состоит в другом матче. С началом отсчёта новые участники больше не принимаются.
После входа игрок попадает в teleportLocation, а без отдельного лобби — в startLocation. При достижении minimumPlayerCount участник с правом elitemobs.instance.start может выполнить /em start. Отсчёт снова проверяет минимальное число игроков, затем переносит участников в startLocation и начинает подготовку волны 1. Игроки и зрители выходят через /em quit.
Начальную точку, лобби и спавны боссов размещайте внутри области арены, на безопасной поверхности. Контроль границ работает и во время ожидания, возвращая вышедших за пределы игроков и зрителей. Во время боя он удаляет посторонних, кроме обладателей elitemobs.*. Обычные телепортации во время участия ограничены; используйте команду выхода.
allowSpectatorsInInstancedContent в Dungeons.yml управляет кнопкой зрителя и возрождениями. При включении поверженный игрок ожидает в режиме наблюдателя, пока товарищ не ударит его знамя; счётчик допускает три возрождения. Если активных бойцов не осталось, матч заканчивается поражением. При отключении поверженный игрок сразу покидает матч. Зрителям не выдаются награды волн; при выходе из режима наблюдения устанавливается режим выживания.
Следующая волна начинается, когда все отслеживаемые сущности текущей волны умерли или стали недействительными: не каждое исчезновение должно быть убийством игроком. Последняя волна также выдаёт награды и завершает матч. Сброс удаляет оставшихся мобов арены и знамёна, выводит участников и освобождает арену. Подготовка задаётся в секундах, но сброс после матча сейчас использует то же число в тиках.
arenaContainer
Используйте arenaContainer: another_arena.yml, чтобы несколько описаний матчей делили одну физическую арену. Указанная включённая арена предоставляет углы, старт, выход, лобби, точки спавна и цилиндрическую форму. Текущий файл сохраняет собственные волны, награды, сообщения, право и ограничения игроков. Область может занимать только один матч, уже с момента допуска игроков или зрителей до боя. Она освобождается при сбросе или отмене пустой регистрации. Цепочки ссылок допустимы, отсутствующие ссылки и циклы отклоняются. Для собственной геометрии опустите ключ.
isEnabled
Задаёт, включена ли арена.
| Ключ | Значения | По умолчанию |
|---|---|---|
isEnabled | Логическое значение | true |
Пример
isEnabled: true
arenaName
Задаёт название арены.
| Ключ | Значения | По умолчанию |
|---|---|---|
arenaName | Строка | нет, задайте его |
Всегда задавайте arenaName явно. Без этого ключа у арены нет отображаемого имени.
Пример
arenaName: Bedrock Arena

corner1
Задаёт первый угол арены.
| Ключ | Значения | По умолчанию |
|---|---|---|
corner1 | Координаты | нет |
Пример
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). Короткая форма world_name,x,y,z также принимается, при этом yaw и pitch по умолчанию равны 0.
Отложенные арены повторно инициализируются при загрузке мира из corner1. Если отдельный мир выхода загрузится позже, его событие не запустит повторную попытку; выполните /em reload, когда все указанные миры будут загружены.
На этом изображении corner1 представлен зелёной шерстью, а corner2 представлен красной шерстью. Эта конфигурация обозначает область между ними как арену, представленную жёлтой шерстью.

corner2
Противоположный угол арены. Учитывайте всю высоту, а не только X/Z: одинаковый Y у двух углов даёт область нулевой высоты. Оба угла и startLocation должны находиться в одном мире.
| Ключ | Значения | По умолчанию |
|---|---|---|
corner2 | Координаты | нет |
Пример
corner2: my_arena_world,-10,80,10,0,0
На этом изображении corner1 представлен зелёной шерстью, а corner2 представлен красной шерстью. Эта конфигурация обозначает область между ними как арену, представленную жёлтой шерстью.

startLocation
Точка начала боя и входа зрителей. Без teleportLocation игроки также ожидают здесь. Разместите её на безопасной поверхности внутри области.
| Ключ | Значения | По умолчанию |
|---|---|---|
startLocation | Координаты | нет |
Пример
startLocation: my_arena_world,1,50,1,0,0
exitLocation
Место обычного выхода, вывода при очистке и удаления посторонних. Оно должно быть вне арены. Игрок, выбывший от смертельного урона, может вместо этого вернуться к сохранённой позиции перед входом.
| Ключ | Значения | По умолчанию |
|---|---|---|
exitLocation | Координаты | нет |
Пример
exitLocation: my_world,1,50,1,0,0
waveCount
Число волн. Используйте положительное целое и хотя бы одну действительную запись босса для каждой волны от 1 до этого числа.
| Ключ | Значения | По умолчанию |
|---|---|---|
waveCount | Целое число | 0 |
Пример
waveCount: 10
delayBetweenWaves
Подготовка перед каждой волной, включая первую, в секундах. Используйте неотрицательное целое число.
| Ключ | Значения | По умолчанию |
|---|---|---|
delayBetweenWaves | Целое число | 0 |
Пример
delayBetweenWaves: 5
rawIntermissionWaves
Удваивает подготовку перед указанными волнами до delayBetweenWaves * 2.
Полезно, если вы хотите дать игрокам короткую передышку между определёнными волнами.
| Ключ | Значения | По умолчанию |
|---|---|---|
rawIntermissionWaves | Список целых чисел | нет |
Пример
rawIntermissionWaves:
- '5'
- '10'
- '15'
spawnPoints
Именованные точки спавна боссов в том же мире, что и startLocation. Имена в bossList должны совпадать точно. Повторное имя заменяет прежнее положение.
| Ключ | Значения | По умолчанию |
|---|---|---|
spawnPoints | Список строк [1] | нет |
Пример
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 использует имя файла босса с .yml, MythicMobs — внутреннее имя моба. Для MythicMobs нужны загруженные плагин и соответствующий моб.
| Ключ | Значения | По умолчанию |
|---|---|---|
bossList | Список строк [2] | нет |
Пример
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-го уровня.
Допустимые параметры: wave, spawnPoint, boss, mythicmob и level.
level передаётся только записям MythicMobs. Боссы EliteMobs его игнорируют — задавайте их уровень в их собственном конфигурационном файле.
rawArenaReward
Каждая запись награды разыгрывается независимо для каждого активного бойца в конце указанной волны, до следующей подготовки, включая последнюю волну. Зрители и вышедшие игроки исключены. Если в волне был босс EliteMobs с положительным уровнем, игрок не получает награду, когда абсолютная разница между его боевым уровнем на основе навыков и самым высоким уровнем такого босса превышает lootLevelDifferenceLockout в ItemSettings.yml. Уровни MythicMobs в сравнении не участвуют. Минимальной доли нанесённого урона не требуется.
Используйте строковый формат ниже: wave выбирает завершённую волну, itemlevel задаёт запрошенный уровень предмета, по умолчанию 1. Собственные правила фиксированного или ограниченного масштабирования предмета сохраняются. Предметы выдаются в инвентарь, излишек падает рядом; валюта поступает на баланс. Условия шанса, количества и прав остаются в силе, но фильтры подземелий difficultyID не ограничивают обычную арену. Боссы EliteMobs арены используют нормализованный бой, если их файл явно не задаёт scaledCombat: true; обычная элитная, случайная и ванильная добыча отключена.
| Ключ | Значения | По умолчанию |
|---|---|---|
rawArenaReward | Универсальная таблица добычи EliteMobs | нет |
Пример
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
- itemlevel=5:filename=summon_merchant_scroll.yml:wave=5
- filename=magmaguys_toothpick.yml:itemlevel=10:wave=10:chance=0.95
minimumPlayerCount
Задаёт минимальное количество игроков, которое должно быть на арене перед началом.
| Ключ | Значения | По умолчанию |
|---|---|---|
minimumPlayerCount | Целое число | 1 |
Пример
minimumPlayerCount: 1
maximumPlayerCount
Задаёт максимальное количество игроков, которое может быть на арене. Игрокам, пытающимся присоединиться к заполненной арене, сообщается, что арена полна, и их не пускают.
Эту настройку нужно задать. По умолчанию она равна 0, что отклоняет любую попытку присоединиться и делает арену недоступной для входа.
| Ключ | Значения | По умолчанию |
|---|---|---|
maximumPlayerCount | Целое число | 0 |
Пример
maximumPlayerCount: 100
arenaMessages
Сообщения игрокам и зрителям в начале подготовки указанной волны, до задержки. Более поздняя запись для той же волны заменяет предыдущую.
| Ключ | Значения | По умолчанию |
|---|---|---|
arenaMessages | Особое [3] | нет |
Пример
arenaMessages:
- 'wave=1:message=&a[Arena Announcer] &fTime for wave one!'
- 'wave=2:message=&a[Arena Announcer] &fWow, wave two already.'

cylindricalArena
Использует цилиндр вместо прямоугольного параллелепипеда. Центр X/Z находится между углами, основание — на меньшем Y, высота равна разнице Y, радиус — половине разницы X. Размах Z не определяет радиус. Внешняя окружность и верхний Y исключены; игровые позиции держите внутри. Прямоугольная область включает оба угла.
| Ключ | Значения | По умолчанию |
|---|---|---|
cylindricalArena | Логическое значение | false |
Пример
cylindricalArena: false
permission
Право для входа бойцом. Для свободного входа опустите ключ. Кнопка зрителя сейчас не проверяет это право, поэтому оно не ограничивает зрителей.
| Ключ | Значения | По умолчанию |
|---|---|---|
permission | Строка | нет |
Пример
permission: mypermission.arena
teleportLocation
Необязательное место ожидания после успешного входа игроком через меню. Само взаимодействие с NPC не телепортирует. Лобби должно быть внутри области, иначе контроль границ вернёт ожидающих игроков. Без этой настройки они ждут в startLocation. Другая группа не может таким способом ждать внутри занятой общей арены.
| Ключ | Значения | По умолчанию |
|---|---|---|
teleportLocation | Координаты | нет |
Пример
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.
Можно добавить два необязательных ключа:
| Ключ | Описание | Значения | По умолчанию |
|---|---|---|---|
level | Меняет уровень только записи с mythicmob=true. EliteMobs использует собственную конфигурацию. | Целое число | При пропуске MythicMobs получает -1; задайте положительный уровень |
mythicmob | Считает boss= именем моба MythicMobs, а не файлом EliteMobs. Требует MythicMobs. | true / false | false |
Пример: wave=3:spawnPoint=center:boss=my_mythic_boss:mythicmob=true:level=40
Записи делятся по :, затем по =. Неизвестные ключи игнорируются, каждому известному нужно значение. Не добавляйте пробелы вокруг ключей и разделителей; имена точек и идентификаторы боссов должны совпадать со ссылками.
Особое [3]
Сообщения арены: используют следующий формат: wave=X:message=ваше сообщение здесь.
Разделение по : запрещает двоеточия в самом сообщении. Допустимы волны от 1. Если нужны кавычки YAML, заключайте в них всю запись; кавычки только после 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 — начало боя. В примере нет отдельного лобби, поэтому игроки также ждут здесь после входа. exitLocation — обычный выход в my_minecraft_world; при смертельном поражении может использоваться сохранённая позиция перед входом. Замените координаты безопасными точками в своих загруженных мирах.
waveCount просто задаёт количество волн, которое продлится арена. В этом случае это 5 волн. Если игрокам удастся пережить все 5 волн, они смогли пережить арену. delayBetweenWaves задаёт количество секунд до начала следующей волны. В нашем примере у игроков будет 5 секунд на подготовку до начала следующей волны.
spawnPoints задаёт места, где могут спавниться наши мобы. Мы можем создать сколько угодно точек и назвать их как угодно. В примере мы решили создать 5 точек спавна и назвать их north, south, center, east и west.
bossList — это место, где мы определяем, какой босс должен заспавниться на какой волне и в каком месте. В примере на волне 1 заспавнятся 3 босса из точек спавна, которые мы назвали north, center и south. Все три настроены на использование одного и того же файла босса, но мы могли бы использовать разные файлы боссов для каждого.
rawArenaReward выдаёт подходящим активным бойцам 5 элитных монет после волны 1. Волна 5 даёт 25 монет и отдельный шанс 50% на настроенную награду MagmaGuy's Toothpick 5-го уровня. Ограничение боевого уровня и описанные выше условия добычи сохраняются.
minimumPlayerCount задаёт минимальное необходимое количество игроков для старта арены. В нашем примере эта настройка равна 1, поэтому для старта арены нужен только один игрок. maximumPlayerCount задаёт максимальное количество игроков, которые могут участвовать в арене. В нашем примере эта настройка равна 3, то есть как только к арене присоединились 3 игрока, любой следующий игрок, пытающийся присоединиться, отклоняется сообщением «arena is full».
arenaMessages позволяет добавить немного атмосферного текста, который будет отображаться в чате в начале заданных волн. В нашем примере мы решили показывать короткое сообщение в начале каждой волны. Мы также решили включить имя NPC в начало каждого сообщения, создавая иллюзию, что текст — это произнесённая реплика ведущего (мастера арены).
cylindricalArena — эта настройка позволяет переключить, должна ли заданная нами через corner1 и corner2 область быть цилиндрической формы вместо параллелепипеда. В нашем примере мы установили её в false, то есть пример арены имеет форму параллелепипеда.
permission требует arena.mypermission для входа игроком. Для старта также нужно elitemobs.instance.start; вход зрителем не проверяет право арены.
Создание NPC арены
Сохраните NPC в уникальном .yml в plugins/EliteMobs/npcs/ с interactionType: ARENA_MASTER и arena: your_arena.yml. Перезагрузите настройки после правок, затем разместите NPC командой /em place npc <npcfilename.yml> с правом elitemobs.place.npc либо настройте spawnLocations. Справочник NPC описывает размещение, удаление, scripts, patrol, classRoot и transportRoutes.
isEnabled
Задаёт, включён ли NPC.
| Ключ | Значения | По умолчанию |
|---|---|---|
isEnabled | Логическое значение | true |
Пример
isEnabled: true
name
Задаёт отображаемое имя NPC.
| Ключ | Значения | По умолчанию |
|---|---|---|
name | Строка | пусто |
Пример
name: "&aGladius"

role
Задаёт отображение роли под именем NPC.
| Ключ | Значения | По умолчанию |
|---|---|---|
role | Строка | пусто |
Пример
role: "&c<Arena Master>"

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

spawnLocation
Устаревшая одиночная позиция, используемая только при пустом или отсутствующем spawnLocations. Для новых файлов предпочтителен список. При переходе удалите старый ключ, иначе пустой список снова активирует старую позицию.
| Ключ | Значения | По умолчанию |
|---|---|---|
spawnLocation | Координаты | нет |
Пример
spawnLocation: my_world,1.5,50,1.5,-108,0
spawnLocations
Сохранённые позиции NPC. Непустой список заменяет spawnLocation, а не дополняет его. Миры должны быть загружены; в каждой точке создаётся отдельный NPC с этой конфигурацией.
| Ключ | Значения | По умолчанию |
|---|---|---|
spawnLocations | Список строк | нет |
Пример
spawnLocations:
- my_world,1.5,50,1.5,-108,0
- my_world,100.5,50,50.5,0,0
greetings
Случайные приветствия при обнаруженном входе в радиус. Проверка близости идёт каждые 100 тиков, поэтому короткий визит может быть пропущен. Трёхсекундная пауза речи у каждого NPC общая для игроков: приветствие другому игроку может подавить ваше.
| Ключ | Значения | По умолчанию |
|---|---|---|
greetings | Список строк | нет |
Пример
greetings:
- Welcome to the Arena!
- The Arena welcomes you!

dialog
Для ARENA_MASTER это случайные реплики при последующих проверках близости, пока игрок рядом. Щелчок открывает меню арены. Только CHAT использует список как встроенное действие щелчка.
| Ключ | Значения | По умолчанию |
|---|---|---|
dialog | Список строк | нет |
Пример
dialog:
- Ready for a challenge?
- Face the Arena?

farewell
Случайное прощание при закрытии любого инвентаря с непустым заголовком в области по 5 блоков вдоль каждой оси от NPC, с учётом паузы речи. Это не обязательно его меню; простое удаление от NPC прощание не вызывает.
| Ключ | Значения | По умолчанию |
|---|---|---|
farewell | Список строк | нет |
Пример
farewell:
- Bye.
- Return with your shield, or on it!

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

canTalk
Включает обычные пузыри приветствия, диалога и прощания. Отключение не убирает меню арены, диалоги заданий, скрипты или маркеры заданий.
| Ключ | Значения | По умолчанию |
|---|---|---|
canTalk | Логическое значение | true |
Пример
canTalk: true
activationRadius
Трёхмерный радиус близости в блоках. Ноль и отрицательные значения отключают сканирование; у маркеров заданий собственная дальность. Движение и редактирование патруля подавляют обычную речь по близости на время своей активности.
| Ключ | Значения | По умолчанию |
|---|---|---|
activationRadius | Дробное число | 3.0 |
Пример
activationRadius: 3.0
timeout
Время существования в минутах. Ноль и отрицательные значения отключают таймер. Он удаляет живого NPC, но сохраняет позицию, поэтому NPC может вернуться при перезагрузке или восстановлении чанка. Для постоянного удаления позиции используйте процедуру удаления NPC.
| Ключ | Значения | По умолчанию |
|---|---|---|
timeout | Дробное число | 0 |
Пример
timeout: 60
interactionType
Задаёт тип взаимодействия, которое будет выполнять NPC.
| Ключ | Значения | По умолчанию |
|---|---|---|
interactionType | Особое [4] | NONE |
Пример
interactionType: ARENA_MASTER
disguise
Задаёт кастомную маскировку NPC.
| Ключ | Значения | По умолчанию |
|---|---|---|
disguise | Маскировка | нет |
Пример
disguise: ZOMBIE

customDisguiseData
Данные именованной маскировки LibsDisguises. Используйте вместе с disguise: custom:your_disguise_name; одно это поле маскировку не включает.
| Ключ | Значения | По умолчанию |
|---|---|---|
customDisguiseData | Строка | нет |
Пример
disguise: custom:arena_guide
customDisguiseData: player MHF_Pig
customModel
Загруженная пользовательская модель. Доступный FreeMinecraftModels имеет приоритет; если модели в нём нет, повторной попытки через ModelEngine не будет. Рабочая модель визуально приоритетнее маскировки. Игрокам также нужны соответствующие ресурсы пакета.
| Ключ | Значения | По умолчанию |
|---|---|---|
customModel | Строка | нет |
Пример
customModel: my_model
arena
Определение арены, меню которой открывает ARENA_MASTER, с расширением .yml. Арена должна быть включена и успешно инициализирована. Открытие меню само по себе не регистрирует и не телепортирует игрока.
| Ключ | Значения | По умолчанию |
|---|---|---|
arena | Имя файла | нет |
Пример
arena: my_arena.yml
command
Команда от имени взаимодействующего игрока с его правами. Требует interactionType: COMMAND. Начальный слеш опускается; $player не подставляется.
| Ключ | Значения | По умолчанию |
|---|---|---|
command | Строка | нет |
Пример
command: say Hello
questFileName
Задаёт имена файлов заданий для NPC. Требует, чтобы interactionType был установлен в CUSTOM_QUEST_GIVER.
| Ключ | Значения | По умолчанию |
|---|---|---|
questFileName | Список строк | нет |
Пример
questFileName:
- my_quest_1.yml
- my_quest_2.yml
noPreviousLocationMessage
Сообщение для TELEPORT_BACK, когда не сохранена точка возврата EliteMobs. Она записывается телепортацией EliteMobs из мира вне EliteMobs, а не просто при перемещении или смерти игрока.
| Ключ | Значения | По умолчанию |
|---|---|---|
noPreviousLocationMessage | Строка | пусто |
Пример
noPreviousLocationMessage: '&cCouldn''t find a previous location!'
instanced
Помечает NPC как шаблон для инстансового подземелья вместо появления в исходном мире. Обычные NPC арены используют false; ключ не превращает физическую арену в копируемое подземелье.
| Ключ | Значения | По умолчанию |
|---|---|---|
instanced | Логическое значение | false |
Пример
instanced: false
scale
Масштаб лежащего в основе жителя. Маскировка или модель может иметь собственный визуальный масштаб; одинаковый видимый размер у всех поставщиков не гарантирован.
| Ключ | Значения | По умолчанию |
|---|---|---|
scale | Дробное число | 1.0 |
Пример
scale: 1.0
syncMovement
Синхронизирует движение модели с NPC. Действительный патруль принудительно включает синхронизацию даже при false, в том числе когда патруль приостановлен.
| Ключ | Значения | По умолчанию |
|---|---|---|
syncMovement | Логическое значение | true |
Пример
syncMovement: true
Пример конфигурации арены
isEnabled: true
name: Example NPC
role: <Arena Master>
profession: ARMORER
spawnLocations:
- 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:
| Тип | Описание |
|---|---|
GUILD_GREETER | Открывает выбор бонусов навыков; требует elitemobs.skill.npc. |
CLASS_TRAINER | Открывает обучение classRoot при включённом [Alpha] Advanced Combat System; требует elitemobs.command. |
TRANSPORT | Открывает направления из transportRoutes; см. Транспорт. |
CHAT | ПКМ выбирает случайную строку из dialog. |
CUSTOM_SHOP | Открывает меню кастомного магазина |
PROCEDURALLY_GENERATED_SHOP | Открывает процедурно сгенерированный магазин |
BAR | Показывает сообщение о том, что функция ещё не доступна. |
ARENA | Ничего не делает. Используйте ARENA_MASTER вместо этого. |
QUEST_GIVER | Открывает меню процедурно сгенерированных заданий |
CUSTOM_QUEST_GIVER | Открывает меню заданий для конкретного задания, заданного в questFileName |
NONE | Нет встроенного действия; скрипты, близость и диалоги заданий всё ещё работают. |
SELL | Открывает меню продажи |
TELEPORT_BACK | Использует сохранённую точку возврата EliteMobs; требует elitemobs.back.npc. |
SCRAPPER | Открывает меню утилизации |
SMELTER | УСТАРЕЛО — функция удалена, не используйте |
REPAIRMAN | Открывает меню ремонта |
ENHANCER | УСТАРЕЛО — функция удалена, не используйте |
REFINER | УСТАРЕЛО — функция удалена, не используйте |
UNBINDER | Открывает меню развязывания |
ARENA_MASTER | Открывает меню арены для арены, заданной в arena |
COMMAND | Выполняет команду, заданную в command |
ENCHANTER | Открывает меню зачарования |
SCROLL_APPLIER | Открывает меню применения свитков |
ARROW_SHOP | Открывает меню магазина стрел |
GAMBLING_BLACKJACK | Открывает азартную игру в блэкджек |
GAMBLING_COINFLIP | Открывает азартную игру в подбрасывание монеты |
GAMBLING_SLOTS | Открывает азартную игру в слоты |
GAMBLING_HIGHERLOWER | Открывает азартную игру «больше/меньше» |
У других типов свои права и настройки. Перед использованием смотрите полный справочник взаимодействий NPC; для входа на арену нужен ARENA_MASTER.
