首頁 游戲

Minecraft指令手冊

第三十二章 tickingarea-基巖版控制常加載區(qū)塊

Minecraft指令手冊 你好MC 954 2020-01-15 21:42:46

  在“第二十八章——區(qū)塊”中,我曾提到過Java版和基巖版分別有一條指令用于控制常加載區(qū)塊。

  在基巖版中,這條指令是:/tickingarea,即一直執(zhí)行游戲刻(ticking)的地區(qū)(area)。

  /tickingarea

  作用:增加、減少或查看常加載區(qū)塊。

  需要權(quán)限等級:1

  需要作弊:是

  格式:

  /tickingarea add <起點(diǎn)方塊坐標(biāo)><終點(diǎn)方塊坐標(biāo)>[此區(qū)域名稱:字符串]

  /tickingarea add circle <區(qū)域圓心坐標(biāo)><區(qū)域半徑:整數(shù)>[此區(qū)域名稱:字符串]

  /tickingarea remove <地區(qū)位置:坐標(biāo)>

  /tickingarea remove <地區(qū)名稱:字符串>

  /tickingarea remove_all

  /tickingarea list [維度選項(xiàng):all-dimensions]

  書接前文,那個我的世界網(wǎng)易版租貸服在建完回城雪球后,發(fā)現(xiàn)一個問題:有時候這雪球不靈。

  經(jīng)過腐竹的仔細(xì)排查,發(fā)現(xiàn)是因?yàn)樵撁罘綁K鏈所在的區(qū)域雖然是在主城正下方,但因?yàn)榛鶐r版并沒有出生點(diǎn)區(qū)塊,就導(dǎo)致有時候主城里玩家都跑光了,區(qū)塊停止加載,回城雪球就不管用了。

  為此,這位腐竹使用了以下指令:

  /tickingarea add 303 100 92 343 20 52 home

  這條指令的作用是:

  將與(303,100,92)到(343,20,52)這塊區(qū)域有重疊部分的所有區(qū)塊列為常加載區(qū)域,并取名為home。

  其中,選取區(qū)域的模式和/fill是一樣的,即選定區(qū)域的對角坐標(biāo)。雖然這里選取時有使用Y軸,但由于區(qū)塊并不考慮Y軸,其實(shí)沒多大用處。

  游戲并不會將選取的區(qū)域直接列為常加載區(qū)域,而是會將與選取區(qū)域有重疊部分的所有區(qū)塊(哪怕只有那么一塊方塊)列為常加載區(qū)域,不然游戲計算時就非常麻煩(因?yàn)榫_到了每個方塊)。

  也就是說,哪怕你只選取了一格方塊,也會將該格方塊所在的區(qū)塊列為常加載區(qū)域。

  在使用這條指令過后的第三天下午,服務(wù)器的MSPT突然從原本的39ms/t~57ms/t暴增到了265ms/t~527ms/t,最高值甚至達(dá)到了3761ms/t。雖然網(wǎng)易租貸服看不到那么直接的數(shù)據(jù),但直觀上的游戲卡頓已經(jīng)快到玩不下去的地步了。腐竹接到管理員的消息過后,立馬進(jìn)服排查問題(因?yàn)榇鏅n上一次備份還在一個月前)。在忍受了數(shù)小時的超高延遲后,終于找到了問題:

  主城范圍冒險并沒有覆蓋到主城的地下,但這兒仍然是常加載區(qū)域。一位資深熊孩子在一個月前嘗試炸服無果后,仔細(xì)鉆研最終發(fā)現(xiàn)了這個漏洞。于是在主城的地下搞出了大量已經(jīng)命名的生物(非法獲取到刷怪蛋,命名后放入發(fā)射器,配備專門研制的高頻紅石)。這些被命名的生物無法消失,又因?yàn)樘幱诔<虞d區(qū)塊,造成了服務(wù)器卡頓。

  腐竹為了解決這個問題,使用了如下指令:

  /kill @e[type=!player,r=50]

  /kill @e[type=item,r=50]

 ?。ù藭r服務(wù)器在經(jīng)歷一陣達(dá)好幾萬MSPT的卡頓后,終于順暢了許多,然后腐竹就拆掉裝置了,并將需要常加載區(qū)域的東西全部轉(zhuǎn)移到了一個很遠(yuǎn)很遠(yuǎn)的地方)

  /tickingarea remove home

  \\移除名為home的常加載區(qū)域\\

  /tickingarea add circle 3000000 21 3000000 2 command

  \\將與以(3000000,21,3000000)為圓心的半徑2區(qū)塊(32格)的圓有重疊部分的所有區(qū)塊列為常加載區(qū)域,并取名為command\\

  其中,移除常加載區(qū)域時,如果當(dāng)時這位腐竹并沒有設(shè)定該常加載區(qū)域的名稱,那么它只能這樣做:

  /tickingarea remove 323 65 72

  這條指令會刪除所有包含該坐標(biāo)點(diǎn)的常加載區(qū)域。

  如果這位腐竹忘記了該常加載區(qū)域的名稱,或者是忘記了它的位置,那該怎么辦?

  它有兩種選擇,第一種是:

  /tickingarea remove_all

  \\刪除所有常加載區(qū)域\\

  第二種是:

  /tickingarea list

  \\列出當(dāng)前緯度所有常加載區(qū)域\\

  第二種方法中,list返回的信息是這樣的:

  當(dāng)前維度中的所有常加載區(qū)域的列表

  -區(qū)域名:X YZ到X Y Z

  -區(qū)域名(圓形):X Y Z 半徑:1~4區(qū)塊

  0~10/10常加載區(qū)域正在使用

  別看就短短這幾行,信息量還是很大的。

  首先,方形區(qū)域會直接顯示區(qū)域的對角坐標(biāo)。這個對角坐標(biāo)并不是添加時填寫的對角坐標(biāo),而是經(jīng)過重疊部分轉(zhuǎn)化成的實(shí)際加載區(qū)域的對角坐標(biāo)。圓形區(qū)域會顯示該區(qū)域轉(zhuǎn)化過后的中心點(diǎn)和設(shè)定的半徑。最后會顯示目前有多少常加載區(qū)域和常加載區(qū)域上限。

  常加載區(qū)域數(shù)量還有上限?沒錯。一個存檔最多添加10個常加載區(qū)域,每個常加載區(qū)域的區(qū)塊數(shù)不能大于100。

  圓形區(qū)域是什么?這就要看這個腐竹用的最后一條指令:

  /tickingarea add circle 3000000 21 3000000 2 command

  這條指令的意思上面已經(jīng)講過,這兒就不復(fù)制過來了。

  圓形區(qū)域顧名思義,就是圓狀的常加載區(qū)域。它有兩個重要參數(shù):圓心和半徑

  圓心坐標(biāo)和方形區(qū)域填寫的兩個坐標(biāo)一樣,實(shí)際上Y坐標(biāo)沒多大用。而半徑,它的單位不是格而是區(qū)塊。

  半徑必須是1、2、3、4這四個整數(shù),即16格、32格、48格和64格。

  確定了圓的范圍后,游戲就會進(jìn)行和方形區(qū)域一樣的操作:將與該圓重疊的所有區(qū)塊列為常加載區(qū)域。

  這就是圓形區(qū)域。

  現(xiàn)在,/tickingarea這條指令差不多就講完了,但還沒有完全講完,因?yàn)檫€有一個參數(shù)沒講:

  list的維度選項(xiàng)。

  維度選項(xiàng)參數(shù)只支持一個值:all-dimensions,即所有維度。使用了:

  /tickingarea list all-dimensions

  將不只是列出基準(zhǔn)點(diǎn)所處維度的所有常加載區(qū)塊,而是列出所有維度的所有常加載區(qū)塊。

  歷史

  基巖版

  1.2.0——加入了常加載區(qū)域和配套的/tickingarea。

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