進捗



進捗(Advancements)

進捗 とは、ver1.12でこれまでの実績を発展解消する形で追加されたシステムである。
基本的には、プレイヤーの特定の動作(たとえば作業台を作った)を検知し、それに対応する動作(たとえば経験値を与える)を行う。
このシステムの最も画期的な点は、プレイヤーがオリジナルの進捗を作れる、ということである。
進捗はJSONで記述されているため、自由度もきわめて高い。
本ページでは、JSONの記法についても解説する。


進捗の基本情報

進捗画面はメニューから確認できるほか、Lキーでも開くことができる。
進捗には 通常目標挑戦 の3種類があり、解除されたときのメッセージが異なる。
進捗はタブとツリーに整理される。
ツリーにおいては進捗はある1つから始まり、順に並んでいるが、実績とは違い直前の進捗が解除されていなくても解除することができる。
進捗は特定の動作によって解除されるほか、コマンド/advavcementによっても解除が可能である。

デフォルトの進捗

はじめから用意されている進捗は、従来の実績の延長である。
マインクラフト、冒険、ネザー、ジ・エンド、農業の5つのタブが存在する。
日本語名は、公式(ゲーム内)のものではなく、実態に応じて変更しているところがある。

タブ「マインクラフト」の進捗一覧

+ ...

タブ「ネザー」の進捗一覧

+ ...

タブ「エンド」の進捗一覧

+ ...

タブ「冒険」の進捗一覧

+ ...

タブ「農業」の進捗一覧

+ ...

JSONの記述

進捗を記述するJSONファイルは、各ワールドのセーブデータ中の dataフォルダ内にあるadvancementsフォルダ に保存されている。
( セーブデータのフォルダ直下のadvancementsフォルダではない。 こちらは達成状況を保存するフォルダである。)
このフォルダ内においては、1つのJSONファイルが1つの進捗の内容を指定する。
各進捗に対し、その直前の進捗を指定することができる(後述)。直前の進捗を指定していない進捗が「タブ」として扱われるようになっているので、
タブの1個目の進捗はタブと同名称、同アイコンとなる。
ここからは、JSONの書き方を説明する。
(必須)と書いていない項目は任意。

┏ display:表示に関するデータを指定する。
┃┣ icon:アイコンを指定(必須)
┃┃┣ item:アイコンとするアイテムのIDを書く
┃┃┗ data:そのアイテムのデータ値(ある場合のみ)
┃┣ title:進捗の名前(必須)。文章系コマンドと同じく色や書体の指定が可能(他の文章記述部分も同様)
┃┣ frame:進捗の種類を指定。challenge(挑戦)、goal(目標)、task(通常)の三種類のいずれか。デフォルトはtask
┃┣ background:タブ背景を指定。起点となる進捗のみ。
┃┣ description:説明文(必須)
┃┣ show_toast:達成時に右上にメッセージを出すかどうか。trueかfalse。デフォルトは true
┃┣ announce_to_chat:チャット欄にメッセージを出すかどうか。trueかfalse。デフォルトは true
┃┗ hidden:一つ達成されるまでタブを表示しないかどうか。trueかfalse。デフォルトは false
┣ parent:直前の進捗を指定。JSONファイルのパスを書く。 
┣ criteria:達成条件(必須)
┃ ┗<criteriaName>:基準に名前を設定する。重複禁止
┃   ┣ trigger:進捗達成の条件となるトリガーを指定。トリガーの一覧は以下で解説
┃   ┗ conditions:トリガーへのより細かい条件指定。以下で解説
┣ requirements:トリガーの組み合わせを指定する。[]内にトリガーの名前をカンマ区切りで並べると「または」、
┃         []どうしをカンマでつなぐと「かつ」を意味する。
┃         例:["1", "2"]は「1または2」
┃           ["1"],["2","3"]は「1かつ2」または「1かつ3」を意味する。
┃         カンマ区切りを||,カンマでつなぐのを&&ととらえるとよい。
┃         デフォルトは全てに対し「かつ」
┗ rewards:達成時の報酬を指定。
  ┣ recipes:レシピのアンロック。
  ┣ loot:ルートテーブルのアイテムを与える。ルートテーブルのパスを指定。
  ┣ experience:経験値を与える。
  ┗ function:関数の実行。関数のパスを指定。

テンプレート

テンプレートを置いておく。1から書くのが面倒なときにコピペして使ってほしい。

{
    "display": {
        "icon": {
            "item": "アイテムのデータ名を入力",
            "data": ある場合のみ
        },
        "title": "ここに名前を入力",
        "frame": "challenge/goal/task",
        "description": "ここに説明文を入力",
        "background": "背景画像のパスを入力(起点の進捗のみ)",
        "show_toast":true/false
        "announce_to_chat":true/false
        "hidden":true/false
    },
  "parent": "直前の進捗のパスを入力"
  "criteria": {
        "トリガーの名前": {
            "trigger": "トリガーの種類",
             "conditions": {
               (ここにconditionを入力)
            }
        },
  "requirements": [
        (ここに条件式を入力)
    ]       
    "rewards": {
        (ここに報酬を入力)
    }
 }
 

トリガーとコンディション

進捗取得の条件となるのが トリガー であり、それぞれ コンディション と呼ばれるさらに細かい条件をつけることができる。
以下の表中のコンディションの項目のうち、(エンティティ共通)のタグはこちらを参照
                          (アイテム共通)のタグはこちらを参照

トリガー 用途 コンディション
minecraft:bred_animals 繁殖を検知する child:子供の条件
┗エンティティ共通
parent:一方の親の条件
┗エンティティ共通
partner:もう一方の親の条件
┗エンティティ共通
minecraft:brewed_potion ポーションの醸造を検知する potion:ポーションのID
minecraft:changed_dimension ディメンション間移動を検知する from:移動前のディメンションを指定。overworld,the_nether,the_endのいずれか
to:移動後のディメンションを指定。overworld,the_nether,the_endのいずれか
minecraft:construct_beacon ビーコンのピラミッド段数の変更を検知 level:ピラミッドの段数を指定。 直接指定するか、maxとminで範囲を指定する
minecraft:consume_item アイテムの消費を検知 item:消費されたアイテムの条件
┗アイテム共通
minecraft:cured_zombie_villager 村人ゾンビの治療を検知 villager:治療後の村人の条件
┗エンティティ共通
zombie:治療前のゾンビの条件
┗エンティティ共通
minecraft:effects_changed プレイヤーのエフェクトの更新を検知 □effects:エフェクト効果の条件
□┗<minecraft:effect_name>:エフェクトのID。こちらを参照
□  ┣amplifier:効果のレベルを指定。直接指定するか、maxとminで範囲を指定する
□  ┗duration:持続時間を指定。単位はゲームティック(1/20s)。直接指定するか、maxとminで範囲を指定する
minecraft:enchanted_item エンチャントテーブルによるエンチャントを検知 item:エンチャントされたアイテムの条件
┗アイテム共通
level:エンチャントに使用されたレベル。直接指定するか、maxとminで範囲を指定する
minecraft:enter_block プレイヤーを含むブロックの状態を検知 block:プレイヤーのいるブロックのIDを指定。state:ブロックのデータ値を指定
minecraft:entity_hurt_player プレイヤーがエンティティによってダメージを受けたことを検知 damage:ダメージへの条件
minecraft:entity_killed_player プレイヤーがエンティティに倒されたことを検知 entity:プレイヤーを倒したエンティティの条件
┗エンティティ共通
killing_blow:ダメージの種類の条件
┗ダメージ共通
minecraft:impossible コマンドによってのみ解除が可能となる なし
minecraft:inventory_changed インベントリの更新を検知 items:検知するアイテムを指定
┗アイテム共通
slots:インベントリ内のスロットの状態に関する条件
┣empty:インベントリ内の空きスロットの数
┣full:アイテムがフルスタックまでおかれているスロットの数
┗occupied:アイテムが置かれているスロットの数
いずれも、直接指定するか、maxとminで範囲を指定する
minecraft:item_durability_changed アイテムの耐久値を検知 delta:耐久値の減少量の条件。直接指定するか、maxとminで範囲を指定する
durability:現象後の耐久値の条件。直接指定するか、maxとminで範囲を指定する
item:使用される前のアイテムの条件(使用前の耐久値の指定もここでできる)
┗アイテム共通
minecraft:levitation 浮遊のステータス効果を受けたことを検知する distance:移動距離に関する条件
┣absolute:プレイヤーが移動した直線距離
┣horizontal:プレイヤーが移動した水平距離
┣x:プレイヤーがx軸方向に移動した距離
┣y:プレイヤーがy軸方向に移動した距離
┗z:プレイヤーがz軸方向に移動した距離。これら5項目は必ずmaxとminで範囲を指定する
duration:効果を受けていた時間を指定。単位はゲームティック(1/20s)。直接指定するか、maxとminで範囲を指定する
minecraft:location プレイヤーの位置を検知する 位置共通
minecraft:nether_travel プレイヤーのネザーへの移動を検知 distance:プレイヤーがネザーに入った地点と出た地点の通常世界における距離の条件
┣absolute:プレイヤーが移動した直線距離
┣horizontal:プレイヤーが移動した水平距離
┣x:プレイヤーがx軸方向に移動した距離
┣y:プレイヤーがy軸方向に移動した距離
┗z:プレイヤーがz軸方向に移動した距離。以上の項目は必ずmaxとminで範囲を指定する
minecraft:placed_block プレイヤーによるブロックの設置を検知 block:置かれたブロックの条件。IDで指定。こちらを参照
item:置かれる前のアイテム
┗アイテム共通
location:ブロックが置かれた場所の条件
┗位置共通
state:ブロックの状態
minecraft:player_hurt_entity プレイヤーのエンティティへの攻撃を検知 damage:ダメージへの条件
minecraft:player_killed_entity プレイヤーがエンティティを倒したことを検知 entity:プレイヤーが倒したエンティティの条件
┗エンティティ共通
killing_blow:ダメージの種類の条件
┗ダメージ共通
minecraft:recipe_unlocked レシピの解除を検知 recipe:解除されたレシピ名
minecraft:slept_in_bed ベッドの使用を検知 位置共通
minecraft:summoned_entity アイアンゴーレム、スノーゴーレム、ウィザーの召喚、
エンダードラゴンの再生を検知
entity:エンティティの条件
┗エンティティ共通
minecraft:tame_animal 動物を懐かせたことを検知 entity:懐かせたエンティティの条件
┗エンティティ共通
minecraft:tick 毎ティックごとに反応 なし
minecraft:used_ender_eye エンダーアイの投擲を検知 distance:プレイヤーと要塞との距離。直接指定するか、maxとminで範囲を指定する
minecraft:used_totem 不死のトーテムの使用を検知 item:使用されたトーテムの条件
┗アイテム共通
minecraft:villager_trade 村人との取引を検知 item:取引されたアイテム
┗アイテム共通
villager:取引した村人の条件
┗エンティティ共通


編集用コメント

コメント欄の方針に関してはコメント欄方針を参照して下さい。
wikiの編集が苦手な方は、以下のコメントフォームへ書き込んで頂ければ有志でページに取り込みます。
※コメントを投稿する際は、以下の点を確認して下さい※
  • 編集に関わらない内容のコメント・質問・雑談 は一律して削除されます。
    Wiki運営に関してはWiki運営掲示板、質問は質問掲示板、雑談等は非公式フォーラムにてお願いします。
  • 投稿の前に、一度コメントログや、バージョンアップ直後はパッチノートにも目を通し、 既に同じ内容が載っていないか確認して下さい。
  • 投稿されているコメントへの返信の際は、 返信したいコメント横の○にチェックを入れて 返信して下さい。
    表示できる親コメントの数は限られます。新規投稿をむやみに行うことは、他のコメントが流れてしまう要因になります。
  • 作成しました。 - しらかば 2017-07-20 14:08:44
    • おつです。表のヘッダー指定と色指定やってもいいならやりますけど、まだ編集中ですか? - 名無しさん 2017-07-20 18:02:24
      • ぜひよろしくお願いします。残りの項目の追記もやっていただいてかまいません。 - しらかば 2017-07-20 19:10:25
  • ぜひお願いします。 - 名無しさん 2017-07-20 19:06:14
    • 誤爆しました。すいません - 名無しさん 2017-07-20 19:10:45
  • 進捗の名前がいろいろ違います - 名無しさん 2017-08-06 16:35:57
    • 「日本語名は、公式(ゲーム内)のものではなく、実態に応じて変更しているところがある。」と注釈してありますが? - しらかば (2017-08-21 17:49:57)
      • と思いましたが、いろいろと考えた結果ゲームの訳を尊重することにしました。 - しらかば 2017-09-01 12:19:44
  • jsonのところをWiki文法からエスケープさせるように修正しました - 名無しさん 2017-09-04 16:50:25
    • 初版作成者です。ありがとうございます。やり方がわからなかったもので - しらかば 2017-09-05 11:56:22
名前:

|新しいページ|検索|ページ一覧|RSS|@ウィキご利用ガイド | 管理者にお問合せ
|ログイン|
Wikiのガイドライン
必ずお読みください!

基本事項



プラットフォーム


アイテムデータ



生物



ゲームデータ



ワールド



Tips



ADVANCE



マルチプレイ



リンク




Wiki運営



その他



カウンタ


合計
-

トップページ
今日 : -
昨日 : -

更新履歴


取得中です。
※「ログ」「アーカイブ」「コメント」のページはここの履歴に表示されませんので、「更新履歴」および「コメント」から参照してください

人気ページ