• >
  • 辅助Mod
  • >
  • [YAB]园霖的自动机器人 (Yuanlin's AutoBot)
[YAB]园霖的自动机器人 (Yuanlin's AutoBot)
模组属性评比

距离显示结果还剩5票~

路过的这位少侠,你觉得这款Mod怎么样,可否愿意来评一评它呢?登录并评比
更新日志
  • 暂无日志..

历史编辑记录更多
    管理组

      暂无管理组..

    编辑组

      暂无编辑组..

    活跃
    闭源
    [YAB]

    园霖的自动机器人

    Yuanlin's AutoBot

    0.0

    无人问津

    昨日指数: 8
    昨日平均指数: 62.661

    744

    总浏览

    --

    资料填充率


    下载本模组
    • 模组介绍

      本模组实现了模组级别的类似于“按键精灵”的自动化脚本。比普通的按键脚本更加稳定、高效!

      可让玩家变为自动机器人,自动完成重复率高、枯燥乏味的任务,解放双手。

      模组创建了一个轻量级的脚本语言 YABscript 动态调用 Baritone 和模组内置的多个自动化操作。

      利用 YABscript 可实现:资源自动收集、物资自动存放与获取、掉落物自动收集、自动种植、自动寻路、自动右击等。

      YABscript 脚本语言介绍

      YABscript 是本模组实现的一个轻量级、支持循环控制、变量定义(目前版本不稳定)的脚本语言。

      本模组搭配 Baritone,内部实现了多个自动化“原子操作”如:资源自动收集、打开或关闭容器(箱子、熔炉等)、自动寻路等。

      利用 YABscript 便可将这些原子操作进行动态调用组合,实现更为丰富、复杂的自动化操作

      原子操作介绍

      原子操作即单个的自动化操作如:自动打开容器、自动寻路等,以下为目前所有可用的原子操作:

      适用版本命令参数说明
      0.1moveTox y z移动到 x y z 坐标
      0.1moveForwardx y z移动相对位置,x y z 为偏移量
      0.1openBlockx y z打开 x y z 的容器或者右击 x y z 中心位置
      0.1waittick等待 tick 时间,单位 gt
      0.1moveItemitem moveType number

      移动物品,item 为目标物品,moveType 取值为INV2CON、CON2INV和ALL分别对应背包移动容器、容器移动背包和包括背包和容器

      number 指移动的物品堆叠数量(为-1时表示移动所有目标物品)

      0.1getBlockblock count在周围获取(挖掘)count 数量的 block 方块
      0.1getDropItemitem range在范围 range 格内拾取所有 item
      0.1closeBlock关闭容器界面
      0.1whileStarttimes whileId循环 times 次,whileId 为循环体标记 id
      0.1whileEndwhileId循环 id 的结束语法
      0.1farmfarmItem farmRange自动种植。使用 farmItem 在范围 farmRange 格内种植
      0.2

      safeMode

      true / false
      开启或者关闭安全模式,安全模式下玩家不会破坏方块和放置方块
      0.2sendMessage
      message
      发送聊天信息message
      0.2sendCommand
      command
      发送聊天命令command,如/tpa、/seed 等,注意不需要"/",如sendCommand tpa
      0.2

      moveSpeedOption

      walk/run设置移动速度,walk为正常移动、run为奔跑
      0.2lookAtx y z看向坐标x y z方块的中心点
      0.2useItem
      targetItem count
      使用物品id为targetItem的物品count个
      0.2

      attackBlock

      x y z
      攻击x y z坐标中心

      特别注意:

      moveTo 和 moveForward 的目标位置不能是非完整方块(踏板、耕地、灵魂沙、楼梯、栅栏、流体等)。

      moveTo 和 moveForward 原子操作检测操作是否完成的条件是判断玩家 BlockPos 是否与目标 BlockPos 相同。

      而 MC 中 PlayerEntity 类提供的 getBlockPos 函数在玩家脚下为非完整方块时获取的 blockPos 是有误差的(1 格内)。

      这会导致 moveTo 和 moveForward 的目标位置为非完整方块情况下,无法判断操作是否完成进行下一步原子操作。

      脚本示例

      自动木头获取和物品存放

      whileStart 10 1
          whileStart 12 2
              # oak_log为minecraft中的物品、方块、实体id
              getBlock oak_log 10
              getDropItem oak_log 10
              # 吃牛排恢复饥饿值
              useItem cooked_beef 1
          whileEnd 2
          moveTo 121 68 83
          openBlock 121 68 84
          wait 5
          moveItem oak_leaves INV2CON -1
          closeBlock
      whileEnd 1

      脚本解析

      #开头为注释,实际不运行。

      这个脚本会调用 Baritone 的 #mine 命令获取 id 为 oak_wood的 方块(getBlock 原子操作),而挖掘方块的过程中可能会出现漏捡掉落物的情况(特别是在网络情况差的服务器上),故在收集 10 个方块后调用 getDropItem 原子操作收集周围 10 格内的掉落物。

      重复上面的操作 12 次,然后移动到箱子旁边 (x=121 y=68 z=83) 打开箱子 (x=121 y=68 z=84),等待 5gt(等待服务器响应),然后调用 moveItem 将收集到的所有方块移动到箱子中,最后关闭箱子。

      重复上面所有过程 10 次。

      自动向前向后移动

      whileStart 50 1
          moveForward 5 0 0
          wait 20
          moveForward -5 0 0
      whileEnd 1

      脚本解析

      这个脚本会让玩家向 x 轴方向移动 5 格,然后等待 1s(20gt),再反方向移动 5 格。

      重复上面操作 50 次。

      使用教程

      第一次运行模组时会在游戏目录创建文件夹 yab_scripts,将写好的脚本以任何后缀(建议为 .yab)保存为文件存放在 yab_scripts 文件夹下。

      在游戏中输入 /yab_script <脚本文件名> 加载脚本,注意文件名要包括后缀,如 /yab_script auto_farm.yab。

      如果没有显示任何错误,即可输入 /yab_robot toggle 开启自动机器人,此时会运行脚本。

      如果要在运行脚本中途结束脚本,输入 /yab_robot toggle 可关闭机器人停止脚本运行。

      注意:不要在脚本运行途中退出游戏,这会导致游戏崩溃!等待脚本所有操作进行完毕,或者输入 /yab_robot toggle 关闭机器人停止脚本运行,再退出游戏。

      关于脚本的变量定义

      可按照下面的示例定义变量并使用变量:

      $startX=0
      $startY=0
      $startZ=0
      moveTo $startX $startY $startZ

      以$符号开头,后接变量名(大小写敏感、不能与原子操作的名称相同如 moveTo、openBlock)和变量值。

      使用变量只需要将原子操作的参数替换为变量名即可。

      注意:变量定义与使用已经实现,但是目前并不稳定。为了防止游戏崩溃等恶劣情况的发生,模组默认关闭。

    短评加载中..