データパックの作り方 part2

間違いなどがあったら指摘していただけるとうれしいです。質問もお待ちしています。

動画で作成したadvancementのファイル

damaged.json

{
"criteria": {
 "requirement": {
   "trigger": "minecraft:entity_hurt_player",
   "conditions": {}
   }
},
"rewards": {
  "function": "advancementtest:damaged"
    }              
  }

atebread.json

{
    "criteria": {
      "requirement": {
        "trigger": "minecraft:consume_item",
          "conditions": {
            "item": {
              "items": [
                "minecraft:bread"
                ]
              }
            }
          }
        },
        "rewards": {
          "function": "advancementtest:atebread"
        }              
  }

requirementsで選べる条件一覧(1.20.4)

選択条件(英語) 進捗の達成条件
allay_drop_item_on_block アレイがブロックの上にアイテムを落とす
avoid_vibration スニークすることにより、スカルクセンサーを反応させないようにする
bee_nest_destroyed 蜂の巣を破壊する
bred_animals 動物を繁殖させる
brewed_potion ポーションを醸造する
changed_dimension ディメンション間を移動する
channeled_lightning エンティティに招雷のエンチャント付きのトライデントを当てる
construct_beacon ビーコンを作成し、設置する(正確には構造を変更させる)
consume_item アイテムを消費する
cured_zombie_villager 村人ゾンビを治療する
effects_changed 何かのエフェクトを得る
enchanted_item エンチャントテーブルでアイテムをエンチャントする
enter_block コンポスターなどの穴があるブロックの内側に入る
entity_hurt_player エンティティがプレイヤーにダメージを与える
entity_killed_player エンティティがプレイヤーを倒す
fall_from_height プレイヤーが高所から落ちる
filled_bucket バケツを満たす
fishing_rod_hooked 釣り竿でアイテムやエンティティを引っ張る
hero_of_the_village 襲撃イベントをクリアする
impossible コマンドでのみ達成できる
inventory_changed インベントリが変更される
item_used_on_block 手かアイテムをブロックに使用する
kill_mob_near_sculk_catalyst スカルクカタリストの近くでエンティティが倒れる
killed_by_crossbow クロスボウでエンティティを倒す
levitation 浮遊の効果を得る
lightning_strike プレイヤーの近くで雷が落ちる
location プレイヤーが指定した範囲内に入る
nether_travel プレイヤーがネザーから帰ってくる
placed_block プレイヤーがブロックを設置する
player_generates_container_loot loottable付きの宝箱を開ける
player_hurt_entity プレイヤーがエンティティにダメージを与える
player_interacted_with_entity プレイヤーがエンティティに相互作用する
player_killed_entity プレイヤーがエンティティを倒す
recipe_crafted アイテムをクラフトする
recipe_unlocked レシピのロックを解除する
ride_entity_in_lava 溶岩の上を進むエンティティに乗る
shot_crossbow クロスボウを打つ
slept_in_bed ベッドに入る
slide_down_block ブロックを滑り落ちる
started_riding プレイヤーが乗り物に乗り始める
summoned_entity エンティティを召喚する
tame_animal 動物を飼いならす
target_hit 的に当てる
thrown_item_picked_up_by_entity プレイヤーが投げたアイテムをエンティティが拾う
thrown_item_picked_up_by_player エンティティが投げたアイテムをプレイヤーが拾う
tick 毎ティック達成される
used_ender_eye エンダーアイを使う
used_totem 不死のトーテムを使う
using_item 一部のアイテムを使う
villager_trade 村人と交易する
voluntary_exile 襲撃イベントを始める

データパックにおけるファイル指定について

動画内で何度か紹介した、ファイルの指定について説明します。 動画内では、damaged.jsonの中でdamaged.mcfunctionを指定していますが、もちろんほかのファイルも選択できます。たとえばbbbb.mcfunctionを指定することもできます。 ところが、damaged.mcfunctionはadvancementtest/functionsの直下にあります。これではfunctionsの直下のファイルしか選択できません。 それ以外のファイルはどうすべきでしょうか?例えば、aaaというフォルダの中のfunctionsの中にtestフォルダを作り、そのなかにsuken.mcfunctionがあったらどうしましょう? それの記述の仕方は、aaa:test/sukenのように表記するのです。まず1つめだけは:(コロン)で表記し、それ以外は/(スラッシュ)で表記します。これのサンプルも、ダウンロードできるようにしておきます。 結構説明が難しかったのでわからない点があればコメントで質問お願いします!

リンクなど