Система групп
Группы EliteMobs позволяют до пяти игроков онлайн одновременно входить в подземелья, совместно получать прогресс ближайших целей на убийство, разыгрывать элитную экипировку и видеть состояние друг друга. Группа существует только в текущем сеансе: состав не сохраняется, а игрок немедленно удаляется при выходе из группы или с сервера.
Система по умолчанию включена в Party.yml. Все команды группы используют право elitemobs.party (по умолчанию true).
Создание группы и вступление
| Команда | Описание |
|---|---|
/em party create | Создать группу и стать её лидером |
/em party invite <player> | Пригласить игрока онлайн; приглашать может любой участник |
/em party accept | Принять последнее неистёкшее приглашение |
/em party leave | Покинуть текущую группу |
/em party menu | Открыть управление группой на основе инвентаря |
/em party hideinteractionhint | Навсегда скрыть для вас подсказки группы по правому клику |
В группе есть один лидер и не более четырёх дополнительных участников (MAX_MEMBERS равен 5). Если лидер выходит, руководство переходит следующему участнику. По умолчанию приглашения истекают через 60 секунд. После выхода последнего участника группа распускается.
Подсказки-приглашения по правому клику
Правый клик по другому игроку показывает однострочную подсказку в чате с кликабельными кнопками [INVITE] и [Don't show again]. Подсказка пропускается, если цель — NPC, у неё нет права elitemobs.party, у неё уже есть ожидающее приглашение, она уже в группе или ваша группа заполнена. У каждого игрока есть личная перезарядка playerInteractionHintCooldownSeconds (по умолчанию 300), а /em party hideinteractionhint отключает подсказку для этого игрока навсегда (сохраняется в постоянных данных игрока).
Меню группы в инвентаре
Игроки Bedrock, серверы с включённым onlyUseBedrockMenus и игроки, отключившие книжные меню, получают вариант управления группой в инвентаре вместо кнопок в чате. То же меню обрабатывает приглашения, выбор игрока для приглашения (45 голов на страницу), подсказку по правому клику и проверку готовности к подземелью. /em party menu открывает его для кого угодно; если у вас есть ожидающая проверка готовности или приглашение, сначала откроется это окно.
Совместный вход в подземелья
Инстансовые и динамические подземелья
Когда любой участник выбирает инстансовое подземелье, EliteMobs фиксирует полный текущий состав и запускает интерактивную проверку готовности. Инициатор автоматически готов и получает кнопку CANCEL на случай, если он выбрал не то подземелье. Все остальные участники получают кнопки READY и DECLINE с токеном, привязанным именно к этому запуску.
Сообщение показывает подземелье и сложность; для динамического подземелья добавляется и выбранный уровень. По умолчанию проверка готовности длится 30 секунд. У группы может быть только одна проверка готовности или процедура входа одновременно.
До того как кто-либо переместится, EliteMobs проверяет всю группу:
- каждый участник онлайн и по-прежнему состоит в той же группе
- в подземелье достаточно свободных мест для игроков
- у каждого участника есть право пакета, если оно настроено
- никто уже не находится в другом инстансе
- инстанс и мир можно успешно подготовить
- отменяемая предварительная проверка MagmaCore
MatchJoinEventпринимает каждого участника
Отказ, истечение времени, изменение состава или неудачная проверка отменяет вход всей группы. EliteMobs намеренно не впускает лишь часть группы. Если клонирование инстансового мира уже поставлено в очередь, группа сохраняет резерв запуска до тех пор, пока эта операция не завершится успехом, ошибкой или отменой.
Схоже названное событие EliteMobs PlayerJoinDungeonEvent не относится к этой предварительной проверке. Это неотменяемое уведомление, которое вызывается только после допуска игрока.
Команды готовности и отказа, показанные в чате, — /em party ready <token> и /em party decline <token>. Сгенерированный токен не позволяет старой кнопке подтвердить другой запуск.
Подземелья испытаний зачарования предметов не переносят группу, поскольку испытание временно управляет предметом инициатора.
Подземелья открытого мира
После выбора подземелья открытого мира и проверки полного состава и права пакета для каждого доступного участника группы запускается обычный отсчёт безопасной телепортации. Каждый участник всё ещё может отменить собственный отсчёт движением, поэтому телепортация в открытый мир не гарантирует прибытие по принципу «всё или ничего».
Общий прогресс заданий
Когда участник группы получает зачёт убийства, ближайшие участники получают прогресс любой совпадающей активной цели на убийство, включая цели, привязанные к конкретному кастомному боссу. Остальные участники должны быть онлайн, в том же мире и в пределах sharedProgressRange от убийства (по умолчанию 128 блоков).
Задания остаются личными. Группа не принимает и не сдаёт задания, не получает награду другого участника и не делит предметы сбора, диалоги NPC или участие в аренах. Игрок, находящийся в несвязанном активном инстансе, также исключается из внешнего общего прогресса.
Групповая добыча
Когда рядом находятся хотя бы два участника группы, обычная элитная экипировка, специальное элитное снаряжение и подходящие кастомные предметы попадают в общее голосование Нужно / Не откажусь. Ближайшим участникам не обязательно наносить последний удар, чтобы участвовать. Монеты и элитные свитки остаются личными.
Каждый предмет запоминает участников, имевших на него право в момент добавления. Блокировки боссов подземелья применяются до включения игрока в голосование. Обычное окно голосования закрывается через 60 секунд без новой добычи; новая групповая добыча обновляет это окно неактивности, но lootVoteMaximumLifetimeSeconds ограничивает одно групповое голосование 120 секундами по умолчанию.
Боковая панель группы
Пока игрок состоит в группе, объединённая боковая панель показывает:
- лидера и участников в стабильном порядке отображения
- индикаторы здоровья из пяти сегментов и отметку падения
- оставшиеся жизни участников, находящихся в том же инстансовом подземелье
- отслеживаемое задание зрителя, когда позволяет место
- чередующиеся подсказки
/em party invite <player>и/em party leave
sidebarEnabled: false отключает только эту объединённую панель; группы продолжают работать, а вместо неё используется обычное табло заданий EliteMobs. Цвета здоровья, символы, форматы строк и интервал смены подсказок настраиваются в Party.yml.
Основные настройки
| Ключ | По умолчанию | Назначение |
|---|---|---|
enabled | true | Включает группы сеанса |
sharedProgressRange | 128.0 | Радиус в том же мире для общего зачёта убийств и права на групповую добычу |
inviteTimeoutSeconds | 60 | Срок жизни приглашения (минимум 5) |
dungeonReadyCheckTimeoutSeconds | 30 | Срок жизни проверки готовности (минимум 5) |
lootVoteMaximumLifetimeSeconds | 120 | Жёсткий срок жизни группового голосования (минимум 60) |
sidebarEnabled | true | Включает объединённую панель группы/заданий |
sidebarRotationSeconds | 10 | Секунды между подсказками о приглашении и выходе (минимум 3) |
playerInteractionHintsEnabled | true | Показывает подсказку группы при правом клике по другому игроку |
playerInteractionHintCooldownSeconds | 300 | Минимальное время до следующей подсказки по правому клику для того же игрока (минимум 1) |
Актуальные ключи сообщений и боковой панели см. в Настройках конфигурации EliteMobs.