第189章 ,/.

为了验证我们的猜想,先随机一个UUID:

十六进制——09fa22c0-807d-4a29-b0fa-a6513fab4822

数组形——[I;,-,-,]

将『09fa22c0-807d-4a29-b0fa-a6513fab4822』的连字符去掉,再平均分成4段,并取最前面的那一段,也就是:

09fa22c0

划成十进制就是:!

这种数组形式的UUID本质上就是将16进制形态的UUID平均分成四段再分别划成十进制最后组合成一个数组!

等等,遇到了一个小问题,这个负数问题,该怎么办?

百毒一下,你就知道。

说了这么多UUID,那么UUID该怎么获取?

如果你是一位Java版的腐竹,开着一个服务器,那你就可以到服务器的根目录找到一个名叫usercache.json或usernamecache.json的文件,里面有全部服务器玩家的UUID。

对于Java的正版玩家来说,有许多网站可以通过输入玩家的名字或UUID来查询一个正版玩家的皮肤、UUID等信息,甚至可以知道这个玩家去过哪些服务器,这些服务器现在有多少人在线,他的游戏时长是多少!虽然不知道这些数据是怎么获取的(极有可能是爬虫),但这也方便我们查询自己的UUID(以及别人的)。

比如最常见的mcuuid.net和namemc.。

但别忘了,实体也有UUID。那实体的UUID如何获取?

有很多种方法,你可以去网上搜。这里只讲一个最方便的:

在Java1.13及以上版本中,使用聊天栏填写指令时,只要你的准心对着一个实体,在填写目标选择器类型的参数时你就可以通过Tab键一键获取到这个实体的UUID(有连字符的十六进制形式)。

对了,正版玩家的UUID还可以通过Mojang给出的api来获取,具体用法为:

api.mojang./users/profiles/minecraft/一个正版玩家的用户名

这里拿一个用户名叫做『Minecraft』的正版玩家举例,输入api.mojang./users/profiles/minecraft/Minecraft,网页就会返回如下JSON:

{“name“:“Minecraft“,“id“:“bfae140c3b836a066c6debd8f“}

其中的id就是这名玩家的十六进制UUID。

附录:UUID历史

Java

1.16——NBT中的UUID几乎都改成了整形数组的形式,抛弃了原有的高低位形式。