第十四章 fill-填充指令
相信用過電腦畫圖的都知道,畫圖軟件都有一個功能,它就是:顏色填充。
Minecraft也有填充功能,但是它要用到一個指令,就是/fill。
/fill,在英文里意為“填滿;充滿;裝滿;注滿......”反正都是滿。所以,/fill的用處是:填滿指定范圍的空間。
/fill
用處:用特定的方塊填充或替換一個區(qū)域內(nèi)的方塊。
需要權(quán)限等級:Java-2,基巖-1
是否可使用命令方塊執(zhí)行:是
格式:
Java1.12.2之后
/fill <起點方塊坐標(biāo)><終點方塊坐標(biāo)><填充方塊:字符串>[<填充模式:destroy|hollow|keep|outline|replace>]
\\使用replace填充模式時\\
/fill ...... replace [被填充方塊:字符串]
Java1.13之前和基巖版
/fill <起點方塊坐標(biāo)><終點方塊坐標(biāo)><填充方塊:字符串>[<方塊數(shù)據(jù)值:Int整數(shù)>|<方塊狀態(tài)>][<填充模式:destroy|hollow|keep|outline|replace>]
\\使用replace填充模式時\\
/fill ...... replace [被填充方塊:字符串][被填充方塊數(shù)據(jù)值:Int整數(shù)]
由于/fill這個指令比較復(fù)雜,導(dǎo)致我們必須要用比較長的篇幅介紹完。
首先,/fill的填充范圍是一個長方體,起點方塊坐標(biāo)和終點方塊坐標(biāo)是兩個點,從這兩個點衍伸出來的X、Y、Z軸會形成一個長方體,這個長方體就是填充的范圍。填充的范圍包括的方塊量不能超過32767塊,不然無法執(zhí)行。
需要指定填充的方塊,填充模式默認(rèn)是replace。比如一個最基本的:
/fill ~1 ~-1 ~1 ~-1 ~-1 ~-1 diamond_block
這將會在命令執(zhí)行者(一般是你自己)腳下生成一個3×3×3的鉆石塊平臺。
填充模式一共有五種——destroy、hollow、keep、outline、replace。
一、destroy
destroy中文意思是“破壞”。所以它的作用跟破壞比較相似,是什么破壞呢?
你玩過生存模式吧,在這個模式,你每破壞一個方塊,一般都會獲得一些東西。比如破壞木頭獲得木頭;破壞樹葉有幾率獲得樹苗;破壞石頭會獲得圓石......
沒錯,destroy的作用是用指定方塊替換填充區(qū)域內(nèi)的所有方塊,而被替換的所有方塊都被視為被無魔咒的鉆石鍬或鎬采掘而掉落成對應(yīng)的實體形式,但是只能被剪刀采集的方塊,如藤蔓就不會掉落,流體方塊更不可能掉落,你見過拿著水方塊的玩家嗎?如果你玩過1.8之前的版本,可以無視上一句話。
二、hollow
hollow的中文意思是“中空的;空心的;凹陷的”,其作用是僅替換填充區(qū)域外層的方塊,內(nèi)部方塊被替換為空氣。所以用這個可以快速的建造出一個中空的地方,非常適合用于建筑黨和創(chuàng)作地圖黨。
三、keep
keep,中文意思是“保持”。所以它的作用也是類似于“保持”的。但它保持的是什么?
填充區(qū)域內(nèi)的所有非空氣方塊。
keep的作用是僅用指定方塊替換填充區(qū)域內(nèi)的空氣方塊,如果全都是空氣方塊當(dāng)然是全都替換啦。這個非常適合于坑坑洼洼的地方填充東西而不破壞地形。
四、outline
outline的中文意思是“概述;略述;顯示…的輪廓;勾勒…的外形”。這么多意思,到底是啥呢?很明顯,肯定不是“概述”,所以前面兩個,去掉。
所以,這里的outline的意思是“顯示…的輪廓;勾勒…的外形”。有輪廓、勾勒兩個詞,你想到什么?
這說明它的效果跟hollow是很像的,但是有一點不一樣,就是——它不是中空的。
outline的作用是僅用指定方塊替換填充區(qū)域外層的方塊,內(nèi)部方塊不受影響。這個非常適用于將地圖的一部分包起來而不破壞地形。
五、replace
replace是默認(rèn)的填充方式,中文意思是“代替”。
replace有更多的參數(shù),所以上面特別列出了一個“使用replace填充模式時”的格式。
replace多余出來的參數(shù)可以指定要替換的方塊,保證其他方塊不受影響。這個功能很好用,特別是配上execute指令,但那也是后話了。
下面來舉個例子,當(dāng)然是replace的栗子:
/fill 0 45 0 55 70 55 diamond_ore 0 replace stone 0
什么意思呢?這條指令的意思是:
將在(0,45,0)到(55,70,55)的所有石頭(stone)替換成數(shù)據(jù)值為0的鉆石礦(diamond_ore)。
/fill歷史
Java
1.8——加入了/fill、
1.11——加入了對方塊狀態(tài)的支持
攜帶版Alpha
0.16.0——加入了/fill
?。òψ髡?,什么是方塊狀態(tài)?)
?。ǚ綁K狀態(tài)簡單來說,就是這個方塊的狀態(tài)。)
(?)
?。ū热绶綁K的朝向之類的)