マイクラの/advancementコマンドのくわしい使い方をまとめています。
/advancementコマンドの効果
/advancementは、進捗を操作するコマンドです。コマンドを実行すると、まだ達成条件となる行動をしていない進捗を達成させたり、すでに達成した進捗を削除したりすることができます(達成前の状態に戻せる)。
/advancementコマンドは、進捗システムのあるJava版のみで使うことができます(スイッチなどの統合版マイクラには、進捗のかわりに「実績」があります)。進捗はEscキーをおすと表示される進捗ボタンから確認できます。
/advancementコマンドの構文
advancementコマンドは、「/advancemnet」に続けて「grant」を入力すると進捗を達成、「revoke」を入力すると進捗を削除できます。
<targets>では、ユーザー名やターゲットセレクターで進捗を操作するプレイヤーを指定します。「@s」ならコマンド実行者の、「@p」なら近くにいるプレイヤーの進捗が操作されます(UUIDでの指定も可能)。
「only」「from」「until」「through」「everything」のいずれかで、操作する進捗の範囲を指定することができます。
/advancement (grant|revoke) <targets> everything
<targets>のあとに「everything」を入力すると、全進捗を一括で操作することができます。
/advancement (grant|revoke) <targets> only <advancement> [<criterion>]
<targets>のあとで「only」を指定し、つづけて進捗のIDを入力すると、入力したIDの進捗だけが達成されます。
/advancement (grant|revoke) <targets> from <advancement>
<targets>のあとで「from」を指定し、つづけて進捗のIDを入力すると、指定した進捗のあとに続く進捗をすべて達成することができます。
/advancement (grant|revoke) <targets> through <advancement>
<targets>のあとで「through」を指定し、つづけて進捗のIDを入力すると、指定した進捗を含むラインの進捗がすべて達成されます。
/advancement (grant|revoke) <targets> until <advancement>
<targets>のあとで「until」を指定し、つづけて進捗のIDを入力すると、指定した進捗までの進捗をすべて達成することができます。
以下で、実際の入力例を紹介します。
/advancementコマンドの入力例
コマンド実行者の全進捗を達成・削除する
/advancement grant @s everything
上記のコマンドを実行すると、コマンド実行者のすべての進捗が達成されます。
/advancement revoke @a everything
上記のコマンドを実行すると、全プレイヤーのすべての進捗が削除されます。
「装備せよ」だけを達成させる
/advancement grant @s only minecraft:story/obtain_armor
上記のコマンドを実行すると、コマンド実行者の「装備せよ」の進捗が達成されます。前提となる進捗が未達成でも達成させることができます。
「どうやってここまで?」や「冒険の時間」など達成条件が複数ある進捗は、進捗IDのあとに条件を追記すると、その条件だけを達成状態にすることができます。
/advancement grant @s only minecraft:adventure/kill_all_mobs minecraft:creeper
上記のコマンドを実行すると、進捗「モンスター狩りの達人」の「クリーパーの条件」だけが達成されます(モンスター狩りの達人は未達成のまま)。
「ホットスタッフ」以降をすべて達成させる
/advancement grant @s from minecraft:adventure/kill_all_mobs minecraft:creeper
上記のコマンドを実行すると、コマンド実行者のホットスタッフからつながる進捗がすべて達成されます。
「ホットスタッフ」までをすべて達成させる
/advancement grant @s until minecraft:adventure/kill_all_mobs minecraft:creeper
上記のコマンドを実行すると、コマンド実行者のホットスタッフまでの進捗がすべて達成されます。
「ホットスタッフ」の前後をすべて達成させる
/advancement grant @s until minecraft:adventure/kill_all_mobs minecraft:creeper
上記のコマンドを実行すると、コマンド実行者のホットスタッフの前後の進捗が達成されます。
以上、/advancementコマンドの詳しい使い方の紹介でした。以下の記事では各進捗の達成条件などを解説しているので、合わせて読んでみてください。