parcoolxsable-1.21.1-1.2.0.jar
Curse Maven Snippet
What's new
1.2.0
Support for ParCool 4.0.x, alongside 3.4.x. One jar — the right set of hooks is chosen at load time from the ParCool that is actually installed.
ParCool 4 is a rewrite rather than an update: the utility class version 3 keeps
all of its world probing in is gone, and detection moved into
InteractingWallDirection and the action classes. So this is a second set of
hooks, not a port of the first. It is still an alpha line and its internals move
between builds; this is built against 4.0.0.2, and hooks that stop matching go
inert rather than breaking anything.
Added on both generations:
- Pole climbing — masts, chains and runs of fence posts.
- Vaulting now sees ship railings on ParCool 4.
- Scuff particles for wall runs, wall slides and slides on ParCool 4. Without them the movement worked on a deck but threw no dust, which reads as the deck not really being there.
- Ship block states are turned into world orientation before ParCool reads them. A block state carries direction — which way a pillar runs, which way a fence connects — and ParCool reads it as a world direction, so on a yawed ship a bar used to swing about the wrong axis.
Fixed:
A hull can be grabbed at any angle it is turned to, and edging along one no longer drops you. ParCool works out which way a wall is by growing the player's box along each world axis and seeing which probes come back blocked, which is exact on flat ground because a wall is always square to a world axis. A turned hull is square to nothing: the sideways probe buries a corner of itself in the same flat face the forward probe is testing, and whether that corner counts turns on a fraction of a block. So one flat wall reported as a wall on some ticks and as an inside corner on others, and flipped as the player moved along it. Each flip is a tick where the grab is refused, and a grip is re-tested every tick, so one refusal is a fall.
Those four probes are now answered from the hull's own faces -- which is where a ship's block faces actually point -- and each face is reported as the world direction it most nearly lies along. One flat face gives one answer at every angle and everywhere along it; a real corner still gives two. Only the four straight probes are answered this way, and only where the world itself found nothing, so ground behaviour is untouched.
Hanging from a hull no longer drags you sideways, and wall running along one no longer slows down. Both are the same fault, and it is an aiming error rather than a collision one. ParCool holds a player against a wall by asking to move into it every tick -- a fifth of a block for a grip, a sixteenth for a wall run -- and it aims that shove along one of twelve fixed world directions, which on flat ground is always exactly right. A hull is not square to the world, so a few degrees of yaw leave the shove pointing mostly into the plating and a little along it. The plating absorbs the first part and passes the second, every tick, in the same direction: five degrees of yaw is a third of a block a second of sideways crawl. Measured in play at 0.0151 of a block a tick.
How the residue is taken away went through several designs; the one that shipped is the computed-leak rule described below.
A player hanging off a ledge is carried by a moving ship again on ParCool 4. The carrying used to work by adding the hull's velocity to the player's, which version 4 discards -- an action that grips something replaces the player's velocity outright every tick. It now moves the player by however far the hull under their hands has travelled since the last tick, which nothing overrides and which cannot accumulate error.
The character and its animations stand with the ship during parkour. The up is whichever side of the hull faces the sky -- not the hull's own +Y, so a ship pitched or rolled a quarter turn, or flipped outright, always yields a modest correction and never a capsized one. Horizontally the model is turned by the residual between the ship's grid and the nearest world cardinal, so the animation ParCool builds for a cardinal lands flush on the real plating at any angle. Both apply only while a parkour action is engaging the hull; standing on a turned deck keeps the world-upright model. Config: alignToShip.
Grab probes are re-seated by the same sky-side rotation the model turns by, so the hands the player sees and the hands being tested are the same hands -- including on a ship rolled past ninety degrees, where every grab used to come back empty.
A ship that yaws underfoot turns the player with it, look and all, so running on a turning hull reads like running on ground that stands still.
The sideways press leak is computed outright instead of estimated: ParCool's shove magnitudes are known constants aimed along this mod's own quantised answer, so the tangential residue the plating passes through is arithmetic. It is subtracted from position for the hang (a move-point action, where it cannot accumulate) and from both position and velocity for the horizontal wall run (a velocity action, where it compounds under drag to an order of magnitude past its per-tick size -- simulated at up to 265% asymmetry between the two run directions before the fix, under 8% after).
The wall run takes part in all of the above at all. ParCool 4's momentary actions carry no isDoing method, and the reflective handler read its absence as "not doing", silently excluding WallRun and WallJump from model alignment, turn-following and leak correction alike.
Changed:
- The grip assist lets go once you are moving away from a hull faster than the
new
releaseSpeedoption (0.25 blocks per tick, measured relative to the ship). It reaches further than ParCool does, which is the point of it, but the same reach could catch a deliberate jump off a deck on the way out. - Probe boxes that are square to the world are compared to the hull with a separating-axis test instead of the axis-aligned approximation used before. The box drawn around a rotated box is up to 70% fatter at a 45° bank, and a fatter probe reads clear air as solid.
sweptCollisionremoved. It counted contact with the poses a moving hull had passed through since the last tick, on the theory that extra contact can only ever enable an action. It cannot: ParCool sums four opposing wall probes into one direction, so a hull reading as present on both sides cancels to nothing.
Documentation: an earlier README said ParCool+ uses no mixins. That was true when written and stopped being true in August 2026. It patches some of the same ParCool 3 methods, at different injection points, and the two coexist.
Tested against ParCool 1.21.1-3.4.3.3 and 1.21.1-4.0.0.2, Sable Companion 1.6.0, NeoForge 21.1.233.
This mod has no additional files

