把实体(如玩家、生物、物品等)随机传送到区域内地表的某个位置。
语法[]
- Java版
spreadplayers <x> <z> <分散间距> <最大范围> [under 最大高度] <考虑队伍> <传送目标…>
- 基岩版
spreadplayers <x:value> <z:value> <spreadDistance: float> <maxRange: float> <victim: target>
参数[]
x z
(基岩版:x:value
和z:value
)
- 指定传送目的地区域的中心。
x
和z
必须是在-30,000,000和30,000,000之间(含,不输入逗号)的整数。可以使用波浪号来指定基于命令执行位置的相对坐标。
分散间距
(基岩版:spreadDistance: float
)
- 指定传送目标之间的最小间距。最小值为0.0。
最大范围
(基岩版:maxRange: float
)
- 指定目标区域边界与区域中心在x和z轴上的距离(因此区域是正方形而不是圆形)。必须比
分散间距
大,且最小值为1.0。
考虑队伍
- 同队成员在传送后会不会出现在一起。必须是
true
或false
。如果为true
,同队的目标会被传送到同一个位置。
最大高度
- 指定传送位置的最大高度。
传送目标
(基岩版:victim: target
)
效果[]
命令 | 触发条件 | Java版 | 基岩版 |
---|---|---|---|
任意 | 指定的参数不正确 | 无法解析 | 执行失败 |
<目标> 或玩家:目标 未能解析出至少一个实体(指定的玩家必须在线) | 执行失败 | ||
实体过多以致无法在指定区域内满足<分散间距> 的需求 | |||
/spreadplayers ... under ... | 在<最大高度> 以下没有可用空间 | N/A | |
任意 | 执行成功时 | 将目标传送至指定区域地表上的位置 |
输出[]
命令 | 版本 | 条件 | 成功次数 | /execute store success ... | /execute store result ... |
---|---|---|---|---|---|
任意 | Java版 | 失败 | 0 | 0 | 0 |
/spreadplayers ... true ... | 成功 | 1 | 1 | 目标所在的队伍数量 | |
/spreadplayers ... false ... | 成功 | 1 | 1 | 目标实体的数量 | |
任意 | 基岩版 | 失败 | 0 | N/A | N/A |
成功 | 1 | N/A | N/A |
注意[]
目标总是会被放置在某个位置的最顶部方块上(除非带有under
参数),并且绝对不会被放置在熔岩上。
/spreadplayers
命令并不按照均匀分布将实体散布在地表上。该命令服从高斯分布,离命令中指定的位置越近的位置上有更高的概率出现实体。该现象相当不明显,且在半径较短时不会表现出来,但是如果你需要均匀分布,使用该命令可能产生一些问题。利用@r选择器或是发射器产生的随机数则没有这个问题。
示例[]
- 传送所有玩家到以(0,0)为中心,大小为1,000×1,000的区域中的一个随机的地点,同队的玩家聚集在一起,且每队之间最小的间隔为200格:
spreadplayers 0 0 200 500 true @a
- 从三个队伍(Red、Blue、Green)中各随机选取一名玩家,再加上Alice和Bob,传送至以(0,0)为中心,大小为200×200的区域中,且玩家之间最小的间隔为50格:
spreadplayers 0 0 50 100 false @r[team=Red] @r[team=Blue] @r[team=Green] Alice Bob
历史[]
Java版 | |||||
---|---|---|---|---|---|
1.6.1 | 13w23a | 加入了/spreadplayers 。 | |||
1.16 | 20w21a | 新增了“最大高度”参数。 | |||
携带版 | |||||
1.0.5 | 1.0.5.0 | 加入了/spreadplayers 。 |