本人用于做一张地图....需要判断玩家手上物品,执行一条命令(clean give),有没有人...不是大神的也可以围观,给我点思路
来点人
只是简单的提供一下思路本人不懂啊..(不确定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以上才能探测物品
ItemStack item=player.getItemInHand();
1.9的话有主手和副手:
player.getInventory().getItemInMainHand();
player.getInventory().getItemInOffHand();
boolean exists=item!=null && item.getType()!=Material.AIR
不知道你是不是要这样判断手上是否有物品
而且好像?clear和testfor都要在1.8以上才能探测物品
http://mc.tgbus.com/201708/31273148880.html给qaq看看有没有帮助
testfor在13w03a就有了
但我不确定有无这个用法
testfor 玩家 {SelectedItem:{id}}
但我不确定有无这个用法
testfor 玩家 {SelectedItem:{id}}
本帖最后由 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.7的testfor貌似不能检测生物,一般用了testfor,用比较器接收输出的信号再做进一步处理。比如我想检测到以这个命令方块为中心半径3个的玩家,检测到后在聊天框输出“嘿”,我应该这样做
[高频]
/testfor @p[r=3]
[比较器]
/say 嘿
https://minecraft-zh.gamepedia.com/%E5%91%BD%E4%BB%A4/testfor
这是mimecraft wiki1.7的格式是这样的才对:
- /testfor [玩家]
- /testfor @p[x,y,z]
- /testfor @p[r=半径]
- /testfor @e[type=item] #检测掉落物,不过这个1.7好像用不了,您试一下
1. 7. 10只能
testfor @p
不能加标签
我试过了,没用QAQ
testfor @p
不能加标签
我试过了,没用QAQ
1.7只能/tesfor @p
不能加标签
你要做什么类型的地图,看看可不可以改成其他的
不能加标签
你要做什么类型的地图,看看可不可以改成其他的
llc1 发表于 2020-4-11 14:03
1.7只能/tesfor @p
不能加标签
你要做什么类型的地图,看看可不可以改成其他的 ...
做地图用在服务器上的
1.8才可以哦
llc1 发表于 2020-4-11 14:03
1.7只能/tesfor @p
不能加标签
你要做什么类型的地图,看看可不可以改成其他的 ...
就是服务器手上拿着拔刀,判断玩家拿什么刀,再清除,给予一个锻造数100的刀
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
1.7.10不能检测手持物品,我有代码,你换个1.8或更高的版本。
换了?好,给你代码:
/testfor @a {Inventory:[id:"你要检测物品的英文ID"}]}
/clear @a 物品ID 1
/give @a ……
换了?好,给你代码:
/testfor @a {Inventory:[id:"你要检测物品的英文ID"}]}
/clear @a 物品ID 1
/give @a ……
本帖最后由 cowb 于 2020-4-20 11:24 编辑
循环:复制代码
后面比较器连接你想执行的命令
承峰解说 发表于 2020-4-19 13:19
换的是1.12.2
循环:
- /testfor @a {SelectedItem:{id:"minecraft:物品英文id",Count:1b}}
后面比较器连接你想执行的命令
cowb 发表于 2020-4-20 09:50
循环:
后面比较器连接你想执行的命令
那可以做出那种RPG服呢.....
本帖最后由 cowb 于 2020-4-20 12:04 编辑
您想具体实现什么说具体点吧,我可以直接给您写一下 像这样?↓
检测玩家手里有个叫"COWB"的铁剑:
复制代码
承峰解说 发表于 2020-4-20 11:27
那可以做出那种RPG服呢.....
您想具体实现什么说具体点吧,我可以直接给您写一下 像这样?↓
检测玩家手里有个叫"COWB"的铁剑:
- /testfor @a {SelectedItem:{id:"minecraft:stone",Count:1b,tag:{display:{Name:"COWB"}}}}
cowb 发表于 2020-4-20 11:51
您想具体实现什么说具体点吧,我可以直接给您写一下 ...
我开的是mod服,我想通过指令或命令方块扣钱然后执行更改刀上的NBT标签