/random

/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(署名、非商业性使用、相同方式共享)。