当前位置

:

首页

>

手游攻略

>

我的世界​如何探测玩家背包物品​都有什么

我的世界​如何探测玩家背包物品​都有什么

2017-09-19文章来源:笨手机

安卓专享:用小笨游戏下载 我的世界,立送首充,充值返利100%

我的世界里面对于命令方块的使用是游戏一大难点之一,很多时候命令方块可以简化玩家的建造流程,不过对玩家的代码知识要求比较高,下面是命令方块实现探测玩家背包的方法。

教大家如何在MC1.8里探测玩家背包的物品。

有2个做法:一个是用/clear,另一个是用/testfor。用testfor做更加高级,不过1.8更新后/clear也可以探测NBT什么,所以2个方法都可以。这个东西可以放在冒险地图里面。

首先是clear。自从1.8更新后,clear的格式改变了。现在可以自定义清空数量和物品NBT了。现在的指令格式:

/clear <玩家> <物品> [数据] [数量] [dataTag]

/clear我就不详细多说了,这条指令在很早就有了,不过以前一直没法清空自定义数量,自定义NBT等。给大家举个例子:如果要清空玩家背包里的一个叫“Test”的石剑:

我的世界如何探测玩家背包物品都有什么

那么指令就是:

clear @a minecraft:stone_sword 0 1 {display:{Name:"Test"}}

大家看见,指令里的1就是数量,后面的{display:{Name:"Test"}}意思就是石剑的NBT,也就是拥有自定义名字为“Test”的石剑。所以,当大家按下按钮后,如果背包里没有叫Test的石剑,那就是指令无效,不会给出输出。有的话就会情空掉一个石剑,然后给出输出。如果是要单纯物品探测的话,那请自行把数量改成0,然后后面用比较器进行输出。/clear比较基础我就不多深入讲解了。

之后就是/testfor指令了。1.8又更新了点NBT,让/testfor更强大了。用testfor的好处就是可以自定义物品栏等等,还可以探测玩家已经选中的物品栏。

指令:

/testfor @p {Inventory:[{Slot:0b,id:minecraft:stone_sword,Damage:0s,Count:1b,tag:{display:{Name:"Test"}}}]}

大家看见,这条指令还是探测刚才的一个叫“Test”的石剑。不过这次更加高级。NBT讲解:

Inventory:探测玩家仓库背包。/testfor用的,如果要探测玩家背包一定要加入这个NBT。

Slot:玩家物品的槽位。这行可选可不选。帖子下面会详细讲解槽位,单位是b。(数字后面一定要打b,比如:1b,0b等等)

id:探测目标物品的id。本人这里打的是minecraft:stone_sword,也就是石剑的ID。大家自行修改。

Damage:数据。这行默认为0,数据用来分辨多个相同物品。比如:多彩色的羊毛。单位是s,一定要加。

Count:数量。单位是b,一定要加入。这个好像只对可叠加物品起效,比如有5个叠加的羊毛,就可以探测得到。5把石剑的话,如果不是叠加在一起,那就无发探测,导致输出失败。

tag:这个我就不多说了,基础的NBT链接NBT。这个很多指令都可以用:summon,setblock等等。后面括号里的就是另外的NBT,控制石剑本身,而不和/testfor搞混。

(本教程不会加入探测玩家选中槽位教程。上次已经发过一个了(SelectedItemSlot),有兴趣的点击这里查看)

之后来说下背包槽位。大家知道,当打开背包后有很多很多槽位可以放物品。而/testfor探测背包有一项是可以探测玩家放入物品的槽位的。这个最大的用处就是可以探测玩家穿着什么装备什么。

槽位的控制图:

我的世界如何探测玩家背包物品都有什么

大家看见,0就是玩家选中的第一个槽位。之后100就是鞋子,101就是裤子,到103就是头盔。合成物品的是80,81,82和83。其他就不多说了,大家可以自己研究。玩家选中的槽位就是0-8。

Slot讲解。大家看见指令里的是0b,也就是玩家第一个手拿的物品。(详情看玩家背包槽位分布图)。所以,Slot后面填写的就是0b-8b,这个探测不一定要是玩家选中了这个槽位,而是只要这个槽位里有达到要求的物品就可以了。配合SelectedItemSlot的话可以达到更好的效果。

分享吧~提高逼格:

推荐阅读
  • 《我的世界》合成大全 材料制作合成表
  • 《我的世界》作弊码大全 倾情奉献


Copyright © 2012-2020 笨手机 benshouji.com, All Rights Reserved.沪ICP备15013048号-2

沪公网安备 31011402002333号