MC CommanderMinecraft非公式コマンド支援

レシピと進捗をコマンドで全部解放する方法

/recipe を使うと、レシピ本に載るレシピをまとめて解放できます。/advancement を使うと、進捗(アドバンスメント)を達成済みにしたり、取り消したりできます。建築用のワールドや、配布マップのテストに便利です。

recipeadvancementJava版

コマンド辞典でrecipeを見る

更新日:

レシピをすべて解放する

/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版と書き方が違うことがあるので、入力中の候補で確認してください。

うまくいかないときの確認ポイント

よくある質問

レシピを解放しなくても作れますか?

作れます。レシピの解放はレシピ本に表示するためのもので、材料を正しく並べれば解放していなくても作れます。

データパックのレシピも解放されますか?

/recipe give @s * は、読み込まれているデータパックのレシピも含めて解放します。

進捗の報酬をもう一度もらえますか?

revoke で取り消してから、もう一度達成すると、データパックで設定された報酬などがもう一度実行されます。

コマンドを確認する

エラーが出たときは、コマンドエラー診断にコマンドと版を入れると、Java版・統合版の書き方の違いやIDの間違いなど、確認する場所がわかります。

関連ページ

gamemodeコマンドの使い方

建築用ワールドの準備に。

giveコマンドの基本

作ったアイテムを直接渡す方法です。

データパックの基本

自作のレシピや進捗を追加する方法です。

コマンド辞典

基本構文とコマンド別の使い方を確認できます。