whcwdsj
如何用execute指令检测玩家手中或身上的带tag的物品?

求大佬的帮助!

格式:execute ... @e[nbt=(???)] ...



洞穴夜莺
@s[nbt={Inventory:[{Slot:<slot编号>b,id:"<物品id>"}]}]
slot编号为头盔103,胸甲102,裤子101,鞋子100

晴路卡


whcwdsj
晴路卡 发表于 2021-6-19 11:42
  • 手里拿着虞美人执行say 1:
  • 副手拿着虞美人执行say 1:

  • 那带tag的特定装备呢?

    晴路卡
    whcwdsj 发表于 2021-6-19 15:28
    那带tag的特定装备呢?

    在第一条的基础上改了改,如果手上的虞美人名称为test的时候执行say 1
    1. /execute as @a if data entity @s {SelectedItem:{id:"minecraft:poppy",tag:{display:{Name:'{"text":"test"}'}}}} run say 1
    复制代码


    其他的以此类推,参考player.dat

    whcwdsj
    晴路卡 发表于 2021-6-19 16:04
    在第一条的基础上改了改,如果手上的虞美人名称为test的时候执行say 1

    好像......不管用

    晴路卡
    whcwdsj 发表于 2021-6-19 22:05
    好像......不管用

    具体情况 具体命令 给个

    whcwdsj
    晴路卡 发表于 2021-6-19 22:15
    具体情况 具体命令 给个

    虞美人命令(来自命令生成器):/give @p minecraft:poppy{display:{Name:"[{\"text\":\"test\",\"bold\":false,\"italic\":false,\"underlined\":false,\"strikethrough\":false,\"obfuscated\":false}]"}} 1

    晴路卡
    本帖最后由 晴路卡 于 2021-6-20 16:30 编辑
    whcwdsj 发表于 2021-6-20 16:17
    虞美人命令(来自命令生成器):/give @p minecraft:poppy{display:{Name:"[{\"text\":\"test\",\"bold\" ...
    1. /execute as @a if data entity @s {SelectedItem:{id:"minecraft:poppy",tag:{display:{Name:'[{"text":"test","bold":false,"italic":false,"underlined":false,"strikethrough":false,"obfuscated":false}]'}}}} run say 1
    复制代码
    那就输这个 Name的json文本必须要和你give时的物品一致
    虽然看起来是一样的但是实际上不一样 检测的时候必须完全准确
    有能力的话还是别用什么生成器了吧 或者找个看上去舒服点的用

    whcwdsj
    晴路卡 发表于 2021-6-20 16:27
    那就输这个 Name的json文本必须要和你give时的物品一致
    虽然看起来是一样的但是实际上不一样 检测的时候必 ...

    能不能检测带tag的物品,如:/give @p minecraft:knowledge_book{Tags:["book"]}

    晴路卡
    whcwdsj 发表于 2021-6-23 12:59
    能不能检测带tag的物品,如:/give @p minecraft:knowledge_book{Tags:["book"]}

    可以
    1. /execute if data entity @s {SelectedItem:{id:"minecraft:knowledge_book",tag:{Tags:["book"]}}} run say 1
    复制代码
    另外在物品标签里塞个Tags真的是太奇怪了,如果是生成器的锅的话建议不要再用了。

    第一页 上一页 下一页 最后一页