假人
Leaves 提供了类似 Carpet 的假人支持,假人的命令为 /bot
。
什么是假人
假人是一个玩家实体,怪物会被它吸引并攻击它,它也可以模拟部分玩家操作。比如:
- 区块随机刻
- 生物生成
- 物品使用
- 方块破坏
- ....
与普通玩家不同的是,假人拥有一定数值的自然生命恢复。
权限
bukkit.command.bot
- 允许玩家使用/bot
命令。
TIP
在执行命令前,请确保已经拥有此权限。
创建假人
要创建假人,请在游戏内执行命令:/bot create <假人名> [皮肤名]
, 或在控制台执行命令:/bot create <假人名> [皮肤名] <X> <Y> <Z>
<假人名>
是必要参数,并且假人名称需要符合 Minecraft 的玩家名规范。
[皮肤名]
是可选参数,假人将会使用皮肤名对应的皮肤。若没有填写此参数,则假人会使用假人名的对应皮肤。
通过在游戏内执行命令创建的假人会继承创建者的位置和视角(也就是创建者的 NBT 标签 Rotation
和 Pos
)。
TIP
如果玩家在创建假人后不离开假人位置,则假人会和玩家发生碰撞而导致一定位置偏移。
DANGER
假人不能穿过传送门,因此需要将假人放置在需要的世界。如果使用命令或其他方法使假人改变世界,则假人可能不会正常工作。
移除假人
假人无法复活,即使游戏规则 keepInventory
为 true
,也会在死亡后扔出所有物品并移除自己(而不是像 Carpet 那样断开连接)。
在默认情况下,假人会在服务器关闭前被全部移除。 你可以在配置中修改假人是否在服务器重启之后自动还原。
你也可以使用命令 /bot remove <假人名>
来移除指定的假人。
假人动作
动作是假人的重要部分,它可以让假人完成更多任务。 截止目前,假人一共拥有18种动作。
每个假人可以同时执行多个动作,但每种动作只能有一个参数。当一个动作被重新设置时,假人会丢失旧动作的所有数据。
你可以使用命令 /bot action <假人名> <动作名> [动作参数]
来指定假人的动作。
命令 /bot action <假人名> list
将用于查看指定假人当前的所有动作。
动作参数
TickDelay
- 类型:
整数
- 默认值:
20
- 描述: 每次成功执行一次操作后的等待时间,单位为 tick。
DoNumber
- 类型:
整数
- 默认值:
-1
- 描述: 每次动作中可以成功执行操作的次数,如为
-1
则为无限。
X 或 Y 或 Z
- 类型:
浮点数(小数)
- 默认值:
0.0
- 描述: 一个 X/Y/Z 坐标。
攻击前方实体动作
- 动作名:
attack
- 动作参数:
[TickDelay] [DoNumber]
- 描述: 当假人开始执行这项动作时,假人将尝试攻击 视线前方 的实体。
攻击碰撞箱内实体动作
- 动作名:
attack_self
- 动作参数:
[TickDelay] [DoNumber]
- 描述: 当假人开始执行这项动作时,假人将尝试攻击自己 碰撞箱 内的实体。
方块破坏动作
- 动作名:
break
- 动作参数:
[TickDelay] [DoNumber]
- 描述: 当假人开始执行这项动作时,假人将尝试挖掘 视线前方 的方块。
物品扔出动作
- 动作名:
drop
- 动作参数:
无
- 描述: 当假人开始执行这项动作时,假人将扔出背包中的所有物品。
自动钓鱼动作
- 动作名:
fish
- 动作参数:
[TickDelay] [DoNumber]
- 描述: 假人将尝试自动钓鱼。
跳跃动作
- 动作名:
jump
- 动作参数:
[TickDelay] [DoNumber]
- 描述: 当假人开始执行这项动作时,假人将尝试进行跳跃。
趴下动作
- 动作名:
lay
- 动作参数:
无
- 描述: 当假人开始执行这项动作时,假人将尝试趴下。
注视动作
- 动作名:
look
- 动作参数:
<X>
<Y>
<Z>
- 描述: 当假人开始执行这项动作时,假人将看向一个给定的坐标。
转向动作
- 动作名:
rotate
- 动作参数:
无
- 描述: 当假人开始执行这项动作时,假人将看向玩家所在位置。
下蹲动作
- 动作名:
sneak
- 动作参数:
无
- 描述: 当假人开始执行这项动作时,假人将切换潜行状态。
动作停止
- 动作名:
stop
- 动作参数:
None
- 描述: 当执行命令之后假人将立刻停止所有动作。
游泳动作
- 动作名:
swim
- 动作参数:
无
- 描述: 当假人开始执行此项动作时,假人将尝试在水中自动浮起(而不是进入游泳姿态)。
物品使用动作
- 动作名:
use
- 动作参数:
[TickDelay] [DoNumber]
- 描述: 假人将尝试使用主手物品,此动作将不会尝试对方块或实体使用物品。
副手物品使用动作
- 动作名:
use_offhand
- 动作参数:
[TickDelay] [DoNumber]
- 描述: 假人将尝试使用副手物品,此动作将不会尝试对方块或实体使用物品。
DANGER
假人尝试使用带有 GUI 的物品的行为是未定义的。
对方块使用物品动作
- 动作名:
use_on
- 动作参数:
[TickDelay] [DoNumber]
- 描述: 假人将尝试对视线前方的方块使用主手物品。
对方块使用副手物品动作
- 动作名:
use_on_offhand
- 动作参数:
[TickDelay] [DoNumber]
- 描述: 假人将尝试对视线前方的方块使用副手物品。
DANGER
假人尝试使用带有 GUI 的方块(如工作台,熔炉,铁砧等)的行为是未定义的。
对实体使用物品动作
- 动作名:
use_to
- 动作参数:
[TickDelay] [DoNumber]
- 描述: 假人将尝试视线前方的实体使用主手物品。此动作将允许假人进入载具(进去就出不来了)。
对实体使用副手物品动作
- 动作名:
use_to_offhand
- 动作参数:
[TickDelay] [DoNumber]
- 描述: 假人将尝试视线前方的实体使用副手物品。此动作将允许假人进入载具(进去就出不来了)。
DANGER
假人尝试使用带有 GUI 的生物(如装有箱子的羊驼,驴子)的行为是未定义的,可能会引发未知问题。
假人列表
通过使用 /bot list [世界]
来查看全局/各个世界的假人。
[世界]
是可选参数。它默认为 world
/ world_nether
/ world_the_end
。 输入自定义世界的名称以查看位于该世界中的假人。