第一百零七章 如何獲取你在Minecraft中的頭
這章我們來討論些可怕的東西。
你是否想過一個(gè)問題:如何在Minecraft中獲取你的頭?
答案是肯定的,你甚至可以把它拿在手上,然后.......
掛在墻上(好滑稽啊啊啊啊?。。?p> ?。ㄊ聦?shí)上真的有個(gè)JAVA服務(wù)器這么做了)
問題來了,怎么獲取你的頭呢?
這個(gè)時(shí)候就要用到頭顱這個(gè)物品。
你應(yīng)該知道,正常頭顱的皮膚是Steve(史蒂夫)的頭,也有骷髏、僵尸等怪物的頭。
但你知道嗎?你可以改變頭顱的皮膚——變成其他玩家的。
頭顱具有一個(gè)數(shù)據(jù)類型為文本的SkullOwner標(biāo)簽,你可以在這個(gè)標(biāo)簽內(nèi)寫上一個(gè)玩家的名字,然后就可以獲取到這名玩家的頭。比如我們籽岷大大的Minecraft正版用戶名是Zi_Min,你就可以:
/give @s minecraft:skull 1 3 {SkullOwner:“Zi_Min“}
\\Java1.13以下版本\\
/give @s minecraft:player_head{SkullOwner:“Zi_Min“}
\\Java1.13及以上版本\\
(近日一外國小哥在Minecraft獲得了籽岷的頭,那么它是怎么.......)
需要注意的是,上述方法僅僅適用于下面兩種情況:
?、倌闶峭ㄟ^離線賬戶來游玩Minecraft的
?、谀闶峭ㄟ^正版賬戶來游玩Minecraft的
為什么呢?因?yàn)橛螒蛑阅軌颢@取到對(duì)應(yīng)玩家的頭顱,是因?yàn)橛螒蛳騇ojang官方服務(wù)器發(fā)送了請(qǐng)求,然后官方服務(wù)器再把這個(gè)皮膚數(shù)據(jù)傳送回來,其過程有些類似于玩家登錄服務(wù)器游玩。因此,當(dāng)你在某離線或正版Java服務(wù)器中運(yùn)行上述指令,腐竹就有可能在某一天無聊翻看服務(wù)器根目錄的usercache.json文件時(shí)驚喜的發(fā)現(xiàn):
{“name“:“Zi_Min“,“uuid“:“1aa95b71-48fc-4636-962b-e95de5071da6“,“expiresOn“:“202x-xx-xx xx:xx:xx +0800“}
?。????籽岷來玩我服務(wù)器了?)
.......
等等,你在運(yùn)行上述指令后,只是獲取到普通的玩家頭顱,或者說獲取到了看起來不是籽岷皮膚的頭顱?
如果你僅僅是獲取到普通的玩家頭顱,那大概率是你的問題:
①你寫錯(cuò)了
?、谀憔W(wǎng)斷了
③你用的基巖版
?、苣阍趩稳擞螒蛑袊L試,且沒有打開『對(duì)局域網(wǎng)開放』
?、菽愕碾娔X或服務(wù)器無法連接到官方服務(wù)器
⑥你電腦的防火墻阻止了你的Minecraft訪問官方服務(wù)器
但如果你獲取到了看起來不是籽岷皮膚的頭顱,那就肯定是這個(gè)問題:
您正在使用外置登錄游玩Minecraft
什么是『外置登錄』?
我們知道,Minecraft的正版玩家能夠登錄并顯示皮膚,是因?yàn)镸inecraft游戲本體向官方服務(wù)器發(fā)送了玩家的登錄信息,服務(wù)器經(jīng)過驗(yàn)證無誤后再返回皮膚等信息,最終你在游戲中的角色就有了皮膚。但對(duì)于一個(gè)沒有正版賬號(hào)的Minecraft玩家來說,發(fā)送一個(gè)虛假的登錄信息給官方服務(wù)器肯定是不行的。那該如何讓盜版玩家也能夠享受上皮膚的好處呢?
要解決這個(gè)問題很簡單。盜版玩家之所以無法顯示皮膚,是因?yàn)閷ⅰ禾摷俚牡卿浶畔ⅰ话l(fā)送給了『正版服務(wù)器』。如果我們自己搭建一個(gè)盜版服務(wù)器,然后再讓Minecraft將這個(gè)『對(duì)于盜版服務(wù)器來說是正確的但對(duì)正版服務(wù)器來說是虛假的登錄信息』發(fā)送給『我們自己的盜版服務(wù)器』,這樣子負(fù)負(fù)得正,我們發(fā)送的信息也就成為了『正確的登錄信息』,Minecraft也就可以獲取到『盜版服務(wù)器』傳來的皮膚,最終在游戲內(nèi)顯示出來。
這就是『外置登錄』的原理。在真正的『外置登錄』中,各大皮膚站就是『盜版服務(wù)器』,我們?cè)诟鞔笃つw站注冊(cè)的賬號(hào)就是『對(duì)于盜版服務(wù)器來說是正確的登錄信息』。當(dāng)我們?cè)谥T如HMCL、PCL2之類的Minecraft Java第三方啟動(dòng)器中輸入『對(duì)于盜版服務(wù)器來說是正確的登錄信息』和該信息對(duì)應(yīng)的『盜版服務(wù)器』,再讓啟動(dòng)器以『外置登錄』的方式啟動(dòng)時(shí),Minecraft就會(huì)嘗試發(fā)送『對(duì)于盜版服務(wù)器來說是正確的登錄信息』給『正版服務(wù)器』。
(等等,這樣子的話哪里會(huì)驗(yàn)證成功啊?)
別急,好戲還在后頭。
當(dāng)啟動(dòng)器檢測(cè)到Minecraft正將『對(duì)于盜版服務(wù)器來說是正確的登錄信息』發(fā)送給『正版服務(wù)器』時(shí),啟動(dòng)器會(huì)以迅雷不及掩耳之勢(shì),在消息還未發(fā)送到正版服務(wù)器時(shí),就一把奪過Minecraft與『正版服務(wù)器』的通信,把這個(gè)通信從『正版服務(wù)器』上拔下來,插到指定的『盜版服務(wù)器』上面去。此時(shí)『對(duì)于盜版服務(wù)器來說是正確的登錄信息』就不會(huì)發(fā)送給『正版服務(wù)器』,而是發(fā)送到對(duì)應(yīng)的『盜版服務(wù)器』?!罕I版服務(wù)器』在收到登錄信息后,驗(yàn)證通過,發(fā)送皮膚等信息給Minecraft,Minecraft此時(shí)就會(huì)認(rèn)為該登錄信息正確,允許玩家登錄游戲并顯示皮膚。
上述過程十分完美,但由此會(huì)產(chǎn)生出一個(gè)問題:
當(dāng)我們通過指令獲取指定玩家的頭顱時(shí),游戲本應(yīng)該會(huì)發(fā)送請(qǐng)求給『正版服務(wù)器』,但啟動(dòng)器這么一操作就使得信息往『盜版服務(wù)器』那邊發(fā),最終導(dǎo)致我們獲取到『盜版服務(wù)器』上對(duì)應(yīng)玩家的頭顱,而不是我們想要的正版玩家頭顱。
舉個(gè)例子。假設(shè)你想要獲取到籽岷的頭顱,這時(shí)候你就會(huì)嘗試通過上述指令獲取。如果你用的是離線或正版登錄,那沒什么,游戲可以正常從官方服務(wù)器那邊拿到正確的頭顱。但如果你是在LittleSkin(一個(gè)皮膚站)上注冊(cè)了一個(gè)賬號(hào),然后通過外置登錄游玩Minecraft,此時(shí)你再嘗試獲取籽岷的頭顱,就不會(huì)獲取到正版玩家『Zi_Min』也就是籽岷的頭顱,而是LittleSkin這個(gè)皮膚站上『Zi_Min』這個(gè)玩家的頭顱。如果這名玩家也用的是籽岷皮膚那也沒什么,但如果ta用的是其他的皮膚,你就可能會(huì)疑惑『籽岷怎么改皮膚了?』。
這就是為什么用外置登錄會(huì)獲取到錯(cuò)誤頭顱的根本原因。
另外,網(wǎng)易我的世界雖然不是外置登錄,但也和外置登錄很類似——網(wǎng)易修改了Minecraft Java的源代碼,使得皮膚請(qǐng)求會(huì)往網(wǎng)易服務(wù)器那邊發(fā)。因此如果你在網(wǎng)易我的世界中嘗試獲取籽岷的頭,實(shí)際上也無法獲取到正確的頭,僅僅只能得到網(wǎng)易服務(wù)器上『Zi_Min』玩家的頭顱。
上面這些便是獲取到指定玩家頭顱的辦法。但本章還未結(jié)束,因?yàn)樵谶@,Mojang埋了一個(gè)大大的彩蛋:
Mojang是個(gè)好心人,他給了我們一些特殊的頭顱。
這些頭顱大多數(shù)是動(dòng)物的,但其中不乏一些特別神奇的頭顱。
沒錯(cuò),就是那個(gè)被玩梗玩到飛起的Herobrine!
(只不過這Herobrine的胡子好像被剃須刀刮掉了)
下面是名單:
MHF_Alex——Alex的頭
MHF_Blaze——烈焰人的頭
MHF_CaveSpider——毒蜘蛛的頭
MHF_Chicken——雞的頭
MHF_Cow——牛的頭
MHF_Creeper——苦力怕的頭(Creeper?)
MHF_Enderman——小黑的頭
MHF_Ghast——惡魂的頭
MHF_Golem——鐵傀儡的頭
MHF_Herobrine——吾王Herobrine的頭
MHF_LavaSlime——地獄史萊姆的頭(我忘記這怪物叫啥了)
MHF_MushroomCow——蘑菇牛的頭
MHF_Ocelot——豹貓的頭
MHF_Pig——豬的頭
MHF_PigZombie——豬人的頭
MHF_Sheep——羊的頭
MHF_Skeleton——小白的頭
MHF_Slime——史萊姆的頭
MHF_Spider-蜘蛛的頭
MHF_Squid——魷魚的頭
MHF_Steve——Steve的頭
MHF_Villager——被砍了鼻子的村民的頭(村————民————)
MHF_WSkeleton——凋零骷髏的頭
MHF_Zombie——僵尸的頭
(奇怪了?Herobrine的好兄弟Notch的頭去哪了?)
?。ㄆ鋵?shí)獲取Notch的頭并不需要在前面添加上MHF,因?yàn)镹otch本身就有MC帳戶)
但Mojang不止砍了動(dòng)物以及玩家的頭,還饒有興趣地把目光放在了部分方塊上。
于是名單上又多了:
MHF_Cactus——縮水的仙人掌
MHF_Cake——小蛋糕
MHF_Chest——小箱子(并不能放東西)
MHF_CoconutB——棕色的椰子
MHF_CoconutG——綠色的椰子
MHF_Melon——在貧瘠土地上生長的西瓜
MHF_OakLog——在貧瘠土地上生長的木頭
MHF_Present1——綠色的.......禮包?
MHF_Present2——紅色的........禮包?
MHF_Pumpkin——在貧瘠土地上生長的南瓜
MHF_TNT——被做成標(biāo)本的TNT
MHF_TNT2——被做成標(biāo)本的TNT(另一個(gè)材質(zhì))
Mojang不止把心思放在了動(dòng)物和方塊上(還有一些彩蛋),還把目光投向了地圖制作者。
于是他們給地圖制作者添加了以下幾個(gè)比較有用的頭顱:
MHF_ArrowUp——朝上的箭頭
MHF_ArrowDown——朝下的箭頭
MHF_ArrowLeft——朝左的箭頭
MHF_ArrowRight——朝右的箭頭
MHF_Exclamation——一個(gè)感嘆號(hào)
MHF_Question——一個(gè)問號(hào)
這一章到此為.......奇怪了這存檔里所有樹的樹葉都被偷了?
這到廣
......
......
......
......
附錄:頭顱歷史
Java
1.4.2——加入了頭顱。此時(shí)雖然可以獲取自定義頭顱,但只能通過修改游戲的NBT文件才能實(shí)現(xiàn)。
1.7.2——現(xiàn)在可通過指令獲取到自定義頭顱。
1.8——骷髏、僵尸、苦力怕和凋靈骷髏的頭顱可通過相應(yīng)生物被閃電苦力怕炸死來獲得。
1.8.4——自定義玩家頭顱的來源現(xiàn)在只能是官方服務(wù)器。
1.9——加入了龍首。
1.13——頭顱的命名空間ID被改變。
攜帶版/基巖版
0.12.1——加入了頭顱
1.0.0——加入了龍首