更新日:
レシピをすべて解放する
/recipe give @s *
* は「すべてのレシピ」という意味です。実行するとレシピ本にすべてのレシピが表示され、材料をそろえればすぐに作れるようになります。全員に解放するときは @s を @a にします。
レシピを1つだけ解放する・取り消す
| やりたいこと | 書き方 |
|---|---|
| 作業台のレシピだけ解放 | /recipe give @s minecraft:crafting_table |
| すべてのレシピを取り消す | /recipe take @s * |
| 1つだけ取り消す | /recipe take @s minecraft:crafting_table |
レシピの名前は、基本的に作られるアイテムのIDと同じです。ただし、染料のように作り方が何通りもあるものは、minecraft:red_dye_from_poppy のように別の名前が付いています。入力中に出る候補から選ぶと確実です。
進捗をすべて達成する・取り消す
/advancement grant @s everything
/advancement revoke @s everything
1行目ですべての進捗を達成済みに、2行目ですべて未達成に戻します。everything を使うと、達成の通知がチャットにたくさん流れます。
進捗を1つだけ達成する
| 書き方 | 意味 |
|---|---|
/advancement grant @s only minecraft:story/mine_stone | 「石器時代」だけを達成 |
/advancement grant @s until minecraft:story/enter_the_nether | ネザーに入るまでの進捗をまとめて達成 |
/advancement grant @s from minecraft:story/root | 指定した進捗とその先をまとめて達成 |
/advancement grant @s through minecraft:story/mine_stone | 前後につながる進捗をまとめて達成 |
進捗の名前は、minecraft:story/…(基本)、minecraft:nether/…(ネザー)、minecraft:end/…(エンド)、minecraft:adventure/…(冒険)、minecraft:husbandry/…(農業)のように分かれています。
進捗を達成しているかで判定する(Java版)
/execute as @a[advancements={minecraft:story/enter_the_nether=true}] run say ネザーに行ったことがある
セレクターの advancements で、進捗を達成した人だけを選べます。=false にすると、まだ達成していない人を選びます。「ネザーに行った人だけ扉を通れる」のようなマップの仕掛けに使えます。
イベントの前に全員の進みをリセットする
/advancement revoke @a everything
/recipe take @a *
イベントの開始時に2つとも実行すると、全員が進捗もレシピ本も空の状態から始められます。取り消しても、すでに手に入れたアイテムや経験値はなくなりません。
チャットに達成メッセージを出さない
進捗をまとめて達成させると、チャットがメッセージで埋まります。先に通知を止めておきます。
| 版 | コマンド |
|---|---|
| Java版1.21.11以降 | /gamerule minecraft:show_advancement_messages false |
| Java版1.21.10以前 | /gamerule announceAdvancements false |
画面右上の通知は、本人にはそのまま表示されます。
統合版との違い
統合版には /advancement がありません。統合版の「実績」は別の仕組みで、チートを有効にしたワールドでは実績が解除されなくなります。/recipe は統合版でも新しい版では使える場合がありますが、Java版と書き方が違うことがあるので、入力中の候補で確認してください。
うまくいかないときの確認ポイント
- レシピ本に出ない:レシピ本の「作れるものだけ表示」がオンになっていると、材料がないレシピは隠れます。
- 「不明なレシピ」と出る:レシピの名前がアイテムIDと違う場合があります。候補から選びます。
- 進捗が取り消されない:
revokeとgrantを逆に書いていないか確認します。 - サーバーで使えない:権限レベル2以上(OP)が必要です。
よくある質問
レシピを解放しなくても作れますか?
作れます。レシピの解放はレシピ本に表示するためのもので、材料を正しく並べれば解放していなくても作れます。
データパックのレシピも解放されますか?
/recipe give @s * は、読み込まれているデータパックのレシピも含めて解放します。
進捗の報酬をもう一度もらえますか?
revoke で取り消してから、もう一度達成すると、データパックで設定された報酬などがもう一度実行されます。