/random
来源:Commands/random;原文修订 ID:3688870。
本命令仅适用于 Java 版。未附带 <sequence> 参数的 /random (roll|value) 权限等级为 0;/random reset 以及附带 <sequence> 的取数形式权限等级为 2。
生成随机整数,或控制世界中的随机序列。
语法
random (value|roll) <range>:输出随机整数。范围用两个由双句点分隔的整数表示,第一个数必须小于第二个数。random (value|roll) <range> <sequence>:从指定随机序列采样随机整数。序列不存在时,使用世界随机序列设置创建。random reset *:移除世界中的全部随机序列。当战利品表调用随机序列时,会按世界设置重新创建。random reset * <seed> [<includeWorldSeed>] [<includeSequenceId>]:移除全部随机序列并设置世界随机序列设置。若世界从未执行/random reset * ...,设置为0、true、true。random reset <sequence>:移除指定随机序列并按世界设置重新创建;若不存在则直接创建。random reset <sequence> <seed> [<includeWorldSeed>] [<includeSequenceId>]:移除指定随机序列并按指定设置(而非世界设置)重新创建;若不存在则直接创建。
另见随机序列格式的用法。
参数
value|roll:抽取随机数时是否通知其他玩家。value只向执行者在聊天中显示结果;roll向全部玩家广播结果。range(int_range):抽取范围,范围大小max - min + 1应在 2–2147483646 之间。sequence(resource_location):要采样或重置的随机序列资源位置;不存在时创建。seed(整数):盐值。includeWorldSeed(bool):初始化随机序列时,是否将世界种子与指定的<seed>结合,默认true。includeSequenceId(bool):初始化随机序列时,是否将序列 ID 的哈希与指定的<seed>结合,默认true。
示例
/random roll 1..5:生成 1–5 的随机数并输出到聊天。execute store result score @p random_number run random value 1..10:生成 1–10 的随机数,保存为最近玩家在random_number记分项中的分数。- 先执行
/execute store result score player random_number run random value 1..3,再执行/tellraw @a [{text:"Rolled number "},{"score": {"name": "player", "objective": "random_number"} }]:生成 1–3 的随机数,并显示Rolled number <rolled number>。
结果
参数不正确时无法解析。取数形式的 <range> 范围大小小于 2 或大于 2147483646 时失败;其他情况成功。
输出
失败时成功次数、success、result 均为 0。成功时成功次数和 success 均为 1,result 如下:
| 命令 | result |
|---|---|
/random (value|roll) ... |
抽得的随机值 |
/random reset <sequence> ... |
1 |
/random reset * ... |
世界中当前随机序列数量 |
中文翻译/改编自 Minecraft Wiki 原条目,原文作者可由页面历史查看;译文遵循 CC BY-NC-SA 3.0(署名、非商业性使用、相同方式共享)。