English | Русский
Паркур из ParCool начинает работать на кораблях Sable (Create: Aeronautics).
По умолчанию по борту не побежать и за край палубы не зацепиться: Sable держит блоки корабля в скрытой области далеко за картой и только рисует их на месте корабля, так что ParCool проверяет пустой воздух там, где визуально стоит корабль. Мод отвечает на эти проверки по настоящим блокам корабля.
Работает с ParCool 3.4.x и ParCool 4.0.x. Один jar, нужный набор хуков выбирается при загрузке. Нужны ParCool и Sable — без обоих мод ничего не делает.
ParCool 4 на момент написания всё ещё в альфе, и это переписанный мод, так что его внутренности двигаются. Здесь всё собрано под 4.0.0.2 и ни к чему не привязано жёстко: хуки, которые перестали совпадать, просто не применяются — на более поздней альфе теряются возможности, а не ломается игра.
Горизонтальный и вертикальный бег по стене, прыжок от стены, скольжение по стене, зацеп за край, подтягивание, вольт, вис на перекладине, лазанье по мачте, нырок. Пыль и звук берутся с того блока корпуса, которого ты действительно касаешься, а на ParCool 3 оттуда же берётся трение — лёд на палубе скользкий.
Два поколения ParCool спрашивают мир по-разному, поэтому и работа для них разная.
ParCool 4 почти всё пропускает через одну проверку стены и несколько проверок в самих действиях — мод исправляет их на месте, а дальше решают собственные правила ParCool. Три действия вообще не спрашивают, свободно ли место: они толкают коробку и смотрят, где она остановится. Так зацеп находит уступ под руками, HangDown — перекладину над головой, а вольт — перила. На корпусе коробку не останавливает ничто, поэтому мод сам проходит по вектору движения и сообщает, где корабль впервые встаёт на пути.
ParCool 3 держит проверки мира в одном служебном классе, поэтому мод
перестраивает их в системе координат корабля. Поверх строгих правил работает
ассист для корпусов, которые не плоские стены: он берёт шестнадцать направлений
по кругу, в каждом проводит тонкий срез снизу вверх и цепляется там, где твёрдое
переходит в воздух. Наклонная обшивка засчитывается за стену за счёт того, что
одной половине тела разрешено дотянуться чуть дальше другой. Настраивается через
gripReach / slopeTolerance, а gripAssist = false возвращает строгие правила
ParCool.
Ассист тянется дальше, чем сам ParCool — в этом его смысл, но эта же дальность
ловит тебя на выходе, когда прыгаешь с палубы. Поэтому он отпускает, как только
ты уходишь от поверхности быстрее releaseSpeed — относительно корабля, так что
падение не считается, и пролетающий мимо корпус тоже. Собственный ответ ParCool
не подавляется никогда.
Для ParCool 4 ассиста намеренно нет. Его проверка и так покрывает косые направления, ей нужна точность, а не щедрость; тянуться дальше означало бы выдумывать зацепы вне досягаемости руки.
В обоих случаях всё сверяется с настоящими коллизиями, так что выдумать поверхность мод не может. Коробки, выровненные по миру, сравниваются с корпусом теоремой о разделяющей оси, а не привычным осевым упрощением: коробка вокруг повёрнутой коробки при крене 45° толще оригинала до 70%, а толстый щуп читает чистый воздух как стену.
config/parcoolxsable-common.toml
enabled— выключательsearchMargin(1.5) — на сколько блоков вокруг игрока искать корабльfixBlockLookups(true) — брать партиклы, а на ParCool 3 и трение, с блоков корабляcarryWhileAttached(true) — двигаться вместе с кораблём при зацепе и висеcarryWhileOnWall(false) — то же при беге по стене, включить если отстаёшь от быстрого корабля
Только для ParCool 3, потому что настраивают ассист:
gripAssist(true) — цепляться за наклонные и изогнутые корпуса, а не только за плоские стеныgripReach(0.8) — на сколько блоков вперёд искать крайslopeTolerance(0.45) — добавка к дальности для одной половины тела на наклонной обшивкеreleaseSpeed(0.25) — с какой скоростью относительно корабля надо от него уходить, чтобы ассист отпустил; 0 — не отпускать
Когда корабля рядом нет, мод не делает вообще ничего, поэтому на земле ParCool ведёт себя ровно так же, как без него. Настоящая стена в мире всегда важнее корабельной.
Хуки на MixinExtras @ModifyReturnValue / @WrapOperation — они складываются с
обработчиками других модов, а не конфликтуют с ними. Если ParCool в будущей
версии что-нибудь передвинет, мод просто перестанет работать, а не уронит игру.
Клей и мёд из Create не задеты. Мод только читает блоки, никогда их не ставит и
не ломает, и в сборку контрапций не лезет — единственное, что он пишет, это
скорость самого игрока при зацепе. Ложной стеной клей тоже стать не может:
SuperGlueEntity не переопределяет canBeCollidedWith, поэтому проверки
коллизий его вообще не видят. Мёд и слизь по скользкости ниже порога 0.9,
который стоит в ParCool против льда, так что цепляться за них можно как и везде.
Камеру специально не трогаю: ParCool уже дружит с Shoulder Surfing и Better Third Person. Корпус персонажа за кораблём поворачивается и так.
ParCool+ / Compatibility Addon
от semillakan6 в августе 2026 добавил поддержку Sable и тоже патчит
WorldUtil. Столкновения нет: он вставляется на возврат этих методов и
перенаправляет вызовы внутри них, а мод подменяет их возвращаемое значение. Кто
ответил первым, тому второй уступает.
На коммите 71fa92a его поддержка Sable ограничена ParCool 3 — его собственный
mixin-плагин пишет в лог «ParCool 3 + Sable mixin» и пропускает её на 4.x, и это
логично: класса, который он патчит, в ParCool 4 просто нет. Так что на ParCool 4
этот мод работает сам по себе. На ParCool 3 они пересекаются на зацепах и
перекладинах; этот мод дополнительно закрывает трение и партиклы, перенос игрока
вместе с движущимся кораблём и наклонную обшивку для бега по стене и прыжков.
HangDownзнает только мировые оси X и Z. Состояния блоков корабля доворачиваются в мировую ориентацию, прежде чем ParCool их прочитает, так что на корабле, повёрнутом на прямой угол, перекладина определяется верно; при 45° она по-прежнему приписывается к ближайшей оси — так устроен сам его enum.- Настройки ассиста на ParCool 4 ни на что не влияют: там работает собственная дальность ParCool.
Проверено на ParCool 1.21.1-3.4.3.3 и 1.21.1-4.0.0.2, Sable Companion 1.6.0, NeoForge 21.1.233.
./gradlew buildПервый запуск требует интернета: тянутся NeoForge, ParCool (maven Modrinth) и Sable Companion (maven.ryanhcode.dev).
Основной README на английском, русский перевод здесь. Вопросы и баг-репорты на русском тоже нормально.
В самой игре переводить нечего: мод не добавляет ни предметов, ни блоков, ни GUI.
Этот мод — прослойка между двумя чужими работами:
- ParCool!, автор alRex-U — сам паркур
- Sable, автор ryanhcode — физика кораблей, и Sable Companion — тот самый compat-API, благодаря которому не пришлось лезть во внутренности Sable
Ни один из авторов к этому проекту отношения не имеет.
LGPL-3.0, как у ParCool. Подробности в NOTICE.md.
