Мирное знамя
Мирное знамя — это создаваемый предмет, который игроки могут разместить для создания зоны, где элитные мобы подавляются. При размещении Мирное знамя предотвращает появление элитных мобов в настраиваемом радиусе чанков вокруг него и при необходимости может также подавлять события EliteMobs.
Как это работает
- Крафт: Игроки создают Мирное знамя по стандартному рецепту (или по настраиваемому рецепту, сконфигурированному администратором). Стандартный рецепт требует кости, окружающие знамя любого цвета.
- Размещение: Когда игрок размещает Мирное знамя, вокруг него немедленно создаётся защищённая зона. Стандартный радиус защиты составляет 4 чанка в каждом направлении от чанка со знаменем.
- Удаление: Разрушение блока Мирного знамени убирает защитную зону и снова позволяет элитным мобам появляться в этой области.
- Сохранение: Размещённые Мирные знамёна сохраняются на диск и сохраняются между перезапусками сервера. Когда чанки, содержащие Мирное знамя, загружаются, плагин проверяет, что блок знамени всё ещё существует, и удаляет защиту, если он был уничтожен другими способами.
Стандартный рецепт крафта
BBB
BWB
BBB
- B = Кость
- W = Любое знамя (принимаются все 16 цветов знамён)
Рецепт производит синее знамя с особым узором, отображаемым именем и описанием, идентифицирующим его как Мирное знамя.
Конфигурация
Все настройки Мирного знамени находятся в PeaceBanner.yml. Полный справочник см. на странице настройки конфигурации.
| Настройка | По умолчанию | Описание |
|---|---|---|
enabled | true | Включена ли функция Мирного знамени |
craftable | true | Могут ли игроки создавать Мирные знамёна |
chunkRadius | 4 | Радиус (в чанках) вокруг размещённого знамени, где элитные мобы подавляются |
suppressEvents | true | Подавляют ли размещённые знамёна также события EliteMobs (события действий и таймерные события) |
recipeShape | BBB / BWB / BBB | Раскладка сетки крафта |
recipeIngredients | B: BONE, W: ANY_BANNER | Сопоставление символов рецепта с материалами |
itemName | &aPeace Banner | Отображаемое имя предмета Мирного знамени |
itemLore | (см. конфиг) | Строки описания, отображаемые на предмете |
placedMessage | (см. конфиг) | Сообщение, отправляемое при размещении знамени |
removedMessage | (см. конфиг) | Сообщение, отправляемое при разрушении знамени |
Команды администратора
| Команда | Разрешение | Описание |
|---|---|---|
/em peacebanner give <player> | elitemobs.peacebanner.admin | Выдаёт предмет Мирного знамени указанному игроку |
/em peacebanner list | elitemobs.peacebanner.admin | Показывает список всех размещённых Мирных знамён с их координатами и радиусом чанков |
Перекрывающиеся знамёна
Можно размещать несколько Мирных знамён с перекрывающимися зонами защиты. Система использует подсчёт ссылок, поэтому чанк остаётся защищённым, пока хотя бы одно знамя покрывает его. Удаление одного знамени снимает защиту только с тех чанков, которые не покрываются другим знаменем.
Технические детали
- Мирные знамёна идентифицируются по тегу постоянного контейнера данных (PDC), а не по внешнему виду. Обычные знамёна не затрагиваются.
- Данные знамён хранятся в
plugins/EliteMobs/data/peace-banners.yml. - Когда чанк загружается, плагин проверяет, существует ли блок знамени в сохранённом местоположении. Если блок больше не является знаменем (например, уничтожен взрывом или world edit), защита автоматически снимается.