MathBot

From Minecraft Parkour Wiki
Revision as of 21:25, 30 August 2020 by MCPK (talk | contribs) (Created page with "This page lists parkour-related functions defined in MathBot ([https://pastebin.com/enqrGv8r source]). MathBot sometimes clears functions and variables from memory. To easily...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

This page lists parkour-related functions defined in MathBot (source).

MathBot sometimes clears functions and variables from memory. To easily redefine functions, use the commands !math1 and !math2.


Conversion:

RealDistance(bx) Real distance of a straight jump, accounting for the player's bounding box.
RealDistance(bx,bz) Real distance of a diagonal jump, accounting for the player's bounding box.
Tier(t) Tier of a jump from its duration in ticks, or vice-versa.


Jump Height:

Vy(t) Vertical speed t ticks after jumping. (t >= 1)
Height(t) Relative height t ticks after jumping. (t >= 0)
Duration(h) Duration of a jump of height h. (h <= max jump height)

Add "_new" at the end of the function to get 1.9+ values.


Actions:

v is the input speed. Output is a speed value (in m/t).

Sprint(v) Apply a sprint tick, assuming the player is on ground
Sprint_land(v) Apply a sprint tick, assuming the player just landed from a jump
Sprint_air(v) Apply a sprint tick, assuming the player is and was airborne
Sprint45(v) Apply a 45° sprint tick, assuming the player is on ground
Sprint45_land(v) Apply a 45° sprint tick, assuming the player just landed from a jump
Sprint45_air(v) Apply a 45° sprint tick, assuming the player is and was airborne
Walk(v) Apply a walk tick, assuming the player is on ground
... ... (same syntax)
Sneak(v) Apply a sneak tick, assuming the player is on ground
... ... (same syntax)
Stop(v) No inputs for one tick, assuming the player is on ground
Stop_land(v) No inputs for one tick, assuming the player just landed from a jump
Stop_air(v) No inputs for one tick, assuming the player is and was airborne


Jump Speed

v is the input speed, t is the duration. Output is a speed value (in m/t).

Vh(v,t,J,M) Apply a jump of duration t, with initial speed v.

J is the jump bonus, M is the movement multiplier.

Sprintjump(v,t) Apply a sprintjump
Sprintjump45(v,t) Apply a sprintjump, facing 45° after jumping
Walkjump(v,t) Apply a no-sprint jump
Walkjump45(v,t) Apply a no-sprint jump, facing 45°
Strafejump(v,t) Apply a strafejump (like on rex bwmm)
Strafejump45(v,t) Apply a strafejump, facing 45° after jumping

Add _del at the end of the function if the jump is delayed (previous tick was on ground).


Chained Jumps Speed

v is the input speed, t is the duration, n is the number of jumps. Output is a speed value (in m/t).

Vchain(v,t,J,M,n) Apply n jumps of duration t, with initial speed v.

J is the jump bonus, M is the movement multiplier.

Chain_Sprintjump(v,t,n) Apply a sprintjump
Chain_Sprintjump45(v,t,n) Apply a sprintjump, facing 45° after jumping
Chain_Walkjump(v,t,n) Apply a no-sprint jump
Chain_Walkjump45(v,t,n) Apply a no-sprint jump, facing 45°

Add _del at the end of the function if the first jump is delayed (previous tick was on ground).


Jump Distance

v is the input speed, t is the duration. Output is a distance value (in meters).

Dist(v,t,J,M) Distance of jump of duration t, with initial speed v.

J is the jump bonus, M is the movement multiplier.

Dist_Sprintjump(v,t) Distance of a sprintjump
Dist_Sprintjump45(v,t) Distance of a sprintjump, facing 45° after jumping
Dist_Walkjump(v,t) Distance of a no-sprint jump
Dist_Walkjump45(v,t) Distance of a no-sprint jump, facing 45°
Dist_Strafejump(v,t) Distance of a strafejump (like on rex bwmm)
Dist_Strafejump45(v,t) Distance of a strafejump, facing 45° after jumping

Add _del at the end of the function if the jump is delayed (previous tick was on ground).