Minecraft JE: 原版实现记分板随机数生成
Minecraft JE: 原版实现随机数生成
在 Minecraft BE 中,存在指令 scoreboard players random <player> <objective> <min> <max>
可以实现随机数生成,但是在 Minecraft JE 中并没有这个指令
如果要在 Java 版中需要实现记分板随机数生成,可以通过提取实体的 UUID 实现
UUID
UUID(通用唯一识别码)是 128 位长的数字,在 Minecraft 中用来区分不同的对象实例。
在 Minecraft 中,所有实体都有一个 UUID
标签,其中存储了实体的 UUID
通过召唤任意实体,使用 /data get entity <entity> UUID
可以获取实体的 UUID
在实体数据中,UUID 的表示形式为 整型数组,即用4个32位数字表示。每一部分存储在由高到低的整型数组中。
这种表示方式的一个示例为 [I;-132296786,2112623056,-1486552928,-920753162]
。
随机数生成
通过提取上述 UUID 的数据,即可实现随机数生成
使用
/data get entity <entity> UUID[0]
可以获取 UUID 数组中的第一个整数使用
/execute store result score <name> <objective> run data get entity <entity> UUID[0]
可以将 UUID 数组中的第一个整数存储到记分板中使用
/scoreboard players operation <name> <objective> %= <range> <objective>
可以将记分板中的数值取余
完整示例
1 | # 生成随机数标记 |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Hello! I'm 0o酱!
评论