Создание червоточин
Что такое червоточины?
Червоточины — это разновидность высокоэффективной системы телепортации от портала к порталу. Порталы отмечаются визуальными эффектами.
Механика червоточин
Червоточины могут делать следующее:
- Переносить через один портал к порталу назначения и от портала назначения обратно к первому.
- Воспроизводить звук, когда игроки проходят через них
- Временно ослеплять игроков при прохождении для плавного перехода
- Блокировать игрокам телепортацию, пока не пройдёт как минимум 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
Устанавливает, включена ли червоточина.
| Key | Values | Default |
|---|---|---|
isEnabled | Boolean | true |
Пример
isEnabled: true
location1
Указывает первое местоположение червоточины.
| Key | Values | Default |
|---|---|---|
location1 | String | none |
Пример
location1: world_one,50,100,50,0,0
location2
Указывает второе местоположение червоточины.
| Key | Values | Default |
|---|---|---|
location2 | String | none |
Пример
location2: world_two,100,33,100,0,0
location1Text
Устанавливает отображаемый текст первого местоположения.
| Key | Values | Default |
|---|---|---|
location1Text | String | none |
Пример
location1Text: Awesome Wormhole In World One

location2Text
Устанавливает отображаемый текст второго местоположения.
| Key | Values | Default |
|---|---|---|
location2Text | String | none |
Пример
location2Text: Awesome Wormhole In World Two

permission
Устанавливает право (permission), необходимое для использования червоточины.
| Key | Values | Default |
|---|---|---|
permission | String | none |
Пример
permission: elitemobs.mypermission
coinCost
Устанавливает стоимость использования червоточины в элитных монетах.
| Key | Values | Default |
|---|---|---|
coinCost | Double | 0 |
Пример
coinCost: 2.5
style
Устанавливает визуальную форму червоточины.
Форма отрисовывается как вращающийся каркас из block display, поверх которого каждые 5 тиков добавляется лёгкая присыпка из частиц. Установка style в NONE полностью пропускает форму.
Эффекты, из которых состоят эти формы, могут вызывать лаги на некоторых клиентах. Чтобы отключить их, зайдите в Wormholes.yml и установите noParticlesMode в true.
| Key | Values | Default |
|---|---|---|
style | NONE / CRYSTAL / ICOSAHEDRON / CUBE | CUBE |
Пример
style: CRYSTAL

particleColor
Устанавливает цвет частиц, используемых в параметре style. Блоки каркаса не используют точный цвет; EliteMobs выбирает блок бетона, чей цвет наиболее близок к заданному вами.
Значение по умолчанию 0 — это чёрный, поэтому эту настройку стоит задавать для каждой создаваемой вами червоточины.
| Key | Values | Default |
|---|---|---|
particleColor | 0x с последующим hex-кодом | 0 |
Пример
particleColor: 0x9f5cdd

blindPlayer
Устанавливает, ослепляет ли портал игрока для более плавной телепортации.
| Key | Values | Default |
|---|---|---|
blindPlayer | Boolean | false |
Пример
blindPlayer: true

sizeMultiplier
Умножает размер портала и формы, заданной параметром style. sizeMultiplier также влияет на радиус активации — игроки должны находиться в пределах 1.5 × sizeMultiplier блоков от червоточины, чтобы запустить телепортацию.
| Key | Values | Default |
|---|---|---|
sizeMultiplier | Multiplier | 1 |
Пример
sizeMultiplier: 3
Помните, что после применения множителя размера вам придётся скорректировать координаты Y червоточины.

customModel1
Устанавливает пользовательскую модель для отображения червоточины в первом местоположении. Использует строку-идентификатор модели. Это переопределяет форму, заданную в style, для местоположения 1.
Пользовательские модели на червоточинах работают только с FreeMinecraftModels; модель должна существовать, иначе червоточина откатывается к каркасу из style. Модель чисто декоративная, по ней нельзя кликнуть — телепортация по-прежнему основана на близости.
| Key | Values | Default |
|---|---|---|
customModel1 | String | none |
Пример
customModel1: my_custom_wormhole_model
customModel2
Устанавливает пользовательскую модель для отображения червоточины во втором местоположении. Использует строку-идентификатор модели. Это переопределяет форму, заданную в style, для местоположения 2. Действует то же требование FreeMinecraftModels, что и для customModel1.
| Key | Values | Default |
|---|---|---|
customModel2 | String | none |
Пример
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 блоков и только пока хотя бы у одного из этих игроков есть прямая видимость портала.
