UU看書

第三十二章 tickingarea-基岩版控制常載入區塊

天才一秒記住【UU看書】地址:www.uukanshu.co

在“第二十八章——區塊”中,我曾提到過Java版和基岩版分別有一條指令用於控制常載入區塊。

在基岩版中,這條指令是:tickingarea,即一直執行遊戲刻(ticking)的地區(area)。

tickingarea

作用:增加、減少或檢視常載入區塊。

需要許可權等級:1

需要作弊:是

格式:

tickingareaaddlt起點方塊座標gtlt終點方塊座標gt此區域名稱:字串

tickingareaaddcirclelt區域圓心座標gtlt區域半徑:整數gt此區域名稱:字串

tickingarearemovelt地區位置:座標gt

tickingarearemovelt地區名稱:字串gt

tickingarearemoveall

tickingarealist維度選項:alldimensions

書接前文,那個我的世界網易版租貸服在建完回城雪球后,發現一個問題:有時候這雪球不靈。

經過腐竹的仔細排查,發現是因為該命令方塊鏈所在的區域雖然是在主城正下方,但因為基岩版並沒有出生點區塊,就導致有時候主城裡玩家都跑光了,區塊停止載入,回城雪球就不管用了。

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

tickingareaadd303100923432052home

這條指令的作用是:

將與303,100,92到343,20,52這塊區域有重疊部分的所有區塊列為常載入區域,並取名為home。

其中,選取區域的模式和fill是一樣的,即選定區域的對角座標。雖然這裡選取時有使用Y軸,但由於區塊並不考慮Y軸,其實沒多大用處。

遊戲並不會將選取的區域直接列為常載入區域,而是會將與選取區域有重疊部分的所有區塊(哪怕只有那麼一塊方塊)列為常載入區域,不然遊戲計算時就非常麻煩(因為精確到了每個方塊)。

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

在使用這條指令過後的第三天下午,伺服器的MSPT突然從原本的39mst57mst暴增到了265mst527mst,最高值甚至達到了3761mst。雖然網易租貸服看不到那麼直接的資料,但直觀上的遊戲卡頓已經快到玩不下去的地步了。腐竹接到管理員的訊息過後,立馬進服排查問題(因為存檔上一次備份還在一個月前)。在忍受了數小時的超高延遲後,終於找到了問題:

主城範圍冒險並沒有覆蓋到主城的地下,但這兒仍然是常載入區域。一位資深熊孩子在一個月前嘗試炸服無果後,仔細鑽研最終發現了這個漏洞。於是在主城的地下搞出了大量已經命名的生物(非法獲取到刷怪蛋,命名後放入發射器,配備專門研製的高頻紅石)。這些被命名的生物無法消失,又因為處於常載入區塊,造成了伺服器卡頓。

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

killetypeplayer,r50

killetypeitem,r50

(此時伺服器在經歷一陣達好幾萬MSPT的卡頓後,終於順暢了許多,然後腐竹就拆掉裝置了,並將需要常載入區域的東西全部轉移到了一個很遠很遠的地方)

tickingarearemovehome

移除名為home的常載入區域

tickingareaaddcircle30000002130000002command

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

其中,移除常載入區域時,如果當時這位腐竹並沒有設定該常載入區域的名稱,那麼它只能這樣做:

tickingarearemove3236572

這條指令會刪除所有包含該座標點的常載入區域。

如果這位腐竹忘記了該常載入區域的名稱,或者是忘記了它的位置,那該怎麼辦?

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

tickingarearemoveall

刪除所有常載入區域

第二種是:

tickingarealist

列出當前緯度所有常載入區域

第二種方法中,list返回的資訊是這樣的:

當前維度中的所有常載入區域的列表

區域名XYZ到XYZ

區域名(圓形)XYZ半徑:14區塊

01010常載入區域正在使用

別看就短短這幾行,資訊量還是很大的。

首先,方形區域會直接顯示區域的對角座標。這個對角座標並不是新增時填寫的對角座標,而是經過重疊部分轉化成的實際載入區域的對角座標。圓形區域會顯示該區域轉化過後的中心點和設定的半徑。最後會顯示目前有多少常載入區域和常載入區域上限。

常載入區域數量還有上限?沒錯。一個存檔最多新增10個常載入區域,每個常載入區域的區塊數不能大於100。

圓形區域是什麼?這就要看這個腐竹用的最後一條指令:

tickingareaaddcircle30000002130000002command

這條指令的意思上面已經講過,這兒就不復制過來了。

圓形區域顧名思義,就是圓狀的常載入區域。它有兩個重要引數:圓心和半徑

圓心座標和方形區域填寫的兩個座標一樣,實際上Y座標沒多大用。而半徑,它的單位不是格而是區塊。

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

確定了圓的範圍後,遊戲就會進行和方形區域一樣的操作:將與該圓重疊的所有區塊列為常載入區域。

這就是圓形區域。

現在,tickingarea這條指令差不多就講完了,但還沒有完全講完,因為還有一個引數沒講:

list的維度選項。

維度選項引數只支援一個值:alldimensions,即所有維度。使用了:

tickingarealistalldimensions

將不只是列出基準點所處維度的所有常載入區塊,而是列出所有維度的所有常載入區塊。

歷史

基岩版

120——加入了常載入區域和配套的tickingarea。

如遇章節錯誤,請點選報錯(無需登陸)

新書推薦

醫毒雙絕,一睜眼竟然生了雙胎! 我玩了個假的MC? 全職高手之白風沐雪 吳小凡重生籃球生涯 我在全息遊戲中錦鯉出圈 什麼叫瀟灑型中鋒啊 又玩克蘇魯跑團網遊