- Для версий
- 1.21.✘
- 26.✘
Описание плагина SoulGrace:
SoulGrace — не «ещё один паркур-плагин из 2016 года». Таких уже тысячи: процедурка, арены, награды, команды — всё это давно не новость.Проблема в другом: большинство из них — неоптимизированное, не настраиваемое говно.
Конфиг ради галочки, дефолты мёртвые, половина фич только после ручной правки кода, лагает при онлайне, мир засирается, админ неделю ковыряет F3-координаты, а игроки получают «паркур, который один раз попробовал и забыл».
SoulGrace сделан как нормальный продукт, а не как скрипт на коленке.
В чём суть SoulGrace?
- Игрок наступает на блок старта (или пишет /grace start) — и оказывается в небе на своей арене.
- Перед ним всегда только два блока: текущий и следующий. Прыгнул — предыдущий исчезает.
- Трассу генерирует плагин — не нужно строить карту руками и не нужно её запоминать.
- У каждого своя полоса в небе — никто не мешает, мир не засоряется.
- После сессии блоки возвращаются как были — арену можно ставить прямо над спавном.
Особенности плагина SoulGrace:
Оптимизация, а не понты
У каждого игрока — своя полоса в небе, не общая арена на сто человек. На экране два блока — текущий и следующий, предыдущий сразу убирается. Блоки реальные, но после сессии восстанавливаются — мир не превращается в помойку. Лимиты одновременных забегов, cooldown, зоны без обязательного WorldGuard.Настройка, которая реально работает
Не «допиши 40 строк в конфиг, иначе не заведётся». Дефолты в коде = боевой конфиг: поставил JAR, две команды админа (set pad / set fall) — арена жива. Маршруты, награды, тексты, сложность, ловушки, boss bar, screen shake — в YAML, всё настраивается.Сложность из коробки — но не каменная
Процедурная генерация с нормальной физикой прыжков, эскалацией сложности, стекло, панели, лёд, стержни, цепи, ловушки на реакцию (блок сзади), спидран с личным рекордом в boss bar, дёрганье камеры на жёстких участках. Хочешь мягче — крутишь в config. Хочешь ад — крутишь туда же.Честная сессия
Survival, без полёта, без перлов/зелий/левитации на забеге. Не «паркур, где половина читерит через креатив и зелья».Нормальная архитектура
Paper 1.21+, async-прогресс (YAML/SQLite), PlaceholderAPI, опциональный WorldGuard. Не fat-jar с зашитым мусором — libraries через Paper, а не shade на 80 МБ.Для игрока
Наступил на блок — полетел. Прыгаешь — трассу генерирует плагин. Упал — вернул на землю. Бьёшь свой рекорд — видишь в boss bar. На сложных блоках и ловушках — давление (реакция, камера, узкие платформы). Финиш — награда, не пустой title.Для админа
Не неделя возни с картой и координатами. Две команды — старт и точка падения. Название арены, права, награды, палитра блоков, лимиты — когда понадобится, всё в конфигах. Защита от типичного тупняка: старт на падении, два маршрута на один блок — плагин не даст сделать «кроличью нору».Команды плагина SoulGrace:
Для игрока
/grace — справка/grace start — начать паркour (маршрут по умолчанию)/grace start [маршрут] — начать указанный маршрут/grace stop — остановить свой паркour(алиас: /soulgrace — то же самое)
Для админа (soulgrace.admin)
/grace admin — справка (быстрая + тонкая)/grace admin help — справка по быстрой настройке/grace admin help advanced — справка по тонкой настройке/grace admin reload — перезагрузить config, маршруты, награды, сообщения/grace admin routes — список загруженных маршрутов/grace admin stop [ник] — принудительно остановить паркour игрокамаршрут — это ключ трассы из plugins\SoulGrace\parkour\routes
/grace admin set pad [маршрут] — блок старта (арена в небе настраивается сама)/grace admin set fall [маршрут] — куда телепортировать при падении/grace admin set name [название] [маршрут] — название арены для игроков/grace admin set entry [маршрут] — зона /grace start/grace admin set arena [маршрут] — центр паркура в небе/grace admin set radius [число] [маршрут] — радиус зоны entryНастройка за 2 команды
- Встань на блок, куда игрок должен наступить:
/grace admin set pad default
Плагин сам настроит арену в небе (config.yml → route-setup.sky-offset-y, по умолчанию +56). - Встань туда, куда телепортить при падении (рядом, не на тот же блок):
/grace admin set fall default
Опционально: /grace admin set name Пушистый зайчик default — название для игроков.
Голограмму «наступи сюда» ставишь сам (DecentHolograms и т.д.).
Справка: /grace admin help — быстрая настройка + /grace admin help advanced — тонкая.
Тонкая настройка (если нужно)
/grace admin set entry [route] — зона /grace start/grace admin set arena [route] — центр паркура в небе
/grace admin set radius 10 [route]
set pad сам выставляет entry и arena; эти команды — когда нужно подкрутить вручную.
Защита от дурачка
| Ситуация | Что будет |
|---|---|
| Два маршрута на один блок старта | set pad отклонится |
| Старт на точке падения | set pad отклонится — иначе бесконечный цикл |
| Падение на блок старта | set fall отклонится — «кроличья нора» |
Права плагина SoulGrace:
Права (глобальные)soulgrace.start — запуск паркура (/grace start)soulgrace.stop — остановка своего паркура (/grace stop)soulgrace.admin — админ-команды (/grace admin ...)soulgrace.bypass.playtime — обход минимального времени на сервере перед стартомПо умолчанию: start и stop — всем, admin и bypass.playtime — OP.
Права на маршрут (в parkour/routes/*.yml)
start-permission: "" — пусто = берётся soulgrace.start из config
start-permission: soulgrace.route.vip — доступ только с этой нодой (донат-арена и т.п.)
Пример своей ноды: soulgrace.route.vip — старт только этого маршрута.
Ноды в config.yml → permissions можно переименовать, если на сервере другие названия.
Скриншоты плагина SoulGrace:
Плэйсхолдеры плагина SoulGrace:
Активный паркур (только во время сессии)
| Плейсхолдер | Значение |
|---|---|
| %soulgrace_route% | id маршрута |
| %soulgrace_route_name% | название арены |
| %soulgrace_stage% | текущий этап |
| %soulgrace_attempts% | попытки |
| %soulgrace_active% | true |
Таблица лидеров (DecentHolograms / PAPI)
Вот мой конфиг из голограммы:
YAML:
pages:
- lines:
- content: '<#A855F7>&l★ Лидеры паркура ★</#EC4899>'
height: 0.35
- content: '<#64748B>&oэтапы и время до рекорда'
height: 0.28
- content: '&7'
height: 0.15
- content: '%soulgrace_top_1_line%'
height: 0.28
- content: '%soulgrace_top_2_line%'
height: 0.28
- content: '%soulgrace_top_3_line%'
height: 0.28
- content: '%soulgrace_top_4_line%'
height: 0.28
- content: '%soulgrace_top_5_line%'
height: 0.28
- content: '%soulgrace_top_6_line%'
height: 0.28
- content: '%soulgrace_top_7_line%'
height: 0.28
- content: '%soulgrace_top_8_line%'
height: 0.28
- content: '%soulgrace_top_9_line%'
height: 0.28
- content: '%soulgrace_top_10_line%'
height: 0.28
- content: '&7'
height: 0.15
- content: '<#475569>&m━━━━━━━━━━━━━━━━'
height: 0.22
- content: '%soulgrace_top_self_line%'
height: 0.32
actions: {}Сортировка — leaderboard.hologram-sort (stage по умолчанию). Маршрут — default, если не указан.
| Плейсхолдер | Пример |
|---|---|
| %soulgrace_top_1_line% | готовая строка 1-го места |
| %soulgrace_top_2_line% … %soulgrace_top_10_line% | 2–10 место |
| %soulgrace_top_1_player% | ник 1-го |
| %soulgrace_top_1_stage% | этапы 1-го |
| %soulgrace_top_1_time_fmt% | лучшее время 1-го |
| %soulgrace_top_default_1_player% | явный маршрут default |
| %soulgrace_top_self_line% | «Ты на #N месте • …» — для строки внизу |
| %soulgrace_top_self_rank% | только место |
| %soulgrace_top_self_stage% | твои этапы |
| %soulgrace_top_self_time% | твоё время (сек) |
| %soulgrace_top_self_time_fmt% | твоё время (1:02.3) |
Твой прогресс (без топа)
Время пишется до лучшего этапа (не только при финише): кто дошёл до 14-го за 1 мин vs за 30 мин — видно в рейтинге.| Плейсхолдер | Значение |
|---|---|
| %soulgrace_progress_stage% | лучший этап |
| %soulgrace_progress_time% | секунды до этого этапа |
| %soulgrace_progress_time_fmt% | время форматированное |
| %soulgrace_progress_completions% | число финишей |
| %soulgrace_progress_default_time% | то же для маршрута default |
Строки топа — %soulgrace_top_*% (legacy из PAPI). Тексты — messages.yml → leaderboard.placeholder.*.
Установка плагина SoulGrace:
- Paper 1.21+
- WorldGuard — опционально (softdepend)
- PlaceholderAPI — опционально (softdepend)
- Скачайте плагин.
- Выключите сервер
- Переместите файл .jar в папку /plugins/ вашего сервера.
- Запустите сервер.
- Готово.



