ParcoolXSable

Quick rating

Community listing page, reviews here may not be monitored by the author.

ParcoolXSable

No reviews yet

Parkour from ParCool on Sable physics ships, the engine behind Create: Aeronautics.

Mod Loaders
Minecraft

About

Description

Free use in modpacks is permitted.

ParcoolXSable Airships from Create: Aeronautics are the best parkour surface in the game that you can't actually use. Run at a hull and ParCool does nothing at all. No wall run, no ledge to grab, no vault. The ship may as well not be there.

Now it works. Wall run along the plating, jump off it, slide down it, grab a deck edge and pull yourself up, vault a railing, hang from the rigging, climb a mast.

Works with ParCool 3.4.x and ParCool 4.0.x. One jar -- it picks the right set of hooks when the game loads.

Note that ParCool 4 is still an alpha and is a rewrite, so its internals move between builds. This is built against 4.0.0.2. Hooks that stop matching simply do not apply, so a later alpha loses features rather than breaking the game.

Why it didn't work

Sable doesn't move a ship's blocks into the world. It keeps them as ordinary chunks parked in a hidden area far off the map, and draws and collides them at the ship's position. ParCool asks the world directly whether the space next to you is occupied, so next to a hull the world honestly answers "empty" -- there really are no blocks there. No wall running, nothing to grab.

This mod answers those questions against the ship's real blocks instead.

What works

Horizontal and vertical wall run, wall jump, wall slide, cling to a ledge, climb up, vault, hang from bars, pole climb, dive. Dust and sound come from the hull block you're actually touching, and on ParCool 3 so does friction, so ice on a deck is slippery.

Sloped and curved plating works as well, from any approach angle and on a hull that is banking or pitching. Probe boxes that are square to the world are compared to the hull with a separating-axis test rather than the usual axis-aligned shortcut: the box drawn around a rotated box is up to 70% fatter at a 45 degree bank, and a fatter probe reads clear air as solid.

During parkour the character and its animations are turned to the hull: the up is whichever side of the ship faces the sky, and horizontally the model settles onto the ship's own grid, so climbing a turned or flipped build looks like climbing a build. A ship that yaws underfoot turns you with it, look and all. Off the parkour you stand like everyone else (config: alignToShip).

On ParCool 3 there's also a grip assist, because ParCool wants a flat wall -- a block face at chest height with clear air above it -- and hulls are rarely that. When ParCool's own check finds nothing, the mod samples sixteen directions around you, sweeps a thin slice up your front in each, and grabs wherever solid turns into air. It reaches further than ParCool does, which is the point of it, so it also lets go once you're moving away from the hull faster than a step -- a deliberate jump off a deck isn't caught on the way out. Everything is still checked against real collision boxes, so it can't invent a handhold that isn't there.

ParCool 4 asks the world differently, so the work is different: most of its checks are corrected in place, and the three actions that push a box and watch where it stops -- the ledge under your hands, the bar over your head, the railing you vault -- get told where the ship gets in the way.

Playing well with everything else

With no ship nearby the mod does nothing at all, so on the ground ParCool behaves exactly as it does without it installed. A real world wall always wins over a ship one.

Hooks are MixinExtras, which stack with other mods' handlers rather than fighting them. ParCool+ / Compatibility Addon by semillakan6 patches some of the same ParCool 3 methods; the two use different injection points and coexist, and its Sable support is gated to ParCool 3, so on ParCool 4 there is nothing to overlap with at all -- https://github.com/semillakan6/ParCool-CompatibilityAddon-NeoForge

Create's super glue and honey are untouched -- the mod only reads blocks, and the one thing it ever writes is the player's own velocity while clinging.

If ParCool moves something in a future version, this goes inert instead of crashing the game.

Config

Everything below lives in config/parcoolxsable-common.toml.

  • enabled (true) -- off switch
  • searchMargin (1.5) -- how far around the player to look for a ship, in blocks
  • fixBlockLookups (true) -- read particles, and friction on ParCool 3, from ship blocks
  • carryWhileAttached (true) -- move with the ship while clinging or hanging
  • carryWhileOnWall (false) -- same while wall running, turn on if you lag behind a fast ship

ParCool 3 only, since they tune the grip assist:

  • gripAssist (true) -- grab sloped and curved hulls, not just flat walls
  • gripReach (0.8) -- how far ahead to look for a ledge
  • slopeTolerance (0.45) -- extra reach for one half of the body on sloped plating
  • releaseSpeed (0.25) -- how fast you leave a hull, relative to it, before the assist lets go

Known issues

  • ParCool's bar-hanging only knows world X and Z. Ship blocks are turned into world orientation first, so a ship yawed by a right angle is handled correctly; one at 45 degrees snaps to whichever axis is closer.
  • The grip assist options do nothing on ParCool 4, which uses ParCool's own reach.

Credits

This mod is glue between two other people's work:

Neither author is affiliated with this project, and neither has endorsed it. Please don't send them bug reports about it -- use the issue tracker below.

Requirements

ParCool and Sable. With either missing the mod disables itself quietly.

Source, issues and a Russian readme: https://github.com/Argorice/ParcoolXSable

Free use in modpacks is permitted.