第十三章 clear-清除物品的指令
我們第一個提到的指令是/give,作用是給予玩家一樣物品。有正必有負(fù),Minecraft還有一條指令,和/give完全相反,這條指令就是/clear。
clear在英文中有三種意思,分別是:
1.清楚地;明白的。
2.清除;不再受阻。
3.離開;不靠近。
很明顯,這兒的clear意指第二種,也就是“清除”。所以,/clear的作用是:清除玩家的物品。
/clear
作用:清除玩家的單個或所有物品。
需要權(quán)限等級:Java-2,基巖-1
格式:
Java1.12.2之后
/clear [<目標(biāo)選擇器:玩家>][<物品ID:字符串>][清除的最大數(shù)量:Int整數(shù)]
基巖版和Java1.13之前
/clear [<目標(biāo)選擇器:玩家>][<物品ID:字符串>][要清除物品的數(shù)據(jù)值:Int整數(shù)][清除的最大數(shù)量:Int整數(shù)]
目標(biāo)選擇器——這個必須填玩家。不填默認(rèn)為命令執(zhí)行者,即清除命令執(zhí)行者(自己)的所有物品。
物品名——可以填需要清除的指定物品其ID,不填默認(rèn)清除指定玩家的所有物品。
要清除物品的數(shù)據(jù)值——這個如果不填,即不填數(shù)量和數(shù)據(jù)值(或者數(shù)據(jù)值填-1),將會只清除所有指定玩家的指定物品。
清除的最大數(shù)量——默認(rèn)是全部清除(相當(dāng)于填-1),填的話可以指定一次清除最大清除多少物品。注意是最大!也就是說,就算背包里的指定物品沒有達(dá)到最大數(shù)量,還是一樣會被清除。
下面舉個栗子:
/clear @a diamond 0 1
這個是以基巖版的格式為基礎(chǔ)的,Java版1.12.2之后版本需去掉那個0。意思是清除所有玩家物品欄里的數(shù)據(jù)值是0的鉆石,并且只清除1顆。
注意,clear這條指令及其特殊,它的數(shù)據(jù)值是在數(shù)量前面的,而不是填完數(shù)量再填數(shù)據(jù)值,這點要注意!
清除的最大數(shù)量可以填0。也就是說,可以通過填0來探測一個玩家背包里是否有指定物品,比如:
/clear @p minecraft:diamond_sword -1 0 {display:{Name:“天空之脊“}}
就可以檢測該玩家是否持有一把叫做“天空之脊”的鉆石劍。
?。]錯,后面那串就是NBT,這串自定義名字的具體操作會在第一百零四章:物品的顯示屬性講到)
如果該玩家并沒有持有,那么將會返回:
無法清除XXX的物品欄,沒有可清除的物品
如果該玩家持有一把,那么將會返回:
XXX有1個符合條件的物品
可惜的是,到底有多少物品只會顯示,卻不會通過紅石比較器轉(zhuǎn)換為紅石信號。