1.17で特定のタグが付いたアイテムを持っていないことを検知したい

Minecraftのゲームプレイ全般の質問はこちらへどうぞ。
rei0
ID: 2MTWVXA8T8

1.17で特定のタグが付いたアイテムを持っていないことを検知したい

投稿記事 by rei0 » 2021年8月20日(金) 03:06

題名の通りで、datapackでタグ付けしたアイテム群がインベントリに入っている場合を検知するのは進捗管理でできたんですけど、持っていないときにその進捗を消したいんですけどその方法がわかりません
下の進捗でmetalタグのついたアイテムを持った瞬間に進捗を与えることで検知はできたのですが

コード: 全て選択

{
  "criteria": {
    "requirement": {
      "trigger": "minecraft:inventory_changed",
      "conditions": {
        "items": [
          {
            "tag": "cm:metal"
          }
        ]
      }
    }
  }
}
下のように"count":0としてもmetalタグが付いたアイテムを持っていないことを検知できず苦戦しています

コード: 全て選択

{
  "criteria": {
    "requirement": {
      "trigger": "minecraft:inventory_changed",
      "conditions": {
        "items": [
          {
            "tag": "cm:metal",
            "count": 0
          }
        ]
      }
    }
  }
}
セレクタのnbt={Inventory}ではタグ付きアイテム群を検知できなく、これ以上自力でどうにもなりません
ご教授お願いします



rei0
ID: 2MTWVXA8T8

Re: 1.17で特定のタグが付いたアイテムを持っていないことを検知したい

投稿記事 by rei0 » 2021年8月20日(金) 04:03

自己解決しました
アイテムにカスタムNBTつけてInventoryではidの指定が必須じゃなかったため

コード: 全て選択

@a[nbt={Inventory:[{tag:{metal:true}}]}]
これで検知できました

返信する