Создание червоточин
Что такое червоточины?
Червоточины — это разновидность высокоэффективной системы телепортации от портала к порталу. Порталы отмечаются визуальными эффектами.
Механика червоточин
Червоточины могут делать следующее:
- Переносить через один портал к порталу назначения и от портала назначения обратно к первому.
- Воспроизводить звук, когда игроки проходят через них
- Временно ослеплять игроков при прохождении для плавного перехода
- Выталкивать игроков, чтобы избежать попадания в петлю телепортации
- Блокировать игрокам телепортацию на 5 секунд, чтобы избежать попадания в петлю телепортации
- Автоматически отключать режим полёта при телепортации игроков
- Воспроизводить сложные визуальные эффекты
- Требовать прав (permissions) для использования червоточины
- Требовать использования валюты для использования червоточины
- Уведомлять игроков и администраторов, когда портал назначения недоступен
Создание червоточины
Червоточины добавляются как конфигурационные файлы в папку wormholes. Можно создавать подпапки, и это рекомендуется делать, если вы добавляете червоточины для конкретных подземелий, в формате ` ~/plugins/EliteMobs/wormholes/dungeonName/dungeonName_identifier.yml`.
Выброс (Ejection)
Yaw и Pitch (две последние цифры в координатах) в location1 и location2 задают, куда игроки будут выброшены из червоточины при прохождении через неё. Рассмотрим этот пример:
location1: my_world,20,10,20,180,20
Поскольку Yaw установлен в 180, игрок будет выброшен лицом на север, а поскольку Pitch установлен в 20, он также будет выброшен слегка вверх. Если вы хотите, чтобы игрок оставался в том же блоке, что и червоточина, при выбросе, то рекомендуется установить 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
Устанавливает визуальную форму червоточины.
Частицы, из которых состоят эти формы, могут вызывать лаги на некоторых клиентах. Чтобы отключить частицы, зайдите в Wormholes.yml и установите noParticlesMode в true.
| Key | Values | Default |
|---|---|---|
style | NONE / CRYSTAL / ICOSAHEDRON / CUBE | CUBE |
Пример
style: CRYSTAL

particleColor
Устанавливает цвет частиц, используемых в параметре style.
| 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.
| Key | Values | Default |
|---|---|---|
customModel1 | String | none |
Пример
customModel1: my_custom_wormhole_model
customModel2
Устанавливает пользовательскую модель для отображения червоточины во втором местоположении. Использует строку-идентификатор модели. Это переопределяет форму, заданную в style, для местоположения 2.
| 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(по умолчанию) — снижает плотность частиц на 50% для лучшей производительности, особенно рекомендуется для серверов с клиентами BedrocknoParticlesMode: true— полностью отключает все частицы червоточин
Примечание: червоточины отображаются только для игроков в пределах 30 блоков для оптимизации производительности сервера.
