当前位置:首页 > 我的世界 > 《我的世界》随机数字怎么生成?

《我的世界》随机数字怎么生成?

时间:2021-03-06 16:24 作者:猫小编 来源:小皮网 我要评论

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

 

《我的世界》随机数字怎么生成?

 

  我的世界随机数字指令分享

 

  我在写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位数以下的随机器设置————解决了(强迫症患者除外)。

 

  以上就是我的世界随机数字指令分享的全部内容,大家都了解了吧。

 

最新资讯