小伙伴们你么你知道在我的世界中新指令CommandStats是什么吗?它的使用方法有事什么呢?今天小编就给大家详细介绍一下。
我的世界1.8版本14w27b快照中加入了dataTag:{CommandStats},dataTag是控制积分板的,可以用来做冒险地图,有四个功能:Block,Item,Entity、Success,能探测玩家包里有多少个某个物品,地图中有多少生物。
Blocks——控制方块,指令方块放置了几个方块就会将积分变到几分,若是 /setblock,就是1,/setblock只可放一个方块,要是/fill,就有很多,玩家/fill多少方块就显示多少。
Items——控制物品,这个能探到玩家身上带来几个指定物品,跟/clear结合可以删除玩家某个物品0个,然后Item能显示玩家物品数量。
Entities——探测生物,如用/tp @e ~ ~ ~,能把所有生物TP到他们当前位置(瞬移),Entity会显示有多少个输出(生物)。
Success——控制执行的次数,要是Item,/clear 后会探测到有多少个物品,但Success还是1,因为只执行了一次。
NBT格式
{CommandStats:{AffectedItemsName:"Items玩家",AffectedItemsObjective:"积分板变量",
AffectedBlocksName:"Blocks玩家", AffectedBlocksObjective:"积分板变量",
AffectedEntitiesName:"Entities玩家", AffectedEntitiesObjective:"积分板变量",
SuccessCountName:"Success玩家",SuccessCountObjective:"积分版变量"}}
NBT格式里有Blocks、Items、Entities、Success,推荐把积分板变量改成相同的,方便,Blocks玩家,Entities玩家的,都是计分板里面的玩家系统,推荐使用假名。
使用NBT要做点准备工作,创建计分板变量,假名这些。
先建个计分板变量,指令方块里输入:
/scoreboard objectives add (变量名字) dummy
变量名字地方随便写,然后建个假名,跟之前一样,指令方块里分别输入:
/scoreboard players set (假名) (变量名字) 0
需要4如果假名,有4个选项,要放四个指令方块,分别输入4个名字(刚才创建的要跟变量名字相同)。
之后,设置计分板显示,用setdisplay:
/scoreboard objectives setdisplay sidebar (变量名字)
这指令能把计分板变量显示在游戏画面右边,输入完这条指令后不会出现东西,因为还没有加入积分,这里把名字积分全设成默认的0。
改成0的指令:
/scoreboard players set (假名) (积分板变量) 0
有4个假名,那么4个都要一个一个的设置。
之后控制显示使用的指令方块,地上放个指令方块,然后输入:
/blockdata ~ ~ ~
{CommandStats:{AffectedItemsName:"Items玩家",AffectedItemsObjective:"积分板变量",
AffectedBlocksName:"Blocks玩家", AffectedBlocksObjective:"积分板变量",
AffectedEntitiesName:"Entities玩家", AffectedEntitiesObjective:"积分板变量",
SuccessCountName:"Success玩家",SuccessCountObjective:"积分版变量"}}
跟刚才的一样,使用/blockdata给指令方块注入计分板信息,有4个玩家Blocks、Entities、Success、Items,4个就分别用刚刚创建的4个名字,计分板变量跟刚才创建的相同。
/blockdata ~ ~ ~
{CommandStats:{AffectedItemsName:"Items",AffectedItemsObjective:"14w27b",
AffectedBlocksName:"Blocks", AffectedBlocksObjective:"14w27b",
AffectedEntitiesName:"Entities", AffectedEntitiesObjective:"14w27b",
SuccessCountName:"Success",SuccessCountObjective:"14w27b"}}
假名不同、变量一样
然后执行就行了,指令方块会自己注入所有信息,只有注入的指令方块才能执行,注入完以后不要打掉指令方块,要不要重新注入。
注入完以后清空指令方块里的指令就能打了,这样:/fill ~ ~1 ~ ~ ~3 ~ minecraft:stone 0 replace ,指令方块就会把上面3格换成石头,看计分板,控制Blocks的名字就会将0换成3了,因为换了3个方块,然后Success处也会+1分。
后面控制Entities,Item一样,Entities可以用 /tp @e ~ ~ ~ ,把所有生物移到他们当前位置(还是在原地),然湖Entities显示所有移动生物的数量。
后面的Items,用/clear或者/give什么,能增加Items假名积分。