MathBot: Difference between revisions

From Minecraft Parkour Wiki
Content added Content deleted
mNo edit summary
(Page no longer maintained, use MCPK-bot instead)
 
(5 intermediate revisions by the same user not shown)
Line 1: Line 1:
__NOTOC__
__NOTOC__
This page lists parkour-related functions defined in MathBot ([https://pastebin.com/djKpnLDh source]).


This page is no longer maintained (deprecated functions, use [[Bot|MCPK-bot]] instead).
MathBot sometimes clears functions and variables from memory. To easily redefine functions, use the commands !math1, !math2, and !math3.


<br />
<br />


=== Conversion: ===
=== Conversion ===
{| class="wikitable"
{| class="wikitable"
|RealDistance(bx,bz)
|RealDistance(bx,bz)
Line 21: Line 20:
<br />
<br />


=== Jump Height: ===
=== Jump Height ===
{| class="wikitable"
{| class="wikitable"
|Vy(t)
|Vy(t)
Line 35: Line 34:




=== Actions: ===
=== Actions ===
'''v''' is the input speed. '''Output''' is a speed value (in m/t).
'''v''' is the input speed. '''Output''' is a speed value (in m/t).
{| class="wikitable"
{| class="wikitable"
Line 77: Line 76:
|No input for one tick, assuming the player is and was airborne
|No input for one tick, assuming the player is and was airborne
|}
|}
<br />



=== Maxed Actions ===
{| class="wikitable"
|MAX_SPRINT
|Maximum speed from sprinting on ground
|-
|MAX_SPRINT_AIR
|Maximum speed from sprinting in air
|-
|MAX_SPRINT45
|Maximum speed from 45° sprinting on ground
|-
|MAX_SPRINT45_AIR
|Maximum speed from 45° sprinting in air
|-
|MAX_WALK
|Maximum speed from walking on ground
|-
|MAX_WALK_AIR
|Maximum speed from walking in air
|-
|MAX_WALK45
|Maximum speed from 45° walking on ground
|-
|MAX_WALK45_AIR
|Maximum speed from 45° walking in air
|-
|MAX_SNEAK
|Maximum speed from sneaking on ground
|-
|MAX_SNEAK_AIR
|Maximum speed from sneaking in air
|-
|MAX_SNEAK45
|Maximum speed from 45° sneaking on ground
|-
|MAX_SNEAK45_AIR
|Maximum speed from 45° sneaking in air
|}<br />
=== Jump Speed ===
=== Jump Speed ===
'''v''' is the input speed, '''t''' is the jump duration. '''Output''' is a speed value (in m/t).
'''v''' is the input speed, '''t''' is the jump duration. '''Output''' is a speed value (in m/t).
{| class="wikitable"
{| class="wikitable"
|Vh(v,t,J,M)
|Jump(v,t,J,M)
|Apply a jump of duration t, with initial speed v.
|Apply a jump of duration t, with initial speed v.
J is the jump bonus, M is the movement multiplier.
J is the jump bonus, M is the movement multiplier.
Line 107: Line 144:




=== Chained Jumps Speed ===
=== Chained Jump Speed ===
'''v''' is the input speed, '''t''' is the jump duration, '''n''' is the number of jumps. '''Output''' is a speed value (in m/t).
'''v''' is the input speed, '''t''' is the jump duration, '''n''' is the number of jumps. '''Output''' is a speed value (in m/t).
{| class="wikitable"
{| class="wikitable"
|Vchain(v,t,J,M,n)
|Chain(v,t,J,M,n)
|Apply n jumps of duration t, with initial speed v.
|Apply n jumps of duration t, with initial speed v.
J is the jump bonus, M is the movement multiplier.
J is the jump bonus, M is the movement multiplier.
Line 127: Line 164:
|}
|}
Add '''''_del''''' at the end of the function if the first jump is delayed (previous tick was on ground).
Add '''''_del''''' at the end of the function if the first jump is delayed (previous tick was on ground).


=== Maximum Jump Speed ===
'''t''' is the jump duration. '''Output''' is a speed value (in m/t).
{| class="wikitable"
|Max_Chain(t,J,M)
|Maximum speed from chained jumps.
J is the jump bonus, M is the movement multiplier.
|-
|Max_Sprintjump(t)
|Maximum speed from chained sprintjumps
|-
|Max_Sprintjump45(t)
|Maximum speed from chained 45° sprintjumps
|-
|Max_Walkjump(t)
|Maximum speed from chained walkjumps
|-
|Max_Walkjump45(t)
|Maximum speed from chained 45° walkjumps
|}





Line 168: Line 227:
|Required speed for a sprintjump
|Required speed for a sprintjump
|-
|-
|SpeedReq_Sprintjump45(v,t)
|SpeedReq_Sprintjump45(d,t)
|Required speed for a sprintjump, facing 45° after jumping
|Required speed for a sprintjump, facing 45° after jumping
|-
|-
|SpeedReq_Walkjump(v,t)
|SpeedReq_Walkjump(d,t)
|Required speed for a no-sprint jump
|Required speed for a no-sprint jump
|-
|-
|SpeedReq_Walkjump45(v,t)
|SpeedReq_Walkjump45(d,t)
|Required speed for a no-sprint jump, facing 45°
|Required speed for a no-sprint jump, facing 45°
|-
|-
|SpeedReq_Strafejump(v,t)
|SpeedReq_Strafejump(d,t)
|Required speed for a strafejump (like on rex bwmm)
|Required speed for a strafejump (like on rex bwmm)
|-
|-
|SpeedReq_Strafejump45(v,t)
|SpeedReq_Strafejump45(d,t)
|Required speed for a strafejump, facing 45° after jumping
|Required speed for a strafejump, facing 45° after jumping
|}
|}

Latest revision as of 13:48, 8 January 2021


This page is no longer maintained (deprecated functions, use MCPK-bot instead).


Conversion

RealDistance(bx,bz) Real distance of a diagonal jump, accounting for the player's bounding box.

If the jump is not diagonal, set bz = 0.

RealMomentum(bx,bz) Real distance of a linear momentum, accounting for the player's bounding box.

If the momentum is not diagonal, set bz = 0.

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 input for one tick, assuming the player is on ground
Stop_land(v) No input for one tick, assuming the player just landed from a jump
Stop_air(v) No input for one tick, assuming the player is and was airborne


Maxed Actions

MAX_SPRINT Maximum speed from sprinting on ground
MAX_SPRINT_AIR Maximum speed from sprinting in air
MAX_SPRINT45 Maximum speed from 45° sprinting on ground
MAX_SPRINT45_AIR Maximum speed from 45° sprinting in air
MAX_WALK Maximum speed from walking on ground
MAX_WALK_AIR Maximum speed from walking in air
MAX_WALK45 Maximum speed from 45° walking on ground
MAX_WALK45_AIR Maximum speed from 45° walking in air
MAX_SNEAK Maximum speed from sneaking on ground
MAX_SNEAK_AIR Maximum speed from sneaking in air
MAX_SNEAK45 Maximum speed from 45° sneaking on ground
MAX_SNEAK45_AIR Maximum speed from 45° sneaking in air


Jump Speed

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

Jump(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 Jump Speed

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

Chain(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).


Maximum Jump Speed

t is the jump duration. Output is a speed value (in m/t).

Max_Chain(t,J,M) Maximum speed from chained jumps.

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

Max_Sprintjump(t) Maximum speed from chained sprintjumps
Max_Sprintjump45(t) Maximum speed from chained 45° sprintjumps
Max_Walkjump(t) Maximum speed from chained walkjumps
Max_Walkjump45(t) Maximum speed from chained 45° walkjumps


Jump Distance

v is the input speed, t is the jump 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).


Speed required to jump a given distance

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

SpeedReq(d,t,J,M) Required speed for a jump of distance d, and duration t.

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

SpeedReq_Sprintjump(d,t) Required speed for a sprintjump
SpeedReq_Sprintjump45(d,t) Required speed for a sprintjump, facing 45° after jumping
SpeedReq_Walkjump(d,t) Required speed for a no-sprint jump
SpeedReq_Walkjump45(d,t) Required speed for a no-sprint jump, facing 45°
SpeedReq_Strafejump(d,t) Required speed for a strafejump (like on rex bwmm)
SpeedReq_Strafejump45(d,t) Required speed for a strafejump, facing 45° after jumping

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