首頁 游戲

Minecraft指令手冊

第一百五十章 如何看懂調試界面 ③

Minecraft指令手冊 你好MC 4168 2021-08-04 16:38:33

  在上一章中,作者提到了調試界面左邊第二陣第四行之后的內容,在1.13.2到1.16.5版本期間發(fā)生了極大的變化。這一章,我們就要了解,到底發(fā)生了什么變化?

  在1.16.5版本,第五行已經不是Biome了。這一行得和下面一行,即第六行一起看:

  Client Light:光照強度(天空光照強度 sky,方塊光照強度 block)

  Server Light:光照強度(天空光照強度 sky,方塊光照強度 block)

  不難發(fā)現,新版本是將Light一行拆成了客戶端光照強度(Client Light)和服務端光照強度(Server Light),實際作用和原本的Light一樣,只不過分成了兩端。比較奇怪的是,當你并沒有在玩服務器而是在單人游戲時,Server Light還是會顯示,只不過會顯示成:

  Server Light:(與上一行的天空光照強度一樣 sky,與上一行的方塊光照強度一樣 block)

  嗯,所以說為什么Mojang不直接把它給隱藏掉呢?

  第六行下面的第七行CH和第八行SH,是新版本新添加的一對兄弟,也需要一起看:

  CH S:xx M:xx

  SH S:xx O:xx M:xx ML:xx

  這兩行的作用差不多,其用處都是顯示玩家當前位置(X和Z坐標)最高的特定方塊的Y坐標信息,區(qū)別就在于一個是客戶端的信息(Client Highest)一個是服務端的信息(Server Highest)。

  CH和SH都有S和M這兩個參數。S的作用是顯示玩家當前所處位置(X和Z坐標)最高的非空氣方塊的方塊的Y坐標信息。M是顯示玩家當前所處位置(X和Z坐標)最高的任意液體或會擋住你的方塊的Y坐標信息。

  M這個參數可能會比較難以理解。那就舉個例子:

  假設一個服務器的腐竹,由于服務器沒人玩,很無聊,就用蜘蛛網從地上一直搭(創(chuàng)造模式)搭到Y坐標為212的地方。此時如果有一位玩家路過這個服務器,并且從蜘蛛網下面走了過去,那么在穿過蜘蛛網的時候,它的CH一行會顯示為:

  CH S:212,M:64

  因為蜘蛛網并不會擋住玩家,它本身也不是個液體,導致并不會被M參數算到。但蜘蛛網并不是個空氣方塊,S參數便記錄了它的坐標,所以最終得出了這個結果。

  SH在CH的基礎上還有O和ML這兩個參數(1.18版本還多了個東西在S和O之間,只不過目前在預覽版中顯示為null:xx),但這兩位并不適合單獨介紹,而是應該和剛才那兩位,搞一個表格(建議電腦或平板上觀看):

  參數名/方塊類型——空氣方塊—擋人方塊—液體—樹葉—其他

  S——————————×————√———√——√——√

  O —————————×————√———×——√——×

  M—————————×————√———√——√——×

  ML—————————×————√———√——×——×

  可能這仍然有些難以理解,但好在,這位腐竹又搞了兩個奇怪的塔:

 ?、?p>  蜘蛛網--- 67

  水--- 66

  樹葉--- 65

  草方塊---64

 ?、?p>  蜘蛛網--- 67

  樹葉--- 66

  水--- 65

  草方塊--- 64

  如果此時有一位管理大大從正上方路過,那么它的調試面板SH這一行將會顯示:

 ?、佟猄H S:67 O:65 M:66 ML:66

  (因為蜘蛛網不是空氣方塊,所以S是67;因為蜘蛛網和水都不會擋住玩家,但樹葉可以,所以O是65;因為蜘蛛網和水都不會擋住玩家,但水是液體,所以M和ML都是66)

  ②——SH S:67 O:66 M:66 ML:65

 ?。ㄒ驗?....所以S是67;因為樹葉會擋住玩家,但蜘蛛網不會,所以O和M都是66;因為蜘蛛網不會擋住玩家,樹葉不屬于ML的計算范圍,水是液體,所以ML是65)

  理解了吧?不理解就再看一遍。

  第九行和第十行即Biome(生物群系)和Local Difficultly(區(qū)域難度)。

  第十一行,即SC一行,是在1.16版本中新加入的一行參數,作用是顯示生物生成的詳細信息:

  SC:xx——當前可以生成生物的區(qū)塊數量,似乎與渲染距離沒有關系

  M:xx——當前所有已生成的生物中,敵對生物的總數量

  C:xx——當前所有已生成的生物中,動物的總數量

  A:xx——當前所有已生成的生物中,環(huán)境生物(比如蝙蝠)的總數量

  W:xx——當前所有已生成的生物中,水生動物的總數量

  M:xx——當前所有已生成的生物中,其他類型的生物的總數量

  最后一行,也就是Sounds行:

  Sounds:xx/xxx + x/x(Mood xx%)

  Sounds一行主要是關于游戲聲音。Minecraft的游戲聲音大致可以分為三類:

  普通音效、環(huán)境音效、背景音樂

  普通音效——游戲中的大部分聲音是普通音效,比如放置方塊、怪物/動物發(fā)出聲音、腳步聲等都算普通音效

  環(huán)境音效——環(huán)境音效一般是指在特定場景下播放的聲音,說白點就是你在挖礦的時候聽到的怪聲(晚上玩怪恐怖的)。環(huán)境音效除了在洞穴里有,還有在水下和在下界的環(huán)境音效。

  背景音樂——不用多說,C418的音樂真好聽。

  加號的左邊即是普通音效,具體是:

  當前正在播放的普通音效數量/可以播放的普通音效數量上限

  右邊是環(huán)境音效,只不過此環(huán)境音效還包括了唱片機播放的音樂和游戲背景音樂(或者更準確的來講應該使用英文Minecraft Wiki的streamed sounds):

  當前正在播放的環(huán)境音效數量/可以播放的環(huán)境音效數量上限

  在這一串參數后面,還有一個:

  Mood xx%

  這個東西目前中文Wiki上沒有說明。作者將這東西放進百度生草機里攪拌了一下,得出來了:

  情緒 xx%

  生草機出來的東西準不準不知道,但這東西絕對跟你的情緒有關。

  這東西的百分比后面有一個算法:Mood algorithm

  Mood 算法大致的代碼(偽)是這樣的:

  updateMood(mood):

  tickDelay = 6000

  maxLightLevel = 15

  block = select a random block in a 17×17×17 block cube centered around the player

  skyLight = block.getSkyLightLevel()

  if (skyLight > 0):

  mood = mood -(skyLight / maxLightLevel)* 0.015

  else:

  blockLight = block.getBlockLightLevel()

  mood = mood -(blockLight - 1)/ tickDelay

  if (mood ≥ 1.0):

  player.playSpookySound()

  mood = 0.0

  else if (mood < 0):

  mood = 0.0

  翻譯:

  聲明“更新情緒”方法(情緒):

  設定變量“游戲刻延遲”值為6000

  設定變量“最大光照等級”值為15

  在以玩家為中心的17×17×17的立方體中隨機選定一個方塊

  獲取該方塊的天空光照等級

  如果(天空光照等級大于0)

  設定變量“情緒”的值=情緒-(天空光照等級÷ 最大光照等級)× 0.015

  否則

  獲取該方塊的方塊光照等級

  設定變量“情緒”的值=情緒-(方塊光照等級- 1)÷游戲刻延遲

  如果(情緒大于等于1.0)

  執(zhí)行玩家類方法“游戲里詭異的聲音”

  設定變量“情緒”的值為0.0

  否則如果(情緒小于0)

  設定變量“情緒”的值為0.0

  為了讓你能夠真正理解這算法是怎么算的,我們來舉個栗子。

  假設此時你正在礦洞里挖礦。在上一游戲刻中,你的情緒值為0.9999999999999232(Mood 99%),如果此刻游戲隨機到了你正前方五格的方塊,那么:

  游戲通過執(zhí)行block.getSkyLightLevel這個方法(Java語言中的方法類似于Minecraft中的函數,將一串代碼包起來成為一個方法,需要執(zhí)行的時候再調用),獲取到了這個方塊的天空光照等級為0。

  因為這個方塊的天空光照等級是0,所以游戲又執(zhí)行了block.getBlockLightLevel這個方法,獲取到了這個方塊的方塊光照等級,發(fā)現也是0。

  于是游戲做了一個簡單的運算:

  mood = 0.9999999999999232-(0-1)÷6000

  =0.9999999999999232-(-1)÷6000

  =0.9999999999999232-(-0.0001666666666666)

  =0.9999999999999232+0.0001666666666666

  =1.0001666666665898

  此時游戲發(fā)現1.0001666666665898大于1,所以執(zhí)行了player.playSpookySound方法,然后你就聽到了一輛地鐵駛過的聲音(Cave 11)。

  但如果這個方塊的方塊光照等級大于等于1,或者這個方塊的天空光照大于0,那么mood值反而會減少一些或不增不減,因為如果仔細觀察上面的代碼,你會發(fā)現計算mood時都是減法,要讓mood增加,必須要讓減數為負數,各種情況下,只有天空和方塊光照等級都為0的情況下才能得出負數。

  Mood算法每游戲刻都會執(zhí)行一遍,每次執(zhí)行最多增加1/6000。也就是說,在極端的情況下,即你完全置身于黑暗之中,Mood也需要每五分鐘才能夠輪回一次。

  說了這么多,那么這個Mood xx%到底有什么用?

  看一下上面的假設就知道了,當Mood到100%也就是你的情緒達到了頂峰時,游戲就會突然給你隨機放一個環(huán)境音效,把你嚇一跳。

  嗯.......不愧是Mojang,把玩家的情緒拿捏得明明白白的。

  到這兒。左邊的第二方陣算是徹底研究完了,但本章還沒有結束。

  1.8.2版本,左邊新出現了個第三方陣,這個第三方陣主要是關于調試本身的信息,它長這個樣子:

 ?。?.14版本之前)

  Debug:Pie [shift]:hidden FPS [alt]:hidden

  For help:press F3 + Q

  (1.14版本之后)

  Debug:Pie [shift]:hidden FPS + TPS [alt]:hidden

  For help:press F3 + Q

  第一行Debug主要是一些關于調試界面的參數。Pie指的是餅圖,這東西可以通過按shift + F3顯示(visible),默認是隱藏(hidden)。

  什么?你說按了沒用?

  哦,這東西得這樣按出來:

  第一步,按住shift,由于和游戲按鍵沖突,按住時會蹲下或向下飛行。如果此時調試界面已打開,請先關閉調試界面。

  第二步,繼續(xù)按住shift,同時另一個手指按住F3。

  第三步,兩個手指同時放開???,餅圖出來了?。ㄟ@餅圖小得字都看不清?。?p>  FPS(1.14版本之后還有一個TPS,即Ticks Per Second每秒傳輸刻數)指的是幀(刻)生成時間柱狀圖,可以按alt + F3顯示。在1.14版本之前,這兒只有一個柱狀圖。這個柱狀圖有兩條參考線,一個參考線在最上面,代表30fps;另一個在中間,代表60fps。這個柱狀圖的柱子越低,即代表每幀運算的時間越快,FPS越高。

  在1.13版本之前,這個柱狀圖很簡陋,但相對于之后的版本,多了一個東西:

  xx MB/s

  作者猜測這可能跟讀寫速度有關,可能是內存的讀寫速度。

  1.13版本更新后,這個柱狀圖就好看多了,首先它變大了,其次它有更豐富的顏色了——柱子越矮越綠,越高越紅。

  1.14版本更新后,這兒又多了個TPS的生成時間柱狀圖,看法和FPS的柱子差不多。同時,柱狀圖上面會顯示當前最低和最高計算用時,單位為毫秒。

  上面所述的兩個附加調試圖在關閉調試界面后,如果再打開調試界面,那么將會又一次隱藏。你可能以為我要說如何保持它默認開啟,但可惜不是,因為沒有這個功能。我要說的是:如何一次性將兩個圖表都打開。

  你只需要按下shift + alt + F3即可。

  第二行For help相信大家都看得懂,這就類似于軟件中的“獲取幫助”,這一行就是提醒你按F3 + Q可以了解更多東西。

  具體有什么東西如下:

  [?~]F3 + A:重新加載所有區(qū)塊

  [1.8~]F3 + B:打開或關閉實體的碰撞箱(白色線條)、朝向(藍色線條)和生物的視線高度(紅色線條)信息。

  [?~1.13~]F3 + C:短按以/execute指令的形式復制玩家本身的坐標、旋轉角度信息[1.13及之后]:

  /execute in minecraft:overworld run tp @s......

  長按10秒以使Minecraft游戲本身強制性崩潰

  [1.13.1~]Ctrl + F3 + C:按住10秒以使Java本身強制性崩潰(有些鍵盤需要使用右Ctrl)

  [?~]F3 + D:清空聊天記錄,但仍然可以通過上下鍵查看之前輸入過的指令和消息

  [1.9~]F3 + F:使客戶端渲染距離+1(范圍為2~32)

  [1.9~]F3 + shift + F:使客戶端渲染距離-1(范圍為2~32)

  [1.10~]F3 + G:打開或關閉區(qū)塊邊界(紅色,玩家所處區(qū)塊為黃色)、玩家所處區(qū)塊區(qū)段邊界(藍色)信息

  [1.4.2~]F3 + H:打開或關閉高級提示框(即顯示物品詳細信息,如物品ID、NBT標簽)

  [1.13~]F3 + I:將玩家所注視的方塊或實體在服務端的信息復制下來,具體如下。

  方塊:/setblock 坐標信息,方塊ID[方塊狀態(tài)]

  實體:/summon 實體ID,實體坐標,實體NBT

  [1.13~]shift + F3 + I:將玩家所注視的方塊或實體在客戶端的信息復制下來。

  [?~1.12.2|1.17~]F3 + L:Wiki上說是“生成、保存性能分析數據”。在1.12.2版本,按住F3 +L會顯示“正在加載可見區(qū)塊”,但實際啥也沒有發(fā)生。

  [1.9~1.16~|需要執(zhí)行/gamemode權限]F3 + N:在上一個游戲模式和旁觀模式切換[1.15之后]在創(chuàng)造模式和旁觀模式中切換[1.15及之前]

  [1.4.2~]F3 + P:開啟或關閉當Minecraft窗口沒被選中時自動暫停的功能

  [1.9~]F3 + Q:顯示幫助列表

  [?~1.9]F3 + S:重新加載聲音

  [?~]F3 + T:重新加載所有資源包(包括原版資源包)和聲音

  [1.16~|需要執(zhí)行/gamemode權限]F3 + F4:在四種模式中切換,可以使用鼠標選擇或按F4下一個,松開F3即切換到選定模式

  [1.14.1~]F3 + Esc:暫停游戲而不顯示菜單,多人模式無法暫停

  [1.2.4~]shift + F3:顯示餅狀圖

  [1.8.2~]alt + F3:顯示柱狀圖

  [1.8.2~]shift +alt + F3:我全都要顯示

  到這里,調試界面左邊這一欄才算介紹完成。

  本章到此結束。

按 “鍵盤左鍵←” 返回上一章  按 “鍵盤右鍵→” 進入下一章  按 “空格鍵” 向下滾動
目錄
目錄
設置
設置
書架
加入書架
書頁
返回書頁
指南