Перейти к основному содержимому

Создание червоточин

webapp_banner.jpg

Что такое червоточины?

Червоточины — это разновидность высокоэффективной системы телепортации от портала к порталу. Порталы отмечаются визуальными эффектами.

Механика червоточин

Червоточины могут делать следующее:

  • Переносить через один портал к порталу назначения и от портала назначения обратно к первому.
  • Воспроизводить звук, когда игроки проходят через них
  • Временно ослеплять игроков при прохождении для плавного перехода
  • Блокировать игрокам телепортацию, пока не пройдёт как минимум 5 секунд и они не выйдут за пределы радиуса активации портала назначения, чтобы избежать попадания в петлю телепортации
  • Автоматически отключать режим полёта при телепортации игроков
  • Воспроизводить сложные визуальные эффекты
  • Требовать прав (permissions) для использования червоточины
  • Требовать использования валюты для использования червоточины
  • Уведомлять игроков и администраторов, когда портал назначения недоступен

Игроки проверяются на близость к червоточине только каждые 5 тиков (четверть секунды) и только пока они находятся в пределах 30 блоков от неё.

Создание червоточины

Червоточины добавляются как конфигурационные файлы в папку wormholes. Можно создавать подпапки, и это рекомендуется делать, если вы добавляете червоточины для конкретных подземелий, в формате ` ~/plugins/EliteMobs/wormholes/dungeonName/dungeonName_identifier.yml`.

Размещение червоточины в игре

Вместо того чтобы прописывать координаты вручную, вы можете встать там, где хотите разместить портал, и выполнить:

/em place wormhole <filename> <1/2>

1 задаёт location1, 2 задаёт location2. Команда требует право elitemobs.place.admin, должна запускаться игроком и записывает новые координаты прямо в конфигурационный файл червоточины. Портал закрепляется на один блок (умноженный на sizeMultiplier) выше того места, где вы стояли, поэтому прибывающие через него игроки опускаются на тот блок, на котором стояли вы.

Направление прибытия

Yaw и Pitch (два последних числа в координатах) в location1 и location2 задают направление, в котором игрок смотрит при прибытии на эту сторону червоточины. Рассмотрим этот пример:

location1: my_world,20,10,20,180,20

Поскольку Yaw установлен в 180, игрок прибывает лицом на север. Pitch следует соглашению Minecraft, где положительные значения смотрят вниз, а отрицательные — вверх, поэтому Pitch равный 20 означает, что игрок прибывает, глядя слегка вниз.

Учтите, что червоточина никуда игроков не выталкивает; местоположение прибытия — это просто координаты другой стороны, включая её yaw и pitch.

Конфигурация червоточины

Ниже приведён пример корректной конфигурации червоточины:

isEnabled: true
location1: em_primis,1288.5,19,452.5,135,-23
location2: em_primis,1288.5,-39,451.5,180,-1

isEnabled

Устанавливает, включена ли червоточина.

KeyValuesDefault
isEnabledBooleantrue
Пример
isEnabled: true

location1

Указывает первое местоположение червоточины.

KeyValuesDefault
location1Stringnone
Пример
location1: world_one,50,100,50,0,0

location2

Указывает второе местоположение червоточины.

KeyValuesDefault
location2Stringnone
Пример
location2: world_two,100,33,100,0,0

location1Text

Устанавливает отображаемый текст первого местоположения.

KeyValuesDefault
location1TextStringnone
Пример
location1Text: Awesome Wormhole In World One

create_wormhole_location1text.jpg


location2Text

Устанавливает отображаемый текст второго местоположения.

KeyValuesDefault
location2TextStringnone
Пример
location2Text: Awesome Wormhole In World Two

create_wormhole_location2text.jpg


permission

Устанавливает право (permission), необходимое для использования червоточины.

KeyValuesDefault
permissionStringnone
Пример
permission: elitemobs.mypermission

coinCost

Устанавливает стоимость использования червоточины в элитных монетах.

KeyValuesDefault
coinCostDouble0
Пример
coinCost: 2.5

style

Устанавливает визуальную форму червоточины.

Форма отрисовывается как вращающийся каркас из block display, поверх которого каждые 5 тиков добавляется лёгкая присыпка из частиц. Установка style в NONE полностью пропускает форму.

Эффекты, из которых состоят эти формы, могут вызывать лаги на некоторых клиентах. Чтобы отключить их, зайдите в Wormholes.yml и установите noParticlesMode в true.

KeyValuesDefault
styleNONE / CRYSTAL / ICOSAHEDRON / CUBECUBE
Пример
style: CRYSTAL

create_wormhole_style.jpg


particleColor

Устанавливает цвет частиц, используемых в параметре style. Блоки каркаса не используют точный цвет; EliteMobs выбирает блок бетона, чей цвет наиболее близок к заданному вами.

Значение по умолчанию 0 — это чёрный, поэтому эту настройку стоит задавать для каждой создаваемой вами червоточины.

KeyValuesDefault
particleColor0x с последующим hex-кодом0
Пример
particleColor: 0x9f5cdd

create_wormhole_particlecolor.jpg


blindPlayer

Устанавливает, ослепляет ли портал игрока для более плавной телепортации.

KeyValuesDefault
blindPlayerBooleanfalse
Пример
blindPlayer: true

create_wormhole_blind.jpg


sizeMultiplier

Умножает размер портала и формы, заданной параметром style. sizeMultiplier также влияет на радиус активации — игроки должны находиться в пределах 1.5 × sizeMultiplier блоков от червоточины, чтобы запустить телепортацию.

KeyValuesDefault
sizeMultiplierMultiplier1
Пример
sizeMultiplier: 3

Помните, что после применения множителя размера вам придётся скорректировать координаты Y червоточины.

create_wormhole_size.jpg


customModel1

Устанавливает пользовательскую модель для отображения червоточины в первом местоположении. Использует строку-идентификатор модели. Это переопределяет форму, заданную в style, для местоположения 1.

Пользовательские модели на червоточинах работают только с FreeMinecraftModels; модель должна существовать, иначе червоточина откатывается к каркасу из style. Модель чисто декоративная, по ней нельзя кликнуть — телепортация по-прежнему основана на близости.

KeyValuesDefault
customModel1Stringnone
Пример
customModel1: my_custom_wormhole_model

customModel2

Устанавливает пользовательскую модель для отображения червоточины во втором местоположении. Использует строку-идентификатор модели. Это переопределяет форму, заданную в style, для местоположения 2. Действует то же требование FreeMinecraftModels, что и для customModel1.

KeyValuesDefault
customModel2Stringnone
Пример
customModel2: my_custom_wormhole_model

Пример конфигурации червоточины

В этом примере мы создадим простую червоточину, которая переносит нас из одного мира в другой. Не забывайте, что червоточины также могут просто телепортировать игроков в другое место в том же мире.

isEnabled: true #Мы включаем червоточину, установив это значение в true
location1: my_world,1.5,11.0,1.5,108.0,5.0 #здесь червоточина появится в my_world
location2: my_other_world,766.5,29.0,517.5,-136.0,5.0 #здесь червоточина появится в my_other_world
location1Text: "&aGo to My World" #создаёт красивый отображаемый текст над червоточиной location1
location2Text: "&aGo to My Other World" #создаёт красивый отображаемый текст над червоточиной location2
permission: eliteperm.coolplayers #только игроки с этим правом смогут использовать червоточину, как для location1, так и для location2
coinCost: 2 #игрокам нужно будет заплатить 2 элитные монеты, чтобы использовать червоточину
style: CRYSTAL #эта червоточина будет в форме кристалла
particleColor: 0x00ff00 #это установит частицы червоточины зелёного цвета
blindPlayer: true #телепортация через червоточину ослепит игрока на короткое время, чтобы сделать переход менее резким
sizeMultiplier: 1.0 #задаёт, насколько большой должна быть форма червоточины

Проблемы с производительностью

Эффекты червоточин могут вызывать проблемы с производительностью клиента у игроков, использующих Bedrock. Вы можете настроить их производительность в ~plugins\EliteMobs\Wormholes.yml:

  • reducedParticlesMode: true (по умолчанию) — вдвое уменьшает количество точек, отрисовываемых вдоль формы, для лучшей производительности
  • noParticlesMode: false (по умолчанию) — установка значения true полностью отключает форму и частицы червоточины

Пока включён любой из этих двух параметров, игрокам Bedrock, подключённым через Geyser/Floodgate, дополнительно показывается простая сущность-маркер вместо формы, масштабированная по sizeMultiplier и окрашенная в particleColor. Игроки Java её никогда не видят.

Примечание: червоточины отображаются только для игроков в пределах 30 блоков и только пока хотя бы у одного из этих игроков есть прямая видимость портала.