/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 |
成功被对应乘客骑乘的新召唤实体数量 |
示例
/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 共享。