承峰解说
本人用于做一张地图....需要判断玩家手上物品,执行一条命令(clean give),有没有人...不是大神的也可以围观,给我点思路

承峰解说
来点人

Drowned64
1.8-参考一下这个帖子https://www.mcbbs.net/forum.php?mod=viewthread&tid=661267

EGEE2468
只是简单的提供一下思路本人不懂啊..(不确定1.7)能否使用..
ItemStack item=player.getItemInHand();
1.9的话有主手和副手:
player.getInventory().getItemInMainHand();
player.getInventory().getItemInOffHand();
boolean exists=item!=null && item.getType()!=Material.AIR
不知道你是不是要这样判断手上是否有物品
而且好像?clear和testfor都要在1.8以上才能探测物品

qbrgqrg
http://mc.tgbus.com/201708/31273148880.html给qaq看看有没有帮助

枯若Kuro
testfor在13w03a就有了
但我不确定有无这个用法
testfor 玩家 {SelectedItem:{id}}

cowb
本帖最后由 cowb 于 2020-4-11 09:24 编辑

1.7的testfor貌似不能检测生物,一般用了testfor,用比较器接收输出的信号再做进一步处理。比如我想检测到以这个命令方块为中心半径3个的玩家,检测到后在聊天框输出“嘿”,我应该这样做
[高频]
/testfor @p[r=3]
[比较器]
/say 嘿

https://minecraft-zh.gamepedia.com/%E5%91%BD%E4%BB%A4/testfor
这是mimecraft wiki1.7的格式是这样的才对:
  1. /testfor [玩家]
  2. /testfor @p[x,y,z]
  3. /testfor @p[r=半径]
  4. /testfor @e[type=item] #检测掉落物,不过这个1.7好像用不了,您试一下
复制代码



小林~
1. 7. 10只能
testfor @p
不能加标签
我试过了,没用QAQ

llc1
1.7只能/tesfor @p
不能加标签
你要做什么类型的地图,看看可不可以改成其他的

承峰解说
llc1 发表于 2020-4-11 14:03
1.7只能/tesfor @p
不能加标签
你要做什么类型的地图,看看可不可以改成其他的 ...

做地图用在服务器上的

Y制杖杖
1.8才可以哦

承峰解说
llc1 发表于 2020-4-11 14:03
1.7只能/tesfor @p
不能加标签
你要做什么类型的地图,看看可不可以改成其他的 ...

就是服务器手上拿着拔刀,判断玩家拿什么刀,再清除,给予一个锻造数100的刀

llc1
e,那么问题来了,1.7.10不许在@a后面加标签,感应后面加标签也不行,所以....村民交换是最好的。

承峰解说
llc1 发表于 2020-4-11 19:41
e,那么问题来了,1.7.10不许在@a后面加标签,感应后面加标签也不行,所以....村民交换是最好的。 ...

判断拔刀...然后clean,给予一个1000锻造拔刀

承峰解说
我换版本了该怎么操作

承峰解说
承峰解说 发表于 2020-4-19 13:19
我换版本了该怎么操作

换的是1.12.2

SeaGame
1.7.10不能检测手持物品,我有代码,你换个1.8或更高的版本。
换了?好,给你代码:
/testfor @a {Inventory:[id:"你要检测物品的英文ID"}]}
/clear @a 物品ID 1
/give @a ……

cowb
本帖最后由 cowb 于 2020-4-20 11:24 编辑

循环:
  1. /testfor @a {SelectedItem:{id:"minecraft:物品英文id",Count:1b}}
复制代码

后面比较器连接你想执行的命令


承峰解说
cowb 发表于 2020-4-20 09:50
循环:
后面比较器连接你想执行的命令

那可以做出那种RPG服呢.....

cowb
本帖最后由 cowb 于 2020-4-20 12:04 编辑
承峰解说 发表于 2020-4-20 11:27
那可以做出那种RPG服呢.....

您想具体实现什么说具体点吧,我可以直接给您写一下                                                                                                                                        像这样?↓
检测玩家手里有个叫"COWB"的铁剑:
  1. /testfor @a {SelectedItem:{id:"minecraft:stone",Count:1b,tag:{display:{Name:"COWB"}}}}
复制代码




承峰解说
cowb 发表于 2020-4-20 11:51
您想具体实现什么说具体点吧,我可以直接给您写一下                                                    ...

我开的是mod服,我想通过指令或命令方块扣钱然后执行更改刀上的NBT标签