第十三章 clear-清除物品的指令
我们第一个提到的指令是/give,作用是给予玩家一样物品。有正必有负,Minecraft还有一条指令,和/give完全相反,这条指令就是/clear。
clear在英文中有三种意思,分别是:
1.清楚地;明白的。
2.清除;不再受阻。
3.离开;不靠近。
很明显,这儿的clear意指第二种,也就是“清除”。所以,/clear的作用是:清除玩家的物品。
/clear
作用:清除玩家的单个或所有物品。
需要权限等级:Java-2,基岩-1
格式:
Java1.12.2之后
/clear [<目标选择器:玩家>][<物品ID:字符串>][清除的最大数量:Int整数]
基岩版和Java1.13之前
/clear [<目标选择器:玩家>][<物品ID:字符串>][要清除物品的数据值:Int整数][清除的最大数量:Int整数]
目标选择器——这个必须填玩家。不填默认为命令执行者,即清除命令执行者(自己)的所有物品。
物品名——可以填需要清除的指定物品其ID,不填默认清除指定玩家的所有物品。
要清除物品的数据值——这个如果不填,即不填数量和数据值(或者数据值填-1),将会只清除所有指定玩家的指定物品。
清除的最大数量——默认是全部清除(相当于填-1),填的话可以指定一次清除最大清除多少物品。注意是最大!也就是说,就算背包里的指定物品没有达到最大数量,还是一样会被清除。
下面举个栗子:
/clear @a diamond 0 1
这个是以基岩版的格式为基础的,Java版1.12.2之后版本需去掉那个0。意思是清除所有玩家物品栏里的数据值是0的钻石,并且只清除1颗。
注意,clear这条指令及其特殊,它的数据值是在数量前面的,而不是填完数量再填数据值,这点要注意!
清除的最大数量可以填0。也就是说,可以通过填0来探测一个玩家背包里是否有指定物品,比如:
/clear @br / minecraft:diamond_sword -1 0 {disbr /lay:{Name:“天空之脊“}}
就可以检测该玩家是否持有一把叫做“天空之脊”的钻石剑。
(没错,后面那串就是NBT,这串自定义名字的具体操作会在第一百零四章:物品的显示属性讲到)
如果该玩家并没有持有,那么将会返回:
无法清除XXX的物品栏,没有可清除的物品
如果该玩家持有一把,那么将会返回:
XXX有1个符合条件的物品
可惜的是,到底有多少物品只会显示,却不会通过红石比较器转换为红石信号。