Minecraft指令手册

你好MC

首页 >> Minecraft指令手册 >> Minecraft指令手册最新章节(目录)
大家在看 御兽:我的数码兽很淦 我,LPL,打单 谍海沉浮 算我倒霉爱上你 自建帐以来:罗马汗国记 足球:全网无前任,有也不承认 没有人比老祖我更懂游戏 未来兽世:买来的媳妇,不生崽 网游:我的治疗术能秒人 坏了,这个boss真没正常技能
Minecraft指令手册 你好MC - Minecraft指令手册全文阅读 - Minecraft指令手册txt下载 - Minecraft指令手册最新章节 - 好看的游戏小说

第一百一十章 UUID

上一章 书 页 下一章 阅读记录

在minecraft JAVA 1.7.10版本更新中,mojang认为玩家可以更改用户名。但如果玩家可以更改用户名,那么一个用户名就不能完全代表一个玩家。解决这个问题的唯一办法,就是给玩家添加一个从按下注册那一键开始就不能改变的唯一识别码。

使用什么样的识别码呢?mojang直接就采用了不管是在minecraft中还是在网络上都十分常用的『Universally Unique Identifier』来作为玩家的不可改变识别码,这就是作者在之前经常提到的UUId,它的中文名叫做『通用唯一识别码』。

一个UUId本质上是一个长达128位的随机生成的二进制数字,但我们不可能直接使用它的二进制形式,而是使用它的『十六进制』或『十进制』形式。

在十六进制中,最常见的形式就是:

xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

这是UUId的『十六进制表示形式』。准确的来讲,是『有连字符的十六进制(hyphenated hexadecimal)』形式。这种形式的UUId本质上是将UUId转化到十六进制后,再用连字符『-』将其分割成8+4+4+4+12的5段。

当然,把连字符去掉就是纯洁的『十六进制形式(String ithout hyphens)』了:

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

只不过去掉连字符的话,你有很大概率会抄错,所以还是建议在抄UUId之前给它加上个连字符。

什么?你不知道十六进制?

那你总知道十进制吧?在十进制中,数字是逢十进一。比如:

5+5=10

所以对于十六进制来讲,数字就是逢十六进一。比如:

(5+5)+7=a+7=11

其中,字母『a』在十六进制中代表『十』这个数字。以此类推,b代表『十一』、c代表『十二』.......f代表『十五』。

这就是十六进制,你懂了吗?

回到正题。我们在第一百零六章时就已经遇到过『有连字符的十六进制』这种形式的UUId了。你还记得吗?让我们回忆一下:

『\/attribute @s minecraft:generic.max_health modifier value get 1-1-1-1-1 2.0』

其中,参数『1-1-1-1-1』就是一个『有连字符的十六进制』形式的UUId。等等,为什么这个UUId不是8+4+4+4+12的?

如果你有注意到游戏返回的消息,就会发现,这种UUId在游戏眼中会被视为:

『00000001-0001-0001-0001-000000000001』

也就是,UUId中数字前面的0可以被省略。比如:

『00000101-0001-0003-0015-0000000』

上面这串UUId就可以省略成:

『101-1-3-15-』

这是一个非常人性化的设计,也非常符合数学。

需要注意,如果是『-1001-1001-1001-』这样的,可不要想着缩写成:

11-11-11-11-11

不然游戏会以为这个UUId是『00000011-0011-0011-0011-000000000011』的缩写。

这种缩写不仅仅在『有连字符的十六进制』形式中可用,在其他形式中照样可用。

现在你知道了十六进制形式的UUId。那之前的UUIdmost(UUId高位)和UUIdLeast(UUId低位)到底是啥呢?

在解答之前,作者建议你先去找一个进制转换器,以方便现学现做。

以刚才的『00000001-0001-0001-0001-000000000001』举例,现在它是十六进制。

把前面三段(00000001-0001-0001)和后面两段(0001-000000000001)分开,并分别划成10进制,变成:和这两个数。

这两个数就是这个UUId的高位以及低位了。其实高位以及低位就是将十六进制的UUId切成两半然后划成10进制得出的数,明白点,就是:

xxxxxxxx-xxxx-xxxx 这一段转换成10进制就是UUId most

xxxx-xxxxxxxxxxxx 这一段转换成10进制就是UUId Least

(在Nbt中,这两个标签的数据类型都为Long长整型)

但要注意,如果没有特别指明,你是不知道一个16进制的数字到底是正还是负。

原因的话,百度\/谷歌一下,你就知道(毕竟这是minecraft指令教学,不是计算机课)。

这种高位和低位的UUId形式,被称为『高低位(most\/Least)』。这种形式在minecraft Java1.16版本更新前几乎遍地都是,但在Java1.16更新中却几乎绝迹了。

为何?因为在1.16版本更新后,Nbt中大部分UUId再也不是『高低位』形式,而是使用了一个全新的表现方式:整型数组(int-array)

其样式我们在之前已经碰过好几次了。比如下面这一串:

[I;-,,-,-]

好像这种形式的UUId和其他形式没有太大关系。

但其实这种UUId和其他形式的UUId也可以互相转换,不然正版玩家的UUId就得重新设置。

如果你不想了解的话,可以跳过这一段,去看看UUId到底该如何获取。

但如果你想了解的话,不妨也来看一看。

仔细观察这一串数组,你会发现这4串数字有正负号,并且没有出现字母,加上这是个『整型数组』。这些证据都证明,这四串数,是十进制。

既然是十进制,那就好办了。根据UUId most以及UUId Least的经验,这四串数,极有可能是十六进制的UUId平均分成4段再分别划成十进制的数。

为了验证我们的猜想,先随机一个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几乎都改成了整形数组的形式,抛弃了原有的高低位形式。

喜欢Minecraft指令手册请大家收藏:(m.6xsz.com)Minecraft指令手册第六小说站更新速度最快。

上一章 目 录 下一章 存书签
站内强推 逍遥小闲人 暴君们的团宠小公主 穿越后,成为了农业之神 开局执掌人皇幡,镇压主角师尊! 烈火南明二十年 重回18岁我成了死对头的心尖宠 帮你带崽,我直播训兽你眼红什么 开局上门提亲,我带SSS级罪犯 战神殿 Backrooms后室探索笔记 富贵天下 制符人 恶龙崽崽三岁半 猛鬼故事情怀篇 LOL之掉落系统 掌家小医娘 诡异入侵之废墟重建 修仙之走近科学 足球裁决天下 我独御众敌
经典收藏 星际之进击的灵植师 永劫,从小主播到天人双榜第一 好莱坞之篮球魔鬼 穿越00后动漫融合的世界 龙榻求爱 王牌小皇后 英雄联盟之竞技之王 前妻不认账 超级指环王 家有仙攻 怪物合成大师 没有人比老祖我更懂游戏 傻夫为谋,好孕连连 星际手游反馈战舰?我氪出百万舰 井姐传奇 凤凰涅磐之再生缘 算我倒霉爱上你 大唐作死之旅 亲爱的,来日方长 权少追妻N次方:豪门独爱 高冷大叔甜宠妻
最近更新 女装学霸逆袭电竞巅峰 网游:悟性怪,从零开始快意江湖 足球:进倭国三球后竟被国足开除 极品小姑被休后,成了全家顶梁柱 四合院之重回开始的时候 原神:神行世间 崩坏:始于树梢的回响 祁厅重生,汉东再无沙家帮 假面骑士:铠甲的奇妙冒险 副本求生:我靠善良杀疯了 红魔复兴,从挽留穆里尼奥开始 武侠网游:比武穆念慈,黄蓉急了 秋光偷渡韶华 三角洲:可男可女的我是BOSS 斩神:从恶魔代理人开始 钻石王牌之不留遗憾 吾为人,镇压神明 球狂 游走在诸天 梦幻西游之重返2005
Minecraft指令手册 你好MC - Minecraft指令手册txt下载 - Minecraft指令手册最新章节 - Minecraft指令手册全文阅读 - 好看的游戏小说