- Поддерживаемые версии
- 1.16
- 1.17
- 1.18
- 1.19
- 1.20
- Ядра и Прокси
- Paper
- Минимальная версия Java
- 17
Описание: Данный плагин представляет из себя продвинутый плагин на рандомную телепортацию с абстрактными каналами для телепорта, которые можно настроить максимально гибко для максимального удобства использования.
На создание плагина натолкнула новость о том, что irandomteleport будет навсегда заброшен, а также то, что не весь его функционал был доступен на новейших версиях игры.
Функционал и особенности:
Конфигурация:
На создание плагина натолкнула новость о том, что irandomteleport будет навсегда заброшен, а также то, что не весь его функционал был доступен на новейших версиях игры.
Функционал и особенности:
- Возможность создавать множество каналов телепортации со своими функциями
- Асинхронный поиск локации
- 3 режима телепортации - обычный, возле игроков и возле регионов worldguard
- Кастомная команда для телепортации
- Возможность устанавливать кулдауны до телепортации
- Опциональный боссбар обратного отсчета телепортации для каждого канала
- Возможность указывать отдельные действия до и после телепорта, а также во время обратного отсчета до телепортации для каждого канала
- Опциональный запрет на движение, телепортацию, получение и нанесение урона для каждого канала
- Блеклист и вайтлист блоков и биомов на которые канал может телепортировать игроков
- Функция отключения телепорта в регионы worldguard и города towny для каждого канала
- Телепорт на РТП при первом входе / попадании в пустоту / респавне опционально для каждого канала
- Возможность устанавливать квадратную или круглую область допустимой телепортации
- Поддержка разных измерений (обычный мир, незер, энд)
- Опциональная цена на рандомную телепортацию
- Поддержка PlaceholderAPI
Конфигурация:
YAML:
# Основные настройки
main_settings:
# Форматирование текста.
# LEGACY - цвет через &, MINIMESSAGE - цвет через <цвет>
# MINIMESSAGE был добавлен в новых версиях (1.17+)
serializer: LEGACY
# Команда рандомной телепортации (указывается без /)
rtp_command: 'rtp'
# Алиасы к команде рандомной телепортации
rtp_aliases: [ 'randomteleport', 'ovrandomteleport' ]
# Название дефолтного канала.
# Указанный канал будет использован в качестве основного при вводе команды /rtp
default_channel: 'default'
# Включить ли поддержку PlaceholderApi?
papi_support: true
# Отправлять ли анонимную статистику (советую не отключать)
enable_metrics: true
# Проверять ли на наличие обновлений (советую не отключать)
update_checker: true
# Каналы рандомной телепортации
channels:
# Базовый канал (право на использование - rtp.channel.имя_канала т.е. в данном случае rtp.channel.default)
default:
# Название канала (используется в плейсхолдерах)
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
# Отдельные спецификации канала
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)
# RADIAL - указываются максимальные рамки радиуса по которому строятся рамки допустимой локации (строится геометрическая фигура с максимальным 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
# Сколько тиков игрок должен быть неуязвим после телепортации через канал RTP (-1 чтобы отключить)
invulnerable_after_teleport: 3
# Настройки кулдаунов
cooldown:
# Дефолтный кулдаун для телепортации
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
# Запреты, которые накладываются на игрока перед телепортацией
# Не активны, если кулдаун до телепортации < 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, если включён)
# [SOUND] <id>;<громкость>;<тон> - отправить звук игроку
# [TITLE] <тайтл>;<субтайтл>;<время_появления>;<время_показа>;<время_пропадания> - отправить тайтл игроку
# [EFFECT] <эффект>;<уровень>;<время> - выдать эффект игроку
# [CONSOLE] <команда> - выполнить команду от консоли
actions:
# Формат хекса - &#IIIDDD
# Доступные плейсхолдеры
# %player% - ник игрока
# %name% - имя канала телепортации
# %time% - время до телепортации
# %x% %y% %z% - координаты локации
pre_teleport:
- '[MESSAGE] &7&l(&5&lOvRandomTeleport&7) &6» &fВы будете телепортированы через %time% Не двигайтесь и не получайте урона.'
- '[SOUND] BLOCK_NOTE_BLOCK_PLING;1;1'
on_cooldown:
3:
- '[TITLE] &aТелепорт через &63..;&r;5;50;10'
2:
- '[TITLE] &aТелепорт через &62..;&r;5;50;10'
1:
- '[TITLE] &aТелепорт через &61..;&r;5;50;10'
after_teleport:
- '[MESSAGE] &7&l(&5&lOvRandomTeleport&7) &6» &aУспешная телепортация! &fВы телепортировались на координаты: &2%x% %y% %z%.'
- '[TITLE] &a&lУспех!;&fВы телепортировались на координаты: &2%x% %y% %z%.'
- '[SOUND] ENTITY_PLAYER_LEVELUP;1;1'
# Канал который будет телепортировать игрока рядом с другими игроками
# Дистанция телепортации варьируется, от 30 до 60 блоков от игрока
near:
# Обязательный параметр
name: 'Возле игроков'
# Обязательный параметр
type: NEAR_PLAYER
# Необязательный параметр
min_players_to_use: 5
# Обязательный параметр
active_worlds:
- 'world'
# Необязательный параметр
teleport_to_first_world: true
# Необязательные параметры
specifications:
teleport_on_first_join: false
void_worlds: []
respawn_worlds: []
# Необязательные параметры
costs:
# По умолчанию - VAULT
money_type: VAULT
money_cost: 1000
hunger_cost: 5
experience_cost: 10
# Обязательные параметры
location_generation_options:
shape: SQUARE
# Необязательный параметр. По умолчанию - RECTANGULAR
gen_format: RECTANGULAR
min_x: -1000
max_x: 1000
min_z: -1000
max_z: 1000
# Необязательные параметры
min_near_point_distance: 30
max_near_point_distance: 90
# Необязательный параметр
max_location_attempts: 50
# Необязательный параметр
invulnerable_after_teleport: 3
# Необязательные параметры
cooldown:
default_cooldown: 60
group_cooldowns:
vip: 30
premium: 10
use_last_group_cooldown: true
teleport_cooldown: 5
# Необязательный параметр
teleport_cooldown: 5
# Необязательные параметры
bossbar:
enabled: true
title: '&fТелепортация через: &5%time%'
color: WHITE
style: SEGMENTED_12
# Необязательные параметры
restrictions:
move: true
damage: true
# Необязательные параметры
avoid:
blocks:
blacklist: true
list:
- 'LAVA'
- 'WATER'
biomes:
blacklist: true
list: []
regions: true
towns: false
# Обязательный параметр
actions:
# Обязательный параметр. Укажите [] для отключения
pre_teleport:
- '[MESSAGE] &7&l(&5&lOvRandomTeleport&7) &6» &fВы будете телепортированы через %time% Не двигайтесь и не получайте урона.'
- '[SOUND] BLOCK_NOTE_BLOCK_PLING;1;1'
# Необязательный параметр
on_cooldown:
3:
- '[TITLE] &aТелепорт через &63..'
2:
- '[TITLE] &aТелепорт через &62..'
1:
- '[TITLE] &aТелепорт через &61..'
# Обязательный параметр. Укажите [] для отключения
after_teleport:
- '[MESSAGE] &7&l(&5&lOvRandomTeleport&7) &6» &aУспешная телепортация! &fВы телепортировались на координаты: &2%x% %y% %z%.'
- '[TITLE] &a&lУспех!;&fВы телепортировались на координаты: &2%x% %y% %z%.'
- '[SOUND] ENTITY_PLAYER_LEVELUP;1;1'
# Необязательный параметр
# Отдельные сообщения при использовании канала.
# Если они не указаны - будут использованы дефолтные
messages:
prefix: '&7&l(&5&lOvRandomTeleport+&7&l) &6»&r'
no_perms: '%prefix% &cУ вас не достаточно прав на использование канала телепортации к игрокам.'
# Канал который будет телепортировать игрока рядом с регионами
# Дистанция телепортации варьируется, от 30 до 60 блоков от игрока
base:
name: 'Возле баз'
type: NEAR_REGION
active_worlds:
- 'world'
costs:
# По умолчанию - VAULT
money_type: PLAYERPOINTS
money_cost: 100
location_generation_options:
shape: SQUARE
min_x: -1000
max_x: 1000
min_z: -1000
max_z: 1000
cooldown:
default_cooldown: 300
restrictions:
move: true
damage: true
actions:
pre_teleport: []
after_teleport:
- '[MESSAGE] &7&l(&5&lOvRandomTeleport&7) &6» &aУспешная телепортация! &fВы телепортировались на координаты: &2%x% %y% %z%.'
- '[TITLE] &a&lУспех!;&fВы телепортировались на координаты: &2%x% %y% %z%.'
- '[SOUND] ENTITY_PLAYER_LEVELUP;1;1'
messages:
prefix: '&7&l(&5&lOvRandomTeleport+&7&l) &6»&r'
no_perms: '%prefix% &cУ вас не достаточно прав на использование канала телепортации к базам.'
# Сообщения плагина (сообщения от 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Не удалось подобрать необходимую локацию. Попробуйте снова позже!'
already_teleporting: '%prefix% &cВы уже телепортируетесь!'
incorrect_channel: '%prefix% &cУказанного канала рандомной телепортации не существует!'
# Заполнители плейсхолдеров PlaceholderAPI
placeholders:
no_cooldown: '&aКулдаун отсутствует!'
# Плейсхолдеры времени
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- телепортировать игрока по указанному каналу
- Исходный код
- https://github.com/Overwrite987/OvRandomTeleport
- Команды и права
- Разрешения:
rtp.channel.<канал> - право телепортации по указанному каналу
rtp.bypasscooldown - право на обход кулдауна на ртп
rtp.admin - право на использование админ.команд
Команды:
/rtp - главная команда плагина (можно изменить на свою)
/rtp <канал> - телепортироваться по указанному каналу
/rtp admin - команда администрации
/rtp admin reload - перезагрузить плагин
/rtp admin forcertp <ник> <канал> - телепортировать игрока по указанному каналу
Плейсхолдеры:
%ovrtp_cooldown_<канал><субаргумент>% - возвращает оставшееся время кулдауна до телепорта. доступные субаргументы - hours, munites, seconds. Если субаргумент не указан - используется стандартный вывод времени как и в остальных сообщениях
%ovrtp_hascooldown_<канал>% - возвращает то, есть ли кулдаун на указаный канал у игрока.