天才一秒記住【UU看書】地址:www.uukanshu.co
在電腦上右鍵任意一個檔案或在手機上選中任意一個檔案,你肯定會看見一個操作:複製(複製)
不只是檔案可以複製,文字、圖片也可以複製。
Minecraft也是在電腦和手機上執行的,那麼Minecraft可以複製嗎?
當然可以,因為Minecraft本身就是由多個檔案組成的。
但是Minecraft裡面的方塊呢?
其實也是可以的,但並不是長按或選中,而是使用一個特殊的指令:clone。
clone(克隆)指令,可以將一定範圍的方塊選中然後複製並貼上到它處。
聽起來這操作是不是很簡單?聽上去確實很簡單,但實際操作就有些門道了。
clone
作用:複製(或剪下)選中範圍內的所有或部分方塊,並覆蓋到它處。
需要許可權等級:Java2,基岩1
需要作弊:是
格式:
Java113更新後
clonelt複製區開始座標gtlt複製區結束座標gtlt貼上區區域基點gtreplacemaskedforcemovenormal
clonelt複製區開始座標gtlt複製區結束座標gtlt貼上區區域基點gtfilteredlt需要複製的方塊gtforcemovenormal
Java113更新前和基岩版
clonelt複製區開始座標gtlt複製區結束座標gtlt貼上區區域基點gtreplacemaskedforcemovenormal
clonelt複製區開始座標gtlt複製區結束座標gtlt貼上區區域基點gtfilteredltforcemovenormalgtlt需要複製的方塊gtlt方塊資料值方塊狀態gt
我們要複製一個區域內的方塊,首先我們要選中一個區域。
clone指令指定區域的方式和fill等其他大多數指令差不多,都是指定一個長方體區域的兩個對角座標。
這麼說你可能會有些迷糊。這樣吧,打個比方:
假設這裡有一個長方形的桌子,它有四條腿。如果我們要選中這個桌子,就需要先把這個桌子看作是一個長方體,八個頂點分別是四個桌角和四條腿與地面的垂足(這好像不是個長方體吧?)。然後我們隨便選一個頂點的座標作為第一個對角座標輸入進clone裡,再選擇與這個頂點相對應的頂點的座標作為第二個對角座標輸入進clone裡,這樣子我們就成功選取了這個桌子。
這下子你應該理解了吧?
選中區域之後就要考慮要複製到哪裡,即確定目標區域。目標區域的形狀方向大小和源區域是一模一樣的,唯一的區別只是位置的不同。因此我們只需要確定目標區域的區域基點座標即可。
什麼是區域基點座標?這是個專業說法,簡單來說就是目標區域的下西北角座標。關於這東西其實我們在第三十七章就接觸過了:
“比較時先透過fill選擇區域的方式確定源區域,再與要比較區域進行比較。只不過這個要比較區域的位置填寫就挺蛋疼:你得找到要比較區域的下西北角(專業術語叫做區域基點)。
哪裡是下西北角呢?
區域內XYZ三個值最小的地方。
這兩個區域的大小由第一個定,所以比較的區域就直接給一個角了。
以後的clone指令(複製指令)也是這種形式。”
——引自《Minecraft指令手冊》第三十七章:testforblock、testforblocks探測下
成功確定並輸入目標區域基點座標後,你就可以執行指令將源區域內的所有方塊複製過去了。注意,這將會覆蓋原本區域內的所有方塊!而且Minecraft中可沒有撤銷操作,請確定你所輸入的座標均完全正確!
這是最簡單的複製方式。clone實際上給我們提供了三種複製模式和三種複製模式。
三種複製模式是:
replace——預設,全選
masked——僅複製非空氣方塊,這將會保留目標區域中原本會被替換成空氣的方塊
filtered——僅複製指定方塊
三種複製模式是:
normal——預設,即普通的複製並貼上
move——剪下,即複製貼上後把源區域全部替換為空氣
force——強制複製,和normal模式的唯一區別是即使目標區域和源區域一模一樣還是複製。
比如:
clone111222101010maskedmove
執行這條指令,遊戲將會剪下源區域1,1,12,2,2到目標區域,且僅複製源區域內的非空氣方塊。
上面的33模式中,唯一需要稍微講一下的就是filtered模式。
filtered模式和其他模式最大的不同在於,它多了一到兩個引數:方塊(基岩版和Java113更新前版本還多了“資料值或方塊狀態”引數)
使用filtered,可以指定需要複製什麼方塊。比如:
clone111222,,,filteredairnormal(Java113更新後)
clone10510303030,,,,filterednormalair1(Java113更新前和基岩版)
(上面的逗號僅供區分引數之用,實際不需要逗號,請忽略)
執行上面的指令,遊戲只會複製空氣方塊到目標區域。如果目標區域都是非空氣方塊,你將會驚喜地發現目標區域變成了源區域的形狀!
這就是filtered的用處之一,可以將目標區域改造成源區域的形狀而不影響其原本方塊構成。或許你還能想到更多奇妙的用處。
clone指令的內容就這麼多。注意:和fill一樣,clone一次性最多隻能複製32767個方塊!