第五十六章 clone-拷貝方塊
在電腦上右鍵任意一個文件或在手機上選中任意一個文件,你肯定會看見一個操作:拷貝(復(fù)制)
不只是文件可以拷貝,文字、圖片也可以拷貝。
Minecraft也是在電腦和手機上運行的,那么Minecraft可以拷貝嗎?
當(dāng)然可以,因為Minecraft本身就是由多個文件組成的。
但是Minecraft里面的方塊呢?
其實也是可以的,但并不是長按或選中,而是使用一個特殊的指令:/clone。
/clone(克?。┲噶?,可以將一定范圍的方塊選中然后復(fù)制并粘貼到它處。
聽起來這操作是不是很簡單?聽上去確實很簡單,但實際操作就有些門道了。
/clone
作用:拷貝(或剪切)選中范圍內(nèi)的所有或部分方塊,并覆蓋到它處。
需要權(quán)限等級:Java-2,基巖-1
需要作弊:是
格式:
Java1.13更新后
/clone <復(fù)制區(qū)開始坐標(biāo)><復(fù)制區(qū)結(jié)束坐標(biāo)><粘貼區(qū)區(qū)域基點>[replace|masked][force|move|normal]
/clone <復(fù)制區(qū)開始坐標(biāo)><復(fù)制區(qū)結(jié)束坐標(biāo)><粘貼區(qū)區(qū)域基點> filtered <需要復(fù)制的方塊>[force|move|normal]
Java1.13更新前和基巖版
/clone <復(fù)制區(qū)開始坐標(biāo)><復(fù)制區(qū)結(jié)束坐標(biāo)><粘貼區(qū)區(qū)域基點>[replace|masked][force|move|normal]
/clone <復(fù)制區(qū)開始坐標(biāo)><復(fù)制區(qū)結(jié)束坐標(biāo)><粘貼區(qū)區(qū)域基點> filtered <force|move|normal><需要復(fù)制的方塊><方塊數(shù)據(jù)值|方塊狀態(tài)>
我們要拷貝一個區(qū)域內(nèi)的方塊,首先我們要選中一個區(qū)域。
clone指令指定區(qū)域的方式和/fill等其他大多數(shù)指令差不多,都是指定一個長方體區(qū)域的兩個對角坐標(biāo)。
這么說你可能會有些迷糊。這樣吧,打個比方:
假設(shè)這里有一個長方形的桌子,它有四條腿。如果我們要選中這個桌子,就需要先把這個桌子看作是一個長方體,八個頂點分別是四個桌角和四條腿與地面的垂足(這好像不是個長方體吧?)。然后我們隨便選一個頂點的坐標(biāo)作為第一個對角坐標(biāo)輸入進/clone里,再選擇與這個頂點相對應(yīng)的頂點的坐標(biāo)作為第二個對角坐標(biāo)輸入進/clone里,這樣子我們就成功選取了這個桌子。
這下子你應(yīng)該理解了吧?
選中區(qū)域之后就要考慮要復(fù)制到哪里,即確定目標(biāo)區(qū)域。目標(biāo)區(qū)域的形狀方向大小和源區(qū)域是一模一樣的,唯一的區(qū)別只是位置的不同。因此我們只需要確定目標(biāo)區(qū)域的區(qū)域基點坐標(biāo)即可。
什么是區(qū)域基點坐標(biāo)?這是個專業(yè)說法,簡單來說就是目標(biāo)區(qū)域的下西北角坐標(biāo)。關(guān)于這東西其實我們在第三十七章就接觸過了:
“比較時先通過/fill選擇區(qū)域的方式確定源區(qū)域,再與要比較區(qū)域進行比較。只不過這個要比較區(qū)域的位置填寫就挺蛋疼:你得找到要比較區(qū)域的下西北角(專業(yè)術(shù)語叫做區(qū)域基點)。
哪里是下西北角呢?
區(qū)域內(nèi)XYZ三個值最小的地方。
這兩個區(qū)域的大小由第一個定,所以比較的區(qū)域就直接給一個角了。
以后的/clone指令(復(fù)制指令)也是這種形式?!?p> ——引自《Minecraft指令手冊》第三十七章:testforblock、testforblocks-探測下
成功確定并輸入目標(biāo)區(qū)域基點坐標(biāo)后,你就可以運行指令將源區(qū)域內(nèi)的所有方塊拷貝過去了。注意,這將會覆蓋原本區(qū)域內(nèi)的所有方塊!而且Minecraft中可沒有撤銷操作,請確定你所輸入的坐標(biāo)均完全正確!
這是最簡單的拷貝方式。/clone實際上給我們提供了三種復(fù)制模式和三種拷貝模式。
三種復(fù)制模式是:
replace——默認(rèn),全選
masked——僅復(fù)制非空氣方塊,這將會保留目標(biāo)區(qū)域中原本會被替換成空氣的方塊
filtered——僅復(fù)制指定方塊
三種拷貝模式是:
normal——默認(rèn),即普通的復(fù)制并粘貼
move——剪切,即復(fù)制粘貼后把源區(qū)域全部替換為空氣
force——強制拷貝,和normal模式的唯一區(qū)別是即使目標(biāo)區(qū)域和源區(qū)域一模一樣還是拷貝。
比如:
/clone 1 1 1 2 2 2 10 10 10 masked move
運行這條指令,游戲?qū)羟性磪^(qū)域(1,1,1)-(2,2,2)到目標(biāo)區(qū)域,且僅復(fù)制源區(qū)域內(nèi)的非空氣方塊。
上面的3+3模式中,唯一需要稍微講一下的就是filtered模式。
filtered模式和其他模式最大的不同在于,它多了一到兩個參數(shù):方塊(基巖版和Java1.13更新前版本還多了“數(shù)據(jù)值或方塊狀態(tài)”參數(shù))
使用filtered,可以指定需要復(fù)制什么方塊。比如:
/clone 1 1 1 2 2 2 ~,~,~,filtered air normal(Java1.13更新后)
/clone 10 5 10 30 30 30,~,~,~,filtered normal air -1 (Java1.13更新前和基巖版)
?。ㄉ厦娴亩禾杻H供區(qū)分參數(shù)之用,實際不需要逗號,請忽略)
運行上面的指令,游戲只會復(fù)制空氣方塊到目標(biāo)區(qū)域。如果目標(biāo)區(qū)域都是非空氣方塊,你將會驚喜地發(fā)現(xiàn)目標(biāo)區(qū)域變成了源區(qū)域的形狀!
這就是filtered的用處之一,可以將目標(biāo)區(qū)域改造成源區(qū)域的形狀而不影響其原本方塊構(gòu)成?;蛟S你還能想到更多奇妙的用處。
/clone指令的內(nèi)容就這么多。注意:和/fill一樣,/clone一次性最多只能拷貝32767個方塊!