Jumper3DBehavior
@zylem/game-lib / behavior / Jumper3DBehavior
Variable: Jumper3DBehavior
constJumper3DBehavior:BehaviorDescriptor<Jumper3DBehaviorOptions, \{getJumpsRemaining: () =>number;getJumpsUsed: () =>number;getState: () =>Jumper3DState;isJumping: () =>boolean; \},Jumper3DEntity>
Defined in: node_modules/.pnpm/@zylem+behaviors@0.8.9_@types+react@19.3.0_react@19.3.0_three@0.185.1/node_modules/@zylem/behaviors/dist/jumper-3d.d.ts:124
Jumper3DBehavior — composable 3D jump behavior.
Provides height-based jumping, multi-jump, coyote time, jump buffering, variable jump height, configurable fall gravity, and optional air control.
Designed to compose with any movement controller (e.g. FirstPersonBehavior) — the controller writes X/Z velocity and Jumper3DBehavior writes Y velocity.
Example
import { Jumper3DBehavior } from "@zylem/game-lib/behavior";
const jumper = player.use(Jumper3DBehavior, {
jumpHeight: 2.5,
gravity: 20,
maxJumps: 2,
coyoteTimeMs: 100,
jumpBufferMs: 80,
variableJump: { enabled: true, cutGravityMultiplier: 3 },
fall: { fallGravityMultiplier: 1.5 },
});
player.onUpdate(({ inputs }) => {
player.$jumper.jumpPressed = inputs.p1.buttons.A.pressed;
player.$jumper.jumpHeld = inputs.p1.buttons.A.held > 0;
player.$jumper.jumpReleased = inputs.p1.buttons.A.released;
const state = jumper.getState(); // Grounded | Jumping | Falling
});