- Поддерживаемые версии
- 1.16
- 1.17
- 1.18
- 1.19
- 1.20
- 1.21
- Ядра и Прокси
- Paper
- Минимальная версия Java
- 17
Описание: Данный плагин представляет из себя продвинутый плагин на рандомную телепортацию с абстрактными каналами для телепорта, которые можно настроить максимально гибко для максимального удобства использования.
На создание плагина натолкнула новость о том, что irandomteleport будет навсегда заброшен, а также то, что не весь его функционал был доступен на новейших версиях игры.
Функционал и особенности:
Конфигурация:
На создание плагина натолкнула новость о том, что irandomteleport будет навсегда заброшен, а также то, что не весь его функционал был доступен на новейших версиях игры.
Функционал и особенности:
- Возможность создавать множество каналов телепортации со своими функциями
- Асинхронный поиск локации
- 3 режима телепортации - обычный, возле игроков и возле регионов worldguard
- Кастомная команда для телепортации
- Возможность устанавливать кулдауны до телепортации
- Опциональный боссбар обратного отсчета телепортации для каждого канала
- Возможность указывать отдельные действия до и после телепорта, а также во время обратного отсчета до телепортации для каждого канала
- Опциональный запрет на движение, телепортацию, получение и нанесение урона для каждого канала
- Блеклист и вайтлист блоков и биомов на которые канал может телепортировать игроков
- Функция отключения телепорта в регионы worldguard и города towny для каждого канала
- Телепорт на РТП при первом входе / попадании в пустоту / респавне опционально для каждого канала
- Возможность устанавливать квадратную или круглую область допустимой телепортации
- Поддержка разных измерений (обычный мир, незер, энд)
- Опциональная цена на рандомную телепортацию
- Поддержка PlaceholderAPI
- Поддержка ховертекста и клик-ивента в сообщениях
Конфигурация:
YAML:
# Основные настройки
main_settings:
# Форматирование текста.
# LEGACY - цвет через & и hex &#
# LEGACY_ADVANCED - улучшенный аналог legacy с поддержкой &## формата hex
# MINIMESSAGE - цвет через <цвет>
# MINIMESSAGE был добавлен в новых версиях (1.17+)
serializer: LEGACY
# Команда рандомной телепортации (указывается без /)
rtp_command: 'rtp'
# Алиасы к команде рандомной телепортации
rtp_aliases: ['randomteleport', 'ovrandomteleport']
# Должен ли быть включён таб-комплит у команды ртп?
rtp_tab_complete: true
# Название дефолтного канала.
# Указанный канал будет использован в качестве основного при вводе команды /rtp
# Если канал не указан - то игроку будет необходимо ввести имя канала вручную
default_channel: 'default'
# Включить ли поддержку PlaceholderApi?
papi_support: true
# Отправлять ли анонимную статистику (советую не отключать)
enable_metrics: true
# Проверять ли на наличие обновлений (советую не отключать)
update_checker: true
# Настройки работы с прокси
proxy:
# Включена ли поддержка прокси
enabled: false
# Имя сервера в сети
server_id: 'server1'
# Каналы рандомной телепортации
# Вы можете создавать свои каналы, основываясь на уже заранее заготовленных в плагине
channels:
# Базовый канал (право на использование - rtp.channel.имя_канала т.е. в данном случае rtp.channel.default)
default:
# Имя файла, где будет располагаться настройка канала. (Данный файл должен присутствовать в папке channels)
# Если имя не указано - настройка осуществляется в самом конфиге (по аналогии с deluxemenus)
file: 'default.yml'
# Канал который будет телепортировать игрока рядом с другими игроками
# Дистанция телепортации варьируется, от 30 до 60 блоков от игрока
near:
# Вы можете вынести все настройки в этот конфиг, если вам так будет проще.
file: 'near.yml'
# Канал который будет телепортировать игрока рядом с регионами
# Дистанция телепортации варьируется, от 30 до 60 блоков от игрока
base:
file: 'base.yml'
# Сообщения плагина (сообщения от prefix до already_teleporting могут применяться к каналам)
# Формат хекса - &#IIIDDD
# Если вы хотите отключить сообщение - укажите ''
messages:
prefix: '&7&l(&5&lOvRandomTeleport&7&l) &6»&r'
# Сообщения ниже могут быть применены так же и к каналам
no_perms: '%prefix% &cУ вас не достаточно прав на использование данного канала.'
invalid_world: '%prefix% &fВы не можете использовать данный канал рандомной телепортации в этом мире.'
not_enough_players: '%prefix% &cНа сервере не достаточно игроков чтобы телепортироваться по данному каналу. Нужно: &6%required% игроков.'
not_enough_money: '%prefix% &cУ вас не достаточно денег чтобы телепортироваться по данному каналу. Стоимость: &6%required% монет.'
not_enough_hunger: '%prefix% &cУ вас не достаточно очков голода чтобы телепортироваться по данному каналу. Необходимо: &6%required%.'
not_enough_experience: '%prefix% &cУ вас не достаточно очков опыта чтобы телепортироваться по данному каналу. Необходимо: &6%required%.'
cooldown: '%prefix% &fВы еще не можете телепортироваться по данному каналу. Подождите еще &6%time%'
moved_on_teleport: '%prefix% &cВы двинулись! Телепортация отменена.'
teleported_on_teleport: '%prefix% &cВы телепортировались в процессе РТП! Телепортация отменена.'
damaged_on_teleport: '%prefix% &cВы получили урон! Телепортация отменена.'
damaged_other_on_teleport: '%prefix% &cВы нанесли урон! Телепортация отменена.'
fail_to_find_location: '%prefix% &6Не удалось подобрать необходимую локацию. Попробуйте снова позже!'
# Далее идут сообщения команды rtp и т.д.
incorrect_channel: '%prefix% &cУказанного канала рандомной телепортации не существует!'
channel_not_specified: '%prefix% &cВам необходимо указать канал рандомной телепортации!'
canceled: '%prefix% &aТелепортация отменена!'
# Заполнители плейсхолдеров PlaceholderAPI
placeholders:
no_cooldown: '&aКулдаун отсутствует!'
no_value: '&cОтсутствует'
# Плейсхолдеры времени
time:
hours: ' ч. '
minutes: ' мин. '
seconds: ' сек. '
# Раздел для админских команд
admin:
reload: '%prefix% &aПлагин успешно перезагружен!'
unknown_argument: '%prefix% &cВы ввели недопустимы(й/е) аргумент(ы) к команде!'
player_not_found: '%prefix% &cУказанный игрок не найден!'
admin_help: |-
%prefix% Помощь по админ.командам.
&a/rtp admin reload &f- перезагрузить плагин
&a/rtp admin forceteleport <игрок> <канал> &f- телепортировать игрока по указанному каналу
YAML:
# Название канала (используется в плейсхолдерах)
name: 'Стандартный'
# Режим работы канала
# DEFAULT - стандартный режим работы (просто телепортирует на рандомные координаты)
# NEAR_PLAYER - телепортирует игрока рядом с другими игроками (/rtp player проще говоря)
# NEAR_REGION - телепортирует игрока рядом с регионом worldguard (/rtp base проще говоря)
type: DEFAULT
# Миры в которых действует канал
# Если игрок телепортируется по данному каналу в одном из этих миров - телепорт будет именно в этом мире
active_worlds:
- 'world'
- 'world_nether'
- 'world_the_end'
# Должен ли канал телепортировать игрока в тот мир, который будет первым в списке active_worlds
# в случае если игрок пытается телепортироваться через него из другого мира? (полезно в случае, если канал должен вызываться из мира спавна например)
teleport_to_first_world: true
# На какой сервер в сети будет перемещать канал, если режим proxy включён (имена берутся из основного конфига плагина)
# Если указано '' или же режим proxy не включён - то это не будет иметь эффекта
server_to_move: ''
# Сколько игроков должно быть на сервере, чтобы по каналу можно было телепортироваться? (-1 чтобы отключить)
min_players_to_use: -1
# Сколько тиков игрок должен быть неуязвим после телепортации через канал RTP (-1 чтобы отключить)
invulnerable_after_teleport: 10
# Отдельные спецификации канала
specifications:
# Телепортировать ли игрока на РТП при первом входе?
teleport_on_first_join: false
# Телепортировать ли игрока на ртп если тот упал ниже 0 координаты?
# Полезно использовать если нужен телепорт после падения в яму
# Из каких миров должна работать телепортация из пустоты?
# Если указано [] - не будет телепортировать при падении в пустоту
void_worlds:
- spawn
# Телепортировать ли игрока на РТП при респавне?
# Принцип работы тот же, как у void_worlds
respawn_worlds: []
# Настройка цены телепортации по данному каналу
costs:
# Тип используемой валюты
# VAULT - будет использован vault api (предполагает наличие менеджера экономики, по типу EssentialsX или CMI)
# PLAYERPOINTS - будет использован апи плагина PlayerPoints
money_type: VAULT
# Цена телепортации в монетах (-1 чтобы отключить)
money_cost: -1
# Цена телепортации в единицах голода
hunger_cost: -1
# Цена телепортации в единицах очков опыта
experience_cost: -1
# Принцип выбора локации
location_generation_options:
# Форма заготовки для поиска локации
# SQUARE - прямоугольник. При нем min_x/z и max_x/z являются 2мя противоположными сторонами прямоугольника
# ROUND - круг. При нем min_x/z и max_x/z являются 2мя противоположными сторонами прямоугольника, через который будет построен круг (или овал), вписывающийся в данный прямоугольник
shape: SQUARE
# Фрмат генерации локации
# RECTANGULAR - мы строим одну геометрическую фигуру для генерации локации (строится фигура между max_x/z и min_x/z в зависимости от shape)
# RADIAL - строятся геометрические 2 фигуры, между которыми создаётся зона телепортации (строятся фигуры с максимальным max_x/z и минимальным min_x/z радиусами от center_x/z)
gen_format: RECTANGULAR
# Координаты
min_x: -1000
max_x: 1000
min_z: -1000
max_z: 1000
# Координаты при работе с форматом генерации RADIAL
center_x: 0
center_z: 0
# Координаты при работе с NEAR_<ЧТО-ТО>
# Какое может быть самое близкое и самое далёкое расстояние от точки локации исходного объекта
min_near_point_distance: 30
max_near_point_distance: 60
# Максимальное кол-во попыток найти локацию для телепорта (нужно, чтобы не застрять в бесконечном цикле поиска локации)
max_location_attempts: 50
# Настройки кулдаунов
cooldown:
# Дефолтный кулдаун для телепортации (-1 чтобы отключить)
default_cooldown: 60
# Кулдауны на телепортации в секундах для каждой группы (Поставьте [] чтобы отключить кулдауны для групп вообще, -1 чтобы отключить кулдаун для группы)
group_cooldowns:
vip: 30
premium: 10
# Если группа игрока не указана в списке, то будет браться кулдаун для самой последней группы из списка, вместо дефолтного
use_last_group_cooldown: true
# Кулдаун до телепортации (-1 чтобы отключить)
teleport_cooldown: 5
# Настройка боссбара обратного отсчета
# Не активен, если кулдаун до телепортации < 0
bossbar:
# Включен ли боссбар
enabled: true
# Настройки боссбара
title: '&fТелепортация через: &5%time%'
color: WHITE
style: SEGMENTED_12
# Настройка партиклов
particles:
# Настройка анимации до телепорта
# Не активна, если кулдаун до телепортации < 0
pre_teleport:
# Включены ли партиклы
enabled: false
# Какой будет партикл
id: FLAME
# Сколько будет изначальных точек отсчета для анимации
dots: 2
# На каком расстоянии от игрока будут появляться партиклы
radius: 1.25
# Какова будет скорость анимации
speed: 4.0
# Должна ли анимация быть инвертированной
# Против часовой, а не по часовой и не сверху вниз, а снизу вверх (в случае если jumping: false)
invert: false
# Должна ли анимация быть "прыгающей"
jumping: true
# Должна ли анимация приближаться к игроку? (invert не применяется к данному параметру)
move_near: true
# Настройка партиклов после телепорта
after_teleport:
# Включены ли партиклы
enabled: true
# Какой будет партикл
id: CLOUD
# Сколько их будет
count: 45
# На каком расстоянии от игрока будут появляться партиклы
radius: 1.25
# Как быстро должны разлетаться партиклы (0.0 чтобы они были статичными)
speed: 0.0
# Запреты, которые накладываются на игрока перед телепортацией
# Не активны, если кулдаун до телепортации < 0
restrictions:
# Запрет движения до рандомного телепорта
move: true
# Запрет телепортации до рандомного телепорта (учитывается любой телепорт кроме плагинов)
teleport: true
# Запрет получения урона до рандомного телепорта
damage: true
# Запрет нанесения урона другим существам
damage_others: false
# Если эта функция включена - проверка урона будет применяться только если урон был причинен одним игроком другому
damage_check_only_players: true
# Различные исключения телепортации
avoid:
# Блоки на которе игрока нельзя/можно будет телепортировать
# Чтобы отключить проверку - поставьте list: []
blocks:
# Режим работы.
# true - на эти блоки нельзя телепортировать false - можно телепортировать только на эти блоки
blacklist: true
list:
- 'LAVA'
- 'WATER'
# Биомы в которых игрока нельзя/можно будет телепортировать
# Чтобы отключить проверку - поставьте list: []
biomes:
# Режим работы.
# true - в эти биомы нельзя телепортировать false - можно телепортировать только в эти биомы
blacklist: true
list:
- 'OCEAN'
# Блокировать ли телепортацию игрока в регионы WorldGuard
regions: true
# Блокировать ли телепортацию игрока в города Towny
towns: false
# Действия при телепортации
# Доступные действия:
# [MESSAGE] <сообщение> - отправить сообщение игроку (поддерживает PlaceholderAPI, если включён)
# [ACTIONBAR] <сообщение> - отправить сообщение игроку в экшн-бар
# [SOUND] <id>;<громкость>;<тон> - отправить звук игроку
# [TITLE] <тайтл>;<субтайтл>;<время_появления>;<время_показа>;<время_пропадания> - отправить тайтл игроку
# [EFFECT] <эффект>;<время>;<уровень> - выдать эффект игроку
# [CONSOLE] <команда> - выполнить команду от консоли
actions:
# Формат хекса - &#IIIDDD
# Доступные плейсхолдеры
# %player% - ник игрока
# %name% - имя канала телепортации
# %time% - время до телепортации
# %x% %y% %z% - координаты локации
# Для [MESSAGE] доступен ховертекст и клик-ивент. Указывать через hoverEvent={Текст-при-наведении} и clickEvent={айди-действия;действие-при-клике}
# Доступные действия для clickEvent: https://www.javadoc.io/static/net.kyori/adventure-api/4.17.0/net/kyori/adventure/text/event/ClickEvent.Action.html
pre_teleport:
- '[MESSAGE] &7&l(&5&lOvRandomTeleport&7&l) &6» &fВы будете телепортированы через %time% Не двигайтесь и не получайте урона. &6(Отменить РТП - /rtp cancel)'
- '[SOUND] BLOCK_NOTE_BLOCK_PLING;1;1'
on_cooldown:
3:
- '[TITLE] &aТелепорт через &e3...;&r;5;50;10'
2:
- '[TITLE] &aТелепорт через &62...;&r;5;50;10'
1:
- '[TITLE] &aТелепорт через &c1...;&r;5;50;10'
after_teleport:
- '[MESSAGE] &7&l(&5&lOvRandomTeleport&7&l) &6» &aУспешная телепортация! &fВы телепортировались на координаты: &2%x% %y% %z%.'
- '[TITLE] &a&lУспех!;&fВы телепортировались на координаты: &2%x% %y% %z%.'
- '[SOUND] ENTITY_PLAYER_LEVELUP;1;1'
- Исходный код
- https://github.com/Overwrite987/OvRandomTeleport
- Команды и права
Разрешения:
- rtp.channel.<канал> - право телепортации по указанному каналу (.* для всех каналов)
- rtp.bypasscooldown - право на обход кулдауна на ртп
- rtp.admin - право на использование админ.команд
Команды:
- /rtp - главная команда плагина (можно изменить на свою)
- /rtp <канал> - телепортироваться по указанному каналу
- /rtp cancel - отменить телепортацию (при имеющемся отчете до телепорта)
- /rtp admin - команда администрации
- /rtp admin reload - перезагрузить плагин
- /rtp admin forcertp <ник> <канал> - телепортировать игрока по указанному каналу
Плейсхолдеры:
- %ovrtp_cooldown_<канал>_<субаргумент>% - возвращает оставшееся время кулдауна до телепорта. Доступные субаргументы - hours, munites, seconds. Если субаргумент не указан - используется стандартный вывод времени как и в остальных сообщениях.
- %ovrtp_hascooldown_<канал>% - возвращает то, есть ли кулдаун на указаный канал у игрока.
- %ovrtp_settings_<канал>_name% - возвращает имя канала.
- %ovrtp_settings_<канал>_type% - возвращает тим канала.
- %ovrtp_settings_<канал>_playersrequired% - возвращает кол-во игроков, которое необходимо для использования канала.
- %ovrtp_settings_<канал>_cost_money% - возвращает стоимость канала в монетах.
- %ovrtp_settings_<канал>_cost_hunger% - возвращает стоимость канала в очках голода.
- %ovrtp_settings_<канал>_cost_exp% - возвращает стоимость канала в очках опыта.
- %ovrtp_settings_<канал>_cooldown_default% - возвращает дефолтный кулдаун на терепортацию по каналу в секундах и без форматирования.
- %ovrtp_settings_<канал>_cooldown_default_formatted% - возвращает дефолтный кулдаун на терепортацию по каналу и с форматированием времени.
- %ovrtp_settings_<канал>_cooldown_byplayergroup% - возвращает кулдаун на терепортацию по каналу в соответствии с группой игрока и без форматирования.
- %ovrtp_settings_<канал>_cooldown_byplayergroup_formatted% - возвращает кулдаун на терепортацию в соответствии с группой игрока и с форматированием времени.
Он вообще не умеет устанавливать блоки...