我的世界随机数字怎么生成 我的世界随机数字指令分享


我的世界随机数字怎么生成 我的世界随机数字指令分享


我的世界随机数字怎么生成?游戏中随机数字生成指令是怎么样的相信小伙伴们都好奇的吧 , 今天小编给大家带来我的世界随机数字指令分享 , 快来看一下吧 。
我的世界随机数字怎么生成 我的世界随机数字指令分享


我的世界随机数字指令分享我在写scoreboard的指令教程的时候突然猛醒——这里不是有一个超方便的随机数生成吗?找到了一种 , 至少在7位数以内有效的方法 。
我不卖关子:
1. 如果没有指定生成的实体UUID , 他的UUID不是随机的么?
2. 我们不是可以用execute store把UUID导入记分板里么?
那......我们还用什么谓词 , 用什么战利品表 , 还用什么...复杂的数据包?
好吧好吧 , 我不能肯定UUID是真“绝对随机” , 但......说真的 , 你要那么随机干嘛?
而且 , 逻辑学告诉你 , 永远无法判断一串数是不是随机的 。(笑)
UUID有几位?
说是“4个32位数字” 。但测试后 , 不一定有多长 。
一般来说 , 有个8到10位 。
记分板最多也就10位而已 。
而“把大数变小”绝对不难 。
【我的世界随机数字怎么生成 我的世界随机数字指令分享】例:
1. 生成一个随便什么东西 , 为了方便 , 我们用盔甲架 。再创建一个记分板 。
/scoreboard objectives add r dummy
/summon armor_stand ~1 ~ ~ {Tags:["random"]}
记分板就叫r , 盔甲架加了个标签以便管理 。
然后用execute store:
/execute store result score @e[tag=random,limit=1] r run data get enetity @e[tag=random,limit=1] UUID[0]
把大数缩小用记分板求余就好了 , 一点不难 。比如 , 要一百以内随机数:
/scoreboard players add max 100
设定一个叫max的虚拟对象分数为100 。
然后使用max对分数求余:
/scoreboard players operation @e[tag=random,limit=1] r %= max r
比如190478653输出53
结束:
当然 , 这方法对7位以上大数可能不太好就是了 。
所以基本上可以宣布:有关7位数以下的随机器设置————解决了(强迫症患者除外) 。

    推荐阅读