進捗/JSONフォーマット

提供: Minecraft Wiki
移動先: 案内検索

Minecraftのワールドのデータパック内にあるカスタム進捗は、そのワールドの進捗データを別々のJSONファイルとして保存している。

ファイルフォーマット[編集 | ソースを編集]

進捗のすべてのJSONファイルは、次の形式で構造化されている。

  • Nbtsheet.png ルートタグ
    • Nbtsheet.png display: 表示に関するデータ(任意)
      • Nbtsheet.png icon: 表示するアイコン
        • Nbtsheet.png item: 表示するアイコンのアイテムID
        • Nbtsheet.png nbt: アイテムのNBTデータ
      • Nbtsheet.png title: 進捗のタイトル
      • Nbtsheet.png title: JSONでの記述(/tellraw コマンドのような形式が可能。translateタグもここで指定可能)
      • Nbtsheet.png frame: アイコンのフレーム(任意)。challenge を指定するとややトゲトゲしいフレームを使用できる。「モンスター狩りの達人」等に使用されている。goal を指定するとやや丸みを帯びたフレームを使用できる。「ビーコネーター」等に使用されている。task は通常のフレーム(デフォルト)である。
      • Nbtsheet.png background: 進捗タブの背景のディレクトリを指定する(起点となる進捗のみ指定可能)
      • Nbtsheet.png description: 進捗の説明文
      • Nbtsheet.png description: JSONでの記述(/tellraw コマンドのような形式が可能。translateタグもここで指定可能)
      • Nbtsheet.png show_toast: トーストをポップアップさせるか否かを設定する。true または false で指定できる。 デフォルトはtrue。
      • Nbtsheet.png announce_to_chat: 進捗を達成した際にチャットにメッセージを表示するか否かを true または false で指定することができる。デフォルトはtrue。
      • Nbtsheet.png hidden: true または false で指定する。この進捗と子進捗を、達成するまで非表示にするかどうかを設定する。起点となる進捗には適用されないが、子進捗には適用される。デフォルトはfalse。
    • Nbtsheet.png parent: 前提条件(親)となる進捗を設定する(起点となる進捗には適用されない)
    • Nbtsheet.png criteria: 進捗を達成するために満たすべき基準
      • Nbtsheet.png <criteriaName>: 基準に名前を設定する(任意に設定することができるが、他と重複してはいけない)
        • Nbtsheet.png trigger: この進捗を達成するためのトリガー。ゲームシステムがこの進捗のために何をチェックするかを指定する。
        • Nbtsheet.png conditions: トリガーがアクティブになるために満たされる必要があるコンディション
    • Nbtsheet.png requirements: オプションのリスト(すべて<criteriaName>)。すべての基準が必要な場合は、省略することができる。複数の基準:要件には条件付きリストのリストが含まれている。(すべての基準について言及する必要がある)。すべてのリストにすべての基準が満たされていれば、進捗を達成することができる(ORグループの基本的なANDグループ化)。
    • Nbtsheet.png rewards: 進捗を達成した際に、任意でプレイヤーに報酬を与えることができる。
      • Nbtsheet.png recipes: レシピのリスト(文字列)
      • Nbtsheet.png loot: ルートテーブルのリスト(文字列)
      • Nbtsheet.png experience: 経験値の量
      • Nbtsheet.png function: 関数を実行する。関数は単純なテキストファイルとして .minecraft\saves\XXXX\data\functions\ のフォルダの中に格納されいて、羅列されたコマンドを順番に実行する。

表示[編集 | ソースを編集]

高度なJSONオブジェクトのルートタグ内のNbtsheet.png displayフィールドとNbtsheet.png parentフィールドは両方とも進捗の表示に関連したオプションである。

Nbtsheet.png displayタグが存在する場合、有効な進捗表示データであるために存在するNbtsheet.pngNbtsheet.png titleNbtsheet.pngNbtsheet.png descriptionフィールドの両方が入っているはずである。

Nbtsheet.png parentフィールドは、進捗の表示データに直接関連付けられていないが、表示データのみに効果的に影響する。進捗に表示データがなく、その子に表示データがない場合、進捗の親は進捗自体に影響は与えない。

タブ作成[編集 | ソースを編集]

進捗画面でタブを作成するには、ディスプレイでルート進捗(親のない進捗)を定義する。進捗を含むデータパックが読み込まれると、その進捗ツリーの進捗が画面を表示しているプレイヤーに許可されると、ルート進捗により進捗画面にタブが表示される。

ルート進捗に背景が指定されていない場合、タブは作成されるがタブの背景が欠落したテクスチャとして表示される。

存在[編集 | ソースを編集]

非ルート進捗(親が定義された進捗)の場合、ロック解除時にタブに表示されるようにするには、次の条件が満たされている必要がある。

  1. ルート進捗が有効なタブである必要がある。
  2. ディスプレイが必要。

位置[編集 | ソースを編集]

ゲームは自動的に進捗を手配し、データパックから進捗を読み込む際にそれらを配置し、その手配をクライアントに送信する。各進捗には、最も近い祖先からの矢印が表示される(親にディスプレイがない場合、祖父母からのリンクがあるなど)。ルート進捗は左端の列に表示され、各矢印は次の列の進捗を指す。列内の進捗の配置はファイル名に基づく。

ディスプレイの欠如[編集 | ソースを編集]

バニラのレシピのロック解除の進捗など一部の進捗は多くの機能と柔軟な制御のため過剰なコマンド関数はなくし、トリガーと報酬を利用できるようにディスプレイがない場合がある。これらの進捗にはユーザーから隠してより良い読込パフォーマンスで楽しむため、Nbtsheet.png displayフィールドは定義されていないはずである。

トリガーの一覧[編集 | ソースを編集]

注意:1.12時点では、クラフトしたタイミングでトリガーされるトリガーは存在しない。

minecraft:bee_nest_destroyed[編集 | ソースを編集]

プレイヤーがハチの巣または巣箱を壊すとトリガーする。利用可能な条件:

  • Nbtsheet.png conditions:
    • Nbtsheet.png block: 破壊されたブロックのブロックID。
    • Nbtsheet.png item: ブロックの破壊に使用されたアイテム。
    • Nbtsheet.png num_bees_inside: 壊される前に巣・巣箱に入っていたハチの数

minecraft:bred_animals[編集 | ソースを編集]

プレイヤーが2匹の動物を飼育するとトリガーする。利用可能な条件:

minecraft:brewed_potion[編集 | ソースを編集]

プレイヤーがアイテムを醸造台から取り出した後にトリガーする。利用可能な条件:

minecraft:changed_dimension[編集 | ソースを編集]

プレイヤーが2つのディメンションの間を移動するとトリガーする。利用可能な条件:

  • Nbtsheet.png conditions:
    • Nbtsheet.png from: エンティティが存在したディメンション。これらの3個の値が許容値である。
    • Nbtsheet.png to: エンティティが移動したディメンション。許容値は上記と同じ。

minecraft:channeled_lightning[編集 | ソースを編集]

プレイヤーがエンティティに召雷のエンチャントを使用した後にトリガーする。 利用可能な条件:

minecraft:construct_beacon[編集 | ソースを編集]

プレイヤーがビーコンの構造を変更する(ビーコン自体が更新されたとき)とトリガーする。利用可能な条件:

  • Nbtsheet.png conditions:
    • Nbtsheet.png level: 更新されたビーコンの構造の段階。
    • Nbtsheet.png level:
      • Nbtsheet.png max: 最大値
      • Nbtsheet.png min: 最小値

minecraft:consume_item[編集 | ソースを編集]

プレイヤーがアイテムを消費するとトリガーする。利用可能な条件:

minecraft:cured_zombie_villager[編集 | ソースを編集]

プレイヤーが村人ゾンビを治療するとトリガーする。利用可能な条件:

minecraft:effects_changed[編集 | ソースを編集]

プレイヤーが、ステータス効果を得るもしくは与えられるとトリガーする。利用可能な条件:

  • Nbtsheet.png conditions:
    • Nbtsheet.png effects: プレイヤーが受けたステータス効果のリスト。
      • Nbtsheet.png <minecraft:effect_name>: キー名がステータス効果名であるステータス効果
        • Nbtsheet.png amplifier: 効果の強さ。
        • Nbtsheet.png amplifier:
          • Nbtsheet.png max: 最大値
          • Nbtsheet.png min: 最小値
        • Nbtsheet.png duration: 効果の持続時間をティックで表す。
        • Nbtsheet.png duration:
          • Nbtsheet.png max: 最大値
          • Nbtsheet.png min: 最小値

minecraft:enchanted_item[編集 | ソースを編集]

プレイヤーがエンチャントテーブルを使用してアイテムをエンチャントする(金床を使用して、またはコマンドによってはトリガーされない)とトリガーする。利用可能な条件:

  • Nbtsheet.png conditions:
    • Nbtsheet.png item: エンチャントされた後のアイテム。
    • Nbtsheet.png levels: プレイヤーによってエンチャントに使用されたレベル。
    • Nbtsheet.png levels:
      • Nbtsheet.png max: 最大値
      • Nbtsheet.png min: 最小値

minecraft:enter_block[編集 | ソースを編集]

プレイヤーがブロック内で立ったときにトリガーする。すべてのティックをチェックし、それぞれの成功した一致に対してトリガーしようする(最大8回、プレイヤーが耐えることができる最大ブロック数)。これは、機能の報酬を使用して進捗が進捗内から取り消された場合にのみ機能する。利用可能な条件:

  • Nbtsheet.png conditions:
    • Nbtsheet.png block: プレイヤーが立っているブロック。ブロックIDを許容する。
    • Nbtsheet.png state: ブロックのブロック情報。
      • Nbtsheet.png <state_name>: 単一のブロック情報。キー名は情報名であり、値はその情報の必須値である。

minecraft:entity_hurt_player[編集 | ソースを編集]

プレイヤーがエンティティに攻撃されるとトリガーする。利用可能な条件:

minecraft:entity_killed_player[編集 | ソースを編集]

エンティティがプレイヤーを殺すとトリガーする。利用可能な条件:

minecraft:filled_bucket[編集 | ソースを編集]

プレイヤーがバケツを満たすとトリガーする。利用可能な条件:

minecraft:fishing_rod_hooked[編集 | ソースを編集]

プレイヤーが釣り竿でアイテムやエンティティを引っ張った際にトリガーする。利用可能な条件:

minecraft:hero_of_the_village[編集 | ソースを編集]

プレイヤーが襲撃を完了した際にトリガーされ、プレイヤーのいる場所も確認される。利用可能な条件:

minecraft:impossible[編集 | ソースを編集]

コマンドを使用してのみトリガーする。

minecraft:inventory_changed[編集 | ソースを編集]

プレイヤーのインベントリが変更されるとトリガーする。利用可能な条件:

  • Nbtsheet.png conditions:
    • Nbtsheet.png items: プレイヤーのインベントリ内のアイテムのリスト。リスト内のすべてのアイテムは、プレーヤーのインベントリにある必要があるが、プレーヤーのインベントリ内のすべてのアイテムがこのリストにある必要はない。
    • Nbtsheet.png slots:
      • Nbtsheet.png empty: インベントリ内の空いたスロットの数。
      • Nbtsheet.png empty:
        • Nbtsheet.png max: 最大値
        • Nbtsheet.png min: 最小値
      • Nbtsheet.png full: インベントリ内の埋められた(スタックサイズ)スロットの数。
      • Nbtsheet.png full:
        • Nbtsheet.png max: 最大値
        • Nbtsheet.png min: 最小値
      • Nbtsheet.png occupied: インベントリ内の埋められたスロットの数。
      • Nbtsheet.png occupied:
        • Nbtsheet.png max: 最大値
        • Nbtsheet.png min: 最小値

minecraft:item_durability_changed[編集 | ソースを編集]

どんな形であれアイテムが損傷するとトリガーする。利用可能な条件:

  • Nbtsheet.png conditions:
    • Nbtsheet.png delta: 耐久度の違い。
    • Nbtsheet.png delta:
      • Nbtsheet.png max: 最大値
      • Nbtsheet.png min: 最小値
    • Nbtsheet.png durability: アイテムの残りの耐久度。
    • Nbtsheet.png durability:
      • Nbtsheet.png max: 最大値
      • Nbtsheet.png min: 最小値
    • Nbtsheet.png item: 破損する前のアイテムに対して、破損する前に耐久度をチェックできる。

minecraft:killed_by_crossbow[編集 | ソースを編集]

プレイヤーがMob又はプレイヤーを攻撃するとトリガーする。利用可能な条件:

  • Nbtsheet.png conditions:
    • Nbtsheet.png unique_entity_types: 殺されたエンティティの種類の正確な数。
    • Nbtsheet.png unique_entity_types: 殺されたエンティティの種類の個数の許容範囲。
      • Nbtsheet.png max: 最大値。
      • Nbtsheet.png min: 最小値。
    • Nbtsheet.png victims: 殺されたエンティティのいずれかのpredicate。
    • Nbtsheet.png victims: 殺されたエンティティのpredicateのリスト。全てのpredicateが一致する必要があり、殺されたエンティティ1個は1つのpredicateのみと一致する場合がある。

minecraft:levitation[編集 | ソースを編集]

プレイヤーが浮遊のステータス効果を受けるとトリガーする。利用可能な条件:

  • Nbtsheet.png conditions:
    • Nbtsheet.png distance:
      • Nbtsheet.png absolute:
        • Nbtsheet.png max: 最大値
        • Nbtsheet.png min: 最小値
      • Nbtsheet.png horizontal:
        • Nbtsheet.png max: 最大値
        • Nbtsheet.png min: 最小値
      • Nbtsheet.png x:
        • Nbtsheet.png max: 最大値
        • Nbtsheet.png min: 最小値
      • Nbtsheet.png y:
        • Nbtsheet.png max: 最大値
        • Nbtsheet.png min: 最小値
      • Nbtsheet.png z:
        • Nbtsheet.png max: 最大値
        • Nbtsheet.png min: 最小値
    • Nbtsheet.png duration:
    • Nbtsheet.png duration:
      • Nbtsheet.png max: 最大値
      • Nbtsheet.png min: 最小値

minecraft:location[編集 | ソースを編集]

プレーヤーがどこにいるかを20ティック(1秒)ごとにチェックするとトリガーする。利用可能な条件:

minecraft:nether_travel[編集 | ソースを編集]

プレイヤーがネザーに移動し、オーバーワールドに戻るとトリガーする。利用可能な条件:

  • Nbtsheet.png conditions:
    • Nbtsheet.png distance: プレイヤーがネザーに入った場所とプレイした場所、ネザーから出た場所のオーバーワールドでの距離。
      • Nbtsheet.png absolute:
        • Nbtsheet.png max: 最大値
        • Nbtsheet.png min: 最小値
      • Nbtsheet.png horizontal:
        • Nbtsheet.png max: 最大値
        • Nbtsheet.png min: 最小値
      • Nbtsheet.png x:
        • Nbtsheet.png max: 最大値
        • Nbtsheet.png min: 最小値
      • Nbtsheet.png y:
        • Nbtsheet.png max: 最大値
        • Nbtsheet.png min: 最小値
      • Nbtsheet.png z:
        • Nbtsheet.png max: 最大値
        • Nbtsheet.png min: 最小値

minecraft:placed_block[編集 | ソースを編集]

プレイヤーがブロックを設置したときにトリガーする。利用可能な条件:

  • Nbtsheet.png conditions:
    • Nbtsheet.png block: プレイヤーが立っているブロック。ブロックIDを許容する。
    • Nbtsheet.png item: アイテムが消費される前にブロックを設置するために使用されたアイテム。
    • Nbtsheet.png location: 設置されたブロックの位置。
    • Nbtsheet.png state: ブロックのブロック情報。
      • Nbtsheet.png <state_name>: 単一のブロック情報。キー名は情報名であり、値はその情報の必須値である。

minecraft:player_hurt_entity[編集 | ソースを編集]

プレイヤーがエンティティ(プレイヤー自体も含む)にダメージを与えるとトリガーする。利用可能な条件:

minecraft:player_killed_entity[編集 | ソースを編集]

プレイヤーが、Mob またはプレイヤーが死亡する原因となった後にトリガーされる。利用可能な条件:

minecraft:recipe_unlocked[編集 | ソースを編集]

プレイヤーがレシピのロックを解除する(例:知恵の本を使用する)。利用可能な条件:

  • Nbtsheet.png conditions:
    • Nbtsheet.png recipe: 解除されたレシピ。

minecraft:safely_harvest_honey[編集 | ソースを編集]

プレイヤーが焚き火をたいた状態で蜂の巣・巣箱からハチミツを収穫するとトリガーする。利用可能な条件:

  • Nbtsheet.png conditions:
    • Nbtsheet.png block: プレイヤーがハチミツを収穫したブロック。
      • Nbtsheet.png block: ブロックID。
      • Nbtsheet.png tag: ブロックタグ。
    • Nbtsheet.png item: プレイヤーがハチミツの収穫に使用したアイテム。

minecraft:shot_crossbow[編集 | ソースを編集]

プレイヤーがブロックを設置するとトリガーする。利用可能な条件:

minecraft:slept_in_bed[編集 | ソースを編集]

プレイヤーがベッドに入るとトリガーする。利用可能な条件:

minecraft:slide_down_block[編集 | ソースを編集]

プレイヤーがブロックを滑り落ちるとトリガーする。利用可能な条件:

  • Nbtsheet.png conditions:
    • Nbtsheet.png block: プレイヤーが滑り落ちたブロック。

minecraft:summoned_entity[編集 | ソースを編集]

エンティティが召喚されたときにトリガーする。アイアンゴーレム(カボチャと鉄ブロック)、スノウゴーレム(カボチャと雪ブロック)、エンダードラゴン(エンドクリスタル)、ウィザー(頭蓋骨とソウルサンド)で動作する。ディスペンサーを使ってウィザースケルトンの頭蓋骨やカボチャを設置しても、引き続きこのトリガーは動作する。しかし、スポーンエッグコマンドモンスタースポナーでは動作しない。利用可能な条件:

minecraft:tame_animal[編集 | ソースを編集]

プレイヤーが動物を飼育するとトリガーする。利用可能な条件:

minecraft:target_hit‌[JE 1.16で開発中][編集 | ソースを編集]

プレイヤーがTargetブロックを撃つとトリガーする。利用可能な条件:

  • Nbtsheet.png conditions:
    • Nbtsheet.png signalStrength: Targetブロックから出力されたレッドストーン信号。

minecraft:tick[編集 | ソースを編集]

全てのティックをトリガーする(毎秒20回)。

minecraft:used_ender_eye[編集 | ソースを編集]

プレイヤーがエンダーアイを使用する(ワールドに要塞が生成される)とトリガーする。利用可能な条件:

  • Nbtsheet.png conditions:
    • Nbtsheet.png distance: プレイヤーと要塞の間の水平距離。
    • Nbtsheet.png distance:
      • Nbtsheet.png max: 最大値
      • Nbtsheet.png min: 最小値

minecraft:used_totem[編集 | ソースを編集]

プレイヤーが不死のトーテムを使用するとトリガーする。利用可能な条件:

minecraft:villager_trade[編集 | ソースを編集]

プレイヤーが村人と取引するとトリガーする。利用可能な条件:

minecraft:voluntary_exile[編集 | ソースを編集]

プレイヤーが襲撃を発生させるとトリガーし、プレイヤーのいる場所を確認する。利用可能な条件:

削除されたトリガー[編集 | ソースを編集]

minecraft:arbitrary_player_tick[編集 | ソースを編集]

1人のプレイヤーのすべてのティックでトリガーする。

1.12-pre1で削除。

minecraft:player_damaged[編集 | ソースを編集]

プレイヤーがダメージを受け取るとトリガーする。利用可能な条件:

  • Nbtsheet.png conditions:
    • Nbtsheet.png blocked: ダメージがブロックされたかどうか。
    • Nbtsheet.png is_projectile: ダメージが矢などの発射体によるものかどうか。

このトリガーは今日は止めておきますの進捗の為だけに造られたため2つの条件があった。17w14aで削除。