「advancement」コマンドの使い方を解説します。
プレイヤーの進歩を付与したり、取り消すことができるコマンドなのですが、詳しい引数の指定まで知っている人は少ないのではないでしょうか?
そこでこの記事では、「/advancement」コマンドの使い方を徹底的に解説します。
/advancementの使い方
/advancement (grant|revoke) <プレイヤー名> everything /advancement (grant|revoke) <プレイヤー名> (only|from|through|until) <進捗>
advancementは、プレイヤーの進歩に関するコマンドです。
第一引数で指定する「grant」が進歩を付与する。「revoke」が進歩を取り消す引数になります。最初に書くコマンドによって効果が真逆になるので覚えておきましょう。
第二引数はターゲットセレクターなので、プレイヤー名でも@aや@pの様な指定方法でも大丈夫です。コマンドの範囲を指定してください。
その次の第三引数が厄介なので、細かく解説したいと思います。
evertyhing
/advancement (grant|revoke) <プレイヤー名> everything /advancement grant steve everything #steveの進歩を全て付与(達成)する。 /advancement revoke @a everything #みんなの進歩を全て取り消す。
evertyhingは「なんでも」「すべて」という意味の英語です。
なので第三引数にevertyhingを指定すると、すべての進歩を対象にします。
例えば、第二引数にgrantを指定した場合は、すべての進歩を付与するし、revokeを指定していた場合は、すべての進歩を取り消します。どっちかです。
全てを付与するか取り消すかなので分かりやすい引数ですね。
from
/advancement grant steve from minecraft:adventure/shoot_arrow #スティーブの「狙いを定めて」以降の進歩を全て付与する。
fromは、指定された進歩以降の進歩を対象にする引数です。
例えば、進歩「狙いを定めて」を指定した場合、それ以降にある「スナイパー対決」と「的中」が対象になります。その前にある「モンスターハンター」は対象外です。
指定した進歩以降を、すべての進歩を対象にする感じです。
until
/advancement grant steve until minecraft:adventure/shoot_arrow #スティーブの「狙いを定めて」までの進歩をすべて付与する。
untilは、指定された進歩までの進歩を対象にする引数です。
fromの真逆の効果と考えればいいでしょう。進歩「狙いを定めて」の場合、その次の進歩が対象なのががfromですが、untilはその前の進歩が対象です。
指定した進歩の前が対象ですね。
through
/advancement grant steve through minecraft:adventure/shoot_arrow #スティーブの「狙いを定めて」に付随する進歩すべてを付与する。
throughは、指定された進歩に付随するすべてを対象にする引数です。
「from」と「until」が合わさった範囲と考えればいいでしょう。指定した進歩の前も後ろも全てを対象とします。イメージとしては、串刺しをイメージすると良いかもしれません。
前も後ろも対象になるので、それなりの数の進歩が対象になります。
only
/advancement grant steve only minecraft:adventure/shoot_arrow #スティーブの「狙いを定めて」だけを付与する。
onlyは、指定された進歩だけを対象にする引数です。
とてもシンプルな引数になっていて、指定した進歩だけが対象になります。上の例の場合「狙いを定めて」だけが付与される感じです。
特定の進歩を対象にしたい場合に使うといいでしょう。
まとめ
advancementの引数はたくさんあるので大変ですが、画像のようにまとめてみると意外と簡単なので、頑張って覚えましょう。難しいのは最初だけです。
感想を書いてね