/ride

/ride

原文:Commands/ride;源修订:3838417。

让实体骑乘其他实体或从其他实体上下来。Java 版所需权限等级为 2;基岩版为 1,且需要开启作弊。骑乘机制参见骑乘。

用法

Java 版中,所有类型的实体均可骑乘另一实体,大部分实体也可被骑乘。不能被骑乘的实体为标记、玩家、钓鱼浮漂、拴绳结和闪电束。骑在其他实体上的实体称为乘客,被骑乘的实体称为载具。

基岩版中,实体不能骑乘原版游戏中其通常无法骑乘的实体。这主要由数据驱动,通过行为包实体文件的 minecraft:rideable 组件控制,详见原版有效骑乘组合及官方文档。基岩版中,本命令还可召唤乘客和坐骑。

语法

Java 版

让 target 骑乘 vehicle:

ride <target> mount <vehicle>

让 target 从其骑乘的任意载具上下来:

ride <target> dismount

基岩版

尝试让 riders: target 骑乘 ride: target:

ride <riders: target> start_riding <ride: target> [teleportRules: TeleportRules] [howToFill: FillType]

让指定乘客下来:

ride <riders: target> stop_riding

让指定载具上的实体下来:

ride <rides: target> evict_riders

在每个可骑乘且未满员的 rides: target 的位置召唤实体,并尝试让新实体骑乘该载具:

ride <rides: target> summon_rider <entityType: EntityType> [spawnEvent: string] [nameTag: string]

在每个 riders: target 的位置召唤实体,并尝试让指定乘客骑乘新实体:

ride <riders: target> summon_ride <entityType: EntityType> [rideRules: RideRules] [spawnEvent: string] [nameTag: string]

参数

  • target(Java 版,entity):乘客。须解析为单个实体,可使用玩家名称、目标选择器或 UUID。
  • vehicle(Java 版,entity):坐骑。须解析为单个实体,可使用玩家名称、目标选择器或 UUID。
  • riders: target(基岩版,CommandSelector<Actor>):乘客,可使用玩家名称或目标选择器。start_riding 模式下,若 teleportRules: TeleportRules 为 teleport_ride,应仅指定一个实体。
  • ride: target(基岩版,CommandSelector<Actor>):一个坐骑。应仅指定一个实体,可使用玩家名称或目标选择器。
  • rides: target(基岩版,CommandSelector<Actor>):坐骑,可使用玩家名称或目标选择器。
  • teleportRules: TeleportRules(基岩版):必须为 teleport_ride 或 teleport_rider,指定被传送的是坐骑还是乘客。省略时为 teleport_rider。
  • howToFill: FillType(基岩版):必须为 if_group_fits 或 until_full。if_group_fits 会检查全部乘客能否同时骑乘,仅在能全部容纳时让其上车;until_full 或省略时逐个上车,直到坐骑满员。
  • entityType: EntityType(基岩版):要召唤的实体,须为实体类型 ID。
  • spawnEvent: string(基岩版,basic_string):为待召唤实体指定实体事件,应为生成事件,即行为包中的实体事件名称。须为字符串,可用双引号包含空格。
  • nameTag: string(基岩版,basic_string):为待召唤实体指定名称。须为字符串,可用双引号包含空格。
  • rideRules: RideRules(基岩版):必须为 no_ride_change、reassign_rides 或 skip_riders。skip_riders 仅为当前没有骑乘其他实体的乘客召唤实体;no_ride_change 仅为既未骑乘其他实体、也未被其他实体骑乘的乘客召唤实体;reassign_rides 或省略时,先让正在骑乘的目标下来,再为所有目标召唤实体。

结果

命令不完整或任一参数指定不正确时,两版本均无法解析。除以下失败情形外,命令成功。

Java 版失败情形

  • target 或 vehicle 无法解析为实体,指定名称的玩家须在线。
  • mount:乘客已经骑乘某个实体。
  • mount:载具是标记、玩家、钓鱼浮漂、拴绳结或闪电束。
  • mount:检测到骑乘循环,即载具正骑乘该乘客、该乘客的乘客,或更深层级的乘客。
  • mount:乘客与载具位于不同维度。
  • dismount:目标没有骑乘任何实体。

基岩版失败情形

  • riders: target、rides: target 或 ride: target 无法解析为一个或多个实体,指定名称的玩家须在线。
  • start_riding:ride: target 选中了多个实体,或选中的坐骑已满员。
  • start_riding:传送规则为 teleport_ride,但乘客目标多于一个。
  • start_riding:填充规则为 until_full 或未指定,而坐骑对所有指定乘客均不可骑乘。
  • start_riding:填充规则为 if_group_fits,而指定乘客过多、无法同时容纳,或至少有一名乘客不能骑乘该坐骑。
  • stop_riding:没有一个指定乘客正在骑乘其他实体。
  • evict_riders:没有一个指定坐骑被其他实体骑乘。
  • summon_rider:所有指定坐骑均已满员,或均不适合由相应乘客骑乘。
  • summon_rider 或 summon_ride:尝试在和平难度召唤敌对生物。
  • summon_ride:所有召唤出的实体都无法由指定乘客骑乘。

输出

Java 版失败时成功次数、成功值、结果值均为 0,成功时均为 1。基岩版失败时成功次数为 0,成功时如下:

模式 成功次数
start_riding 成功骑乘目标坐骑的实体数量
stop_riding 成功下来的实体数量
evict_riders 成功驱离乘客的载具数量
summon_rider 成功骑乘对应坐骑的新召唤实体数量
summon_ride 成功被对应乘客骑乘的新召唤实体数量

示例

Java 版中,像对待普通马那样骑上骷髅马并尝试驯服:

/ride @s mount @e[type=minecraft:skeleton_horse,limit=1]

Java 版中,让自己骑在最近的箭上:

/ride @s mount @n[type=arrow]

基岩版中,在每个带有 A 标签的玩家处召唤一支箭:

/ride @a[tag=A] summon_ride arrow

基岩版中,在每个带有 A 标签的玩家处召唤一只闪电苦力怕:

/ride @a[tag=A] summon_ride creeper reassign_rides minecraft:become_charged

基岩版中,为所有鸡召唤幼年僵尸乘客,形成鸡骑士:

/ride @e[type=chicken] summon_rider zombie minecraft:as_baby_jockey

外部链接

Microsoft Learn:/ride 命令(2023 年 10 月 11 日)。

来源为 Minecraft Wiki;本中文翻译/改编按 CC BY-NC-SA 3.0 共享。