机器人

    From Minecraft Parkour Wiki
    This page is a translated version of the page Bot and the translation is 100% complete.
    Other languages:

    MCPK 机器人是一个致力于取代 MathBot 来计算运动的 Discord 机器人。实际上,一直重新定义函数越来越令人厌烦,而且语法使用起来也不太方便。MathBot 作为通用计算工具仍然非常有用。

    相对于 Mathbot 的优点

    • 更充实且更具描述性的输出
    • 内置了函数:不需要手动重定义它们。
    • 机器人使用浮点数运算而不是分数,因此模拟更精确。
    • 对于模拟运动:
      • X 和 Z 运动都被考虑在内,并计入了动量阈值。
      • 操作是从左到右读取的,读写起来更方便。
      • 所有操作都有方向这一可选参数。



    距离

    %distance <X> [Z]

    返回 X 乘 Z 跳跃的真距(以方块为距离单位,Z 方向为可选变量)

    公式就是简单的


    范例:

    • 4b 跳跃:%distance 4
    • 3x3 跳跃:%distance 3 3



    滞空时间

    %duration <跳跃高度> [天花板高度]

    对于给定的高度,返回一个跳跃的滞空时间(高度以方块为单位,天花板高度为可选变量)


    范例:

    • -1.5b 跳跃:%duration -1.5
    • 3bc +1 跳跃:%duration 1 3




    高度

    %height <起跳 Tick 数> [天花板高度]

    返回玩家 n ticks 后的起跳高度(天花板高度可选填)


    范例:

    • 12t 跳跃:%height 12
    • 2bc 9t 跳跃:%height 9 2



    卡角

    %blip <重复次数> [初始高度] [卡角高度] [最后跳跃 Tick 数]

    返回连续卡角后玩家的高度(按惯例,Y=0 作为地面)

    • <重复次数> 为连续卡角的次数
    • [初始高度] 是玩家第一次起跳前的初始高度(默认:0.0)
    • [卡角高度] 是卡角所用平面的高度(例如:地毯为 0.0625,活板门为 0.1875……)
    • 除非指定了 [最后跳跃 Tick 数],否则按照默认值(6 tick)来返回跳跃的最高高度。


    范例:

    • starting from Y=200: %blip 4
    • 荷叶 17 连卡角:%blip_top 17 0.015625



    模拟

    %simulate <操作>(或仅输入 %<操作>)

    从左到右读取给出的操作,并模拟运动的结果。


    操作:

    操作拥有两个变量:

    • 刻:操作的持续时间,以刻为单位
    • 方向(可选):操作的方向(不是 facing),以度为单位
    操作 介绍
    stop, stop_air 无输入
    sneak, sneak_air 潜行
    sneak45, sneak45_air 带有 45°斜跑的潜行
    sneaksprint,

    sneaksprint_air

    带有疾跑的潜行(用于 1.14+,or for sprint delay in air)
    sneaksprint45,

    sneaksprint45_air

    Sneak with sprint (used for 1.14+, or for sprint delay in air)
    walk, walk_air 行走
    walk45, walk45_air 带有 45°斜跑的行走
    sprint, sprint_air 疾跑
    sprint45, sprint45_air 带有 45°斜跑的疾跑
    stopjump 无移动跳跃
    walkjump 无疾跑跳跃
    walkjump45 无疾跑跳跃,在跳跃期间使用 45°斜跑
    Lwalkjump

    Rwalkjump

    无疾跑跳跃,在跳跃的 tick 向左(Left)或右(Right)斜键。
    sprintjump 疾跑跳跃
    sprintjump45 疾跑跳跃,在跳跃期间使用 45°斜跑
    Lsprintjump

    Rsprintjump

    疾跑跳跃,在跳跃的 tick 向左(Left)或右(Right)斜键。

    范例:用于 rex bwmm

    Lsprintjump45

    Rsprintjump45

    疾跑跳跃,在跳跃期间向左(Left)或右(Right)斜跑。

    范例:用于 1bm 5-1

    在操作前添加“max_”以获得该操作的最大加速(将该操作重复 20 次)


    特殊符号:

    • MomentumMM,以及 | 将当前的操作设置为助跑(在最后一 tick 重置位置的负值)
    • Blocks,和 b 将输出的落地距离转换成方块(如果不为零,在 X 和 Z 轴上 ± 0.6)
    • Meters,和 m 将输出的落地距离转换成米(默认值)
    • Positionpos,以及 p 将输出转换为相对位置(当你不在计算跳跃距离时使用)



    用法:

    语法分析器从左向右读取操作和记号。所有的操作和记号应当用空格分隔。

    Momentum 记号可以置于任意两个操作之间。

    BlocksMetersPosition 记号置于语句末尾(不可同时使用)。



    范例:

    • 延立:% sprint | sprintjump(12)
    • rex bwmm:% walkjump(12,180) walk(1,180) Lsprintjump(12) | sprintjump(12)
    • 1bm 5-1:% walkjump45(12,170) walk45(1,170) Lsprintjump45(1,-10) sprint45_air(11) |