データパックの作り方 part3

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

動画で作成したjsonファイルやコマンド

predicate使用のためのコマンド

execute as @a[predicate=predicatetest:locatedindesert] run title @s title "砂漠にいる"

locatedindesert.json

{
        "condition": "minecraft:location_check",
        "predicate": {
            "biome": "minecraft:desert"
        }             
  }

killzombieinnoon.json

{
    "display": {
      "icon": {
        "item": "minecraft:zombie_head"
      },
      "title": "昼間にゾンビ撃破",
      "description": "昼間にゾンビを倒す",
      "background": "minecraft:textures/block/dirt.png",
      "show_toast": true,
      "announce_to_chat": true
    },
    "criteria": {
      "requirement": {
        "trigger": "minecraft:player_killed_entity",
        "conditions": {
          "player": [
            {
              "condition": "minecraft:time_check",
              "value": {
                "min": 2000,
                "max": 9000
                }
            }
          ],
          "entity": [
            {
              "condition": "minecraft:entity_properties",
              "entity": "this",
              "predicate": {
              "type": "minecraft:zombie"
              }
            }
          ]
        }
      }
    }           
  }

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

※predicate単独で使いやすいものに関しては太文字にしています

選択条件(英語) 条件や使用場面
all_of 設定した条件のすべてを満たしたら…
any_of 設定した条件の一つでも満たしたら…
block_state_property advancementやloottableで使用
damage_source_properties advancementで使用
entity_properties エンティティに関する条件
entity_score エンティティのスコアに関する条件
inverted predicateの条件を反転させる
killed_by_player 殺されたエンティティを間近で見ていたら達成されるらしい
location_check 座標を検知する
match_tool advancementやloottableで使用される
random_chance 一定確率で条件を達成
random_chance_with_looting ドロップ増加に影響するらしい
reference 別のpredicateファイルを参照する
survives_explosion 爆心からの半径に応じて達成率が変わる
table_bonus エンチャントのレベルに応じた確率で達成されるかどうか決まる
time_check 時間に応じて達成されるか決まる
value_check 特定の数値を調べて、それに応じて達成するかどうか決める
weather_check 天気に応じて達成されるかどうか決まる

advancementにおけるdisplayや見た目のの設定(1.20.4)

カスタムできる内容 何ができるか
icon item 進捗の真ん中に表示されるアイコンを設定できる。modのアイテムも指定できる?
icon NBT 進捗の真ん中に表示されるアイテムのNBTをいじれる
title 進捗の名前を設定できる
description 進捗の説明を変更できる
background 背景画像を選べる。基本はminecraft:textures直下を選択する。これを背景画像にしたい!というのがあったらコメント欄までお願いします
frame 進捗のランクを設定できる。task:進捗、goal:目標、challenge:挑戦
shot toast 進捗達成時に、右上に表示させるか選べる
announce to chat 進捗達成時に、チャット欄に表示させるか選べる
hidden 隠し進捗(達成されるまで表示されない進捗)にするかどうか選べる
parent advancement その進捗の前提条件となる進捗(線でつながってる左側にある進捗)を選べる。Jsonファイルを指定する。

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

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

リンクなど