第九十七章 forceload-Java版控制常加載區(qū)塊
?。ù苏鹿?jié)于2022年7月30日重寫)
在『第二十八章:區(qū)塊』中,我曾提到過Java版和基巖版分別有一條指令用于控制常加載區(qū)塊。我們在第三十二章具體了解了基巖版常加載區(qū)塊指令的使用方法,但是Java版的呢?
這一章,我們就來了解:Java版控制常加載區(qū)塊的指令
在Minecraft Java 1.13.1版本更新中,Mojang為Minecraft加入了一條全新的指令:
/forceload
force,即『強制......』的意思;load,即『加載』的意思。因此,『force load』就是『強制加載』之意。這個/forceload,也就是Java版用來控制常加載區(qū)塊的指令。
/forceload
作用:強制使區(qū)塊不斷加載
存在版本:Java1.13.1-今
需要權(quán)限等級:Java-2
需要作弊:是
格式:
/forceload add <起點方塊坐標>[終點方塊坐標]
\\使得與框選范圍有重疊的區(qū)塊不斷強制加載\\
/forceload remove <起點方塊坐標>[終點方塊坐標]
\\使得與框選范圍有重疊的區(qū)塊不再強制加載\\
/forceload remove all
\\使得當前緯度所有區(qū)塊不再強制加載\\
/forceload query [位置:方塊坐標]
\\查詢所有正在加載的區(qū)塊,或檢查指定位置所在的區(qū)塊是否正在被強制加載\\
雖然forceload和基巖版的tickingarea都是用來控制常加載區(qū)塊的,但兩者卻有那么一點點不一樣:前者是直接控制區(qū)塊,后者是控制由區(qū)塊組成的常加載區(qū)域。
啥意思呢?
當你在使用/tickingarea控制常加載區(qū)塊時,實際上是在控制由一個或多個常加載區(qū)塊組成的不同的常加載區(qū)域。這就是為什么當你使用/tickingarea添加常加載區(qū)塊時,要指定名稱的原因,因為你實際上是在通過框選得到的區(qū)塊來創(chuàng)建一個常加載區(qū)域,然后游戲會讓這個常加載區(qū)域內(nèi)的所有區(qū)塊不斷加載。
而/forceload就沒有『常加載區(qū)域』這個概念,因為當你使用forceload控制常加載區(qū)塊時,還真的就是直接控制到區(qū)塊本身,而不是控制由區(qū)塊組成的區(qū)域。這就是為什么你使用forceload添加常加載區(qū)塊時不需要指定名稱的原因。
比如:
/forceload add ~~
假設(shè)你此時在主世界的(17,42,18)這個位置,那么這條指令將會使得你所在的區(qū)塊不斷強制加載,并返回以下數(shù)據(jù):
已將minecraft:overworld中的區(qū)塊[1,1]標記為強制加載
需要注意的是,由于區(qū)塊不考慮Y軸,所以你在使用forceload添加常加載區(qū)塊時不需要指定Y坐標,只需要指定X和Z坐標即可。
上面這條信息中,區(qū)塊[1,1]是什么意思?
[1,1]在這邊并不是一個普通的坐標,而是區(qū)塊坐標。區(qū)塊坐標本質(zhì)上和普通的MC坐標沒啥差別,唯二的兩個差別無非以下兩個:
?、賲^(qū)塊坐標的單位長度為16格,也就是1區(qū)塊邊長
②區(qū)塊坐標的X、Z坐標均為整數(shù)(Y坐標其實也是,只不過如果算上Y坐標的話就變成區(qū)段坐標了)
也就是說,上面的區(qū)塊[1,1],指的就是(16,?,16)這個坐標位置所處的區(qū)塊。
現(xiàn)在,讓我們嘗試一下取消這個區(qū)塊的強制加載:
/forceload remove ~~
如果你的位置在剛才都沒有發(fā)生改變,那么這條指令將會使得你所在的區(qū)塊,也就是區(qū)塊[1,1]解除常加載:
已將minecraft:overworld中的區(qū)塊[1,1]解除強制加載
但如果你已經(jīng)跑到了其他區(qū)塊,那么運行上述指令只會返回:
沒有強制加載的區(qū)塊被移除
那么我們該怎么找到被強制加載的區(qū)塊呢?這時候就需要用到query子命令來查詢:
/forceload query
運行上述指令,不出意外的話,游戲應(yīng)該會返回以下信息:
在minecraft:overworld內(nèi)找到一個強制加載的區(qū)塊:[1,1]
然后呢?怎么移除?運行『/forceload remove 1 1』嗎?
NoNoNo,上面已經(jīng)說過了,[1,1]這個是區(qū)塊坐標,你需要將它的x、z坐標均乘以16才能將其轉(zhuǎn)化為能夠被我們使用的坐標:
/forceload remove 16 16
這樣子才行嘛。當然,如果你覺得這很麻煩,也可以通過運行:
/forceload remove all
來取消當前緯度的所有常加載區(qū)塊。
這就是本章的全部內(nèi)容。對了,query的可選參數(shù)『位置』也是填寫普通的坐標,并不是填寫區(qū)塊坐標哦!
附錄:/forceload歷史
Java
1.13.1——加入了/chunk,并重命名成了/forceload
1.14.4——現(xiàn)在/forceload的權(quán)限要求為2
......
......
......
?。ㄎ液芎闷妫@些營銷號是什么眼光,竟然僅僅只看上了這個章節(jié)。然后現(xiàn)在一堆什么CSDN、愛代碼愛編程等營銷號都跟風(fēng)轉(zhuǎn)發(fā)。只不過,它們轉(zhuǎn)發(fā)的是舊版的章節(jié),并不是本書第一次大修過后的章節(jié)。所以如果你之前有看過那些營銷號的文章,請注意,那并不是他們自己寫的,而是轉(zhuǎn)發(fā)了以前本章節(jié)的內(nèi)容)