レシピ(英:Recipe)は、クラフトや製錬、醸造など特定のブロックやアイテムを他のものへと加工する際の、素材と加工方法、および生成物を定義しているシステムである。
レシピはJava Editionではデータパックで、Bedrock EditionではAdd-onで自由に設定することができる。クラフト、製錬、溶鉱、焚き火での調理、燻製器での調理、石切加工、鍛冶のすべてのレシピはこのシステムを採用している。加えてBedrock Editionでは製図と醸造もレシピを使用している。現在データパックで設定できないレシピは製図[Java Edition限定]と機織りだけである。
レシピの取得[]
レシピの取得方法には、以下のような方法がある。
- 実際にそのレシピをクラフトする。
/recipe
を使用する。- 進捗達成の報酬としてレシピを解禁する。
- バニラのMinecraftではそのレシピに必要なアイテムを入手するなど特定の条件を満たした際にレシピが解禁されるが、これには進捗のシステムが流用されている。レシピの開放に使用される進捗は、進捗画面に表示されることが無いようにに設定されている[Java Edition限定]。
- レシピ用の進捗は、data\<名前空間>\advancements\recipesに格納されている。ここを編集することで、レシピ解放の条件を変更したり、新しいレシピの開放条件を設定できる。設定方法の詳細は進捗/JSONフォーマットを参照。
ひとたびレシピが取得されると、そのレシピはプレイヤーのレシピ本に追加され[Java Edition限定]、クラフト時にそのレシピを参照できるようになる。取得されたレシピのリストは、プレイヤーのプレイヤーのNBTの recipeBookに保存されている。
用途[]
解禁したレシピはレシピ本に登録され、プレイヤーはそのレシピを参照できるようになる。ただし、/gamerule doLimitedCrafting
をtrue
にしない限り、レシピを解禁しなくても、そのアイテムをクラフトすること自体は可能である。
レシピ本に表示されるレシピは、そのGUI上で使用できるものに限られる。例えばインベントリのクラフト欄(2×2)を使っている時は、2×2でクラフトできるレシピしか表示されない。同様にかまどのGUI上からレシピ本を開いた時は、かまどのレシピだけが表示される。
JSONフォーマット[]
レシピのデータはデータパック内data/<名前空間>/recipesで、レシピ毎のJSONファイルとして記述されている。
レシピのIDはファイルのパスとファイル名によって決まっており、data/<名前空間>/recipes/path/to/file.json
のIDは<名前空間>:path/to/file.json
となるように、recipes
以下のパス+ファイル名がそのレシピのIDとなる。
レシピのJSONには、最上位タグの下に必ず typeというレシピの形式の種類を識別する値が含まれるが、それ以外に必要な値はtypeの値によって異なる。それぞれのtypeに対するレシピファイルのJSON構造は以下に記載する。
各種類のレシピのフォーマット[]
blasting[]
溶鉱炉による製錬のレシピは以下のフォーマットになっている。
- ルートタグ
- 全レシピ共通
- 製錬レシピ共通
デフォルトの製錬時間は、100ティック(5秒)。
ファイル記述例
iron_ingot_from_blasting.json
(溶鉱炉を用いた鉄の製錬レシピ)
{
"type": "minecraft:blasting",
"ingredient": {
"item": "minecraft:iron_ore"
},
"result": "minecraft:iron_ingot",
"experience": 0.7,
"cookingtime": 100
}
campfire_cooking[]
焚き火で使用されるレシピは以下のフォーマットになっている。
- ルートタグ
- 全レシピ共通
- 製錬レシピ共通
デフォルトの製錬時間は100ティック(5秒)だが、バニラで使用されているレシピは600ティック(30秒)に指定されている。また、焚き火のレシピを使用しても進捗トリガーrecipe_unlocked
は作動しない。
crafting_shaped[]
作業台を用いたクラフトレシピのうち、材料の配置が決められているもののフォーマットは以下のようになっている。
key
に使用できるのは1文字の文字のみである。ただし、
(スペース)は pattern上で空白を表現するために使用されるためkey
には使用できない。
また、NBTタグがカスタマイズされたアイテムをクラフトするようなレシピは使用できない。
- ルートタグ
- 全レシピ共通
- category: レシピの分類の名前空間ID。レシピ本上のどのタブに表示されるかを決定している。
equipment
(装備)、building
(建築ブロック)、misc
(その他)code>redstone(レッドストーン関連)が使用できる。デフォルトはmisc
。 - pattern: レシピの形状を指定するためのフィールド。リストの一要素がクラフトマスの一行に対応している。指定した行が3行未満、あるいは一行に指定したアイテムが3つ未満の場合は、その形状を平行移動したレシピも使用できる。
- : 一行分のアイテムの配列。
key
で定義した記号とスペースを組み合わせて、3文字以内で一行分のアイテムの並びを表現する。
- : 一行分のアイテムの配列。
- key: 前述の
pattern
で使用する記号と、それに対応するアイテムを定義する。 - result: 出来上がるアイテム。
- count: 出来上がる個数。省略可能で、省略した場合は1として扱われる。
- item: 出来上がるアイテムのID。
- show_notification: レシピ解放の際にトースト通知が送られるかどうか。
ファイル記述例
iron_pickaxe.json
(鉄のツルハシのレシピ)
{
"type": "minecraft:crafting_shaped",
"pattern": [
"XXX",
" # ",
" # "
],
"key": {
"#": {
"item": "minecraft:stick"
},
"X": {
"item": "minecraft:iron_ingot"
}
},
"result": {
"item": "minecraft:iron_pickaxe"
}
}
stone_pickaxe.json
(石のツルハシのレシピ)
tag を用いた例。
{
"type": "minecraft:crafting_shaped",
"pattern": [
"XXX",
" # ",
" # "
],
"key": {
"#": {
"item": "minecraft:stick"
},
"X": {
"tag": "minecraft:stone_tool_materials"
}
},
"result": {
"item": "minecraft:stone_pickaxe"
}
}
crafting_shapeless[]
作業台を用いたクラフトレシピのうち、材料の配置が決まっていないものは以下のフォーマットになっている。
材料は1種類以上9種類以下である必要がある。
NBTがカスタマイズされたアイテムをクラフトすることはできない。
- ルートタグ
- 全レシピ共通
- category: レシピの分類の名前空間ID。レシピ本上のどのタブに表示されるかを決定している。
equipment
(装備)、building
(建築ブロック)、misc
(その他)code>redstone(レッドストーン関連)が使用できる。デフォルトはmisc
。 - ingredients: 材料のリスト。前述の通り、1種類以上9種類以下である必要がある。
- result: 出来上がるアイテム。
- result: 出来上がるアイテム。
- count: 出来上がる個数。省略可能で、省略した場合、1として扱われる。
- item: 出来上がるアイテムのID。
- show_notification: レシピ解放の際にトースト通知が送られるかどうか。
ファイル記述例
oak_button.json
(オークのボタンのレシピ)
{
"type": "minecraft:crafting_shapeless",
"group": "wooden_button",
"ingredients": [
{
"item": "minecraft:oak_planks"
}
],
"result": {
"item": "minecraft:oak_button"
}
}
oak_planks.json
(オークの木材のレシピ)
tag を用いた例。
{
"type": "minecraft:crafting_shapeless",
"group": "planks",
"ingredients": [
{
"tag": "minecraft:oak_logs"
}
],
"result": {
"item": "minecraft:oak_planks",
"count": 4
}
}
crafting_special_○○[]
作業台を用いたレシピのうち、以下に挙げるものはレシピファイル自体は存在するが、レシピファイルではなく、プログラムに組み込まれている。
"vanilla"
(バニラ)のデータパックを無効化してもこのタイプのレシピは利用できる。
- ルートタグ
- type: レシピの種類。
- category: レシピの分類の名前空間ID。レシピ本上のどのタブに表示されるかを決定している。
equipment
(装備)、building
(建築ブロック)、misc
(その他)code>redstone(レッドストーン関連)が使用できる。デフォルトはmisc
。
他のレシピの種類と違い、"group"
はなく、レシピ本に表示されない。
armordye
- 防具の染色用のレシピ。
- 通常のレシピは複数の染料を同時に使用できない。
bannerduplicate
bookcloning
firework_rocket
firework_star
firework_star_fade
- 花火の星のクラフトや、花火の色の追加などのレシピ。
- 通常のレシピはNBTがカスタマイズされたアイテムをクラフトできないため、形状効果や追加効果などが設定できない。
mapcloning
mapextending
repairitem
shielddecoration
- 旗の模様を盾につけるときのレシピ。
- 通常のレシピでは、NBTを別のアイテムに移し替えることはできない。
shulkerboxcoloring
- シュルカーボックスの染色のレシピ。
- 通常のレシピでは、シュルカーボックスに関わるNBTをコピーできない。
tippedarrow
- 効能付きの矢のレシピ
- 通常のレシピでは、残留ポーションから効能付きの矢に効果をコピーすることはできない。
suspiciousstew
- 怪しげなシチューのレシピ。
- 通常のレシピでは、材料に使う花によって効果を決めることはできない。
smelting[]
かまどによる製錬のレシピは以下のフォーマットになっている。
- ルートタグ
- 全レシピ共通
- 製錬レシピ共通
デフォルトの製錬時間は、200ティック(10秒)。
ファイル記述例
cooked_beef.json
(牛肉を製錬してステーキにするレシピ)
{
"type": "minecraft:smelting",
"ingredient": {
"item": "minecraft:beef"
},
"result": "minecraft:cooked_beef",
"experience": 0.35,
"cookingtime": 200
}
charcoal.json
(木炭のレシピ)
アイテムタグを用いた例。
{
"type": "minecraft:smelting",
"ingredient": {
"tag": "minecraft:logs_that_burn"
},
"result": "minecraft:charcoal",
"experience": 0.15,
"cookingtime": 200
}
smithing_trim[]
鍛冶台での防具装飾のレシピは以下のフォーマットになっている。防具装飾ファイルで定義されている素材と鍛冶型を参照して防具に装飾が施される。
ファイル記述例
dune_armor_trim_smithing_template_smithing_trim.json
(砂丘風の装飾のレシピ)
{
"type": "minecraft:smithing_trim",
"addition": {
"tag": "minecraft:trim_materials"
},
"base": {
"tag": "minecraft:trimmable_armor"
},
"template": {
"item": "minecraft:dune_armor_trim_smithing_template"
}
}
smithing_transform[]
鍛冶台での加工のレシピは以下のフォーマットになっている。
- ルートタグ
- type: レシピの種類。
- addition: 3番目のスロットに使用するアイテム。リスト形式で指定して中にこのオブジェクトを列挙することでアイテムの候補を複数指定することもでき、またこのリストが空の場合はそのスロットが空であることを指定する。
- base: 2番目のスロット。構造はadditionと同じ。
- template: 1番目のスロット。構造はadditionと同じ。
- result: 出来上がるアイテム。
- item: 出来上がるアイテムのID。
ファイル記述例
netherite_sword_smithing_trim.json
(剣のネザライト強化のレシピ)
{
"type": "minecraft:smithing_transform",
"addition": {
"item": "minecraft:netherite_ingot"
},
"base": {
"item": "minecraft:diamond_sword"
},
"result": {
"item": "minecraft:netherite_sword"
},
"template": {
"item": "minecraft:netherite_upgrade_smithing_template"
}
}
smoking[]
燻製器による製錬のレシピは以下のフォーマットになっている。
- ルートタグ
- 全レシピ共通
- 製錬レシピ共通
デフォルトの製錬時間は、100ティック(5秒)。
stonecutting[]
石切台によるクラフトのレシピは以下のフォーマットになっている。
- ルートタグ
- 全レシピ共通
- ingredient: 材料。
- ingredient: 材料を複数に分岐させたい場合はこちらを使う。例えば、ここに滑らかな石と丸石を指定した場合は、丸石もしくは滑らかな石でアイテムが出来上がる。
- result: 出来上がるアイテムのID。
- count: 出来上がる個数。必須項目。
他のレシピと違い、 count は必須項目であり、省略した場合、レシピが読み込まれない。
ファイル記述例
stone_stairs_from_stonecutting.json
(石の階段のレシピ)
{
"type": "minecraft:stonecutting",
"ingredient": {
"item": "minecraft:stone"
},
"result": "minecraft:stone_stairs",
"count": 1
}
サウンド[]
サウンド | 字幕 | 分類 | 説明 | 名前空間ID | 字幕キー | 音量 | ピッチ | 減衰 距離 |
---|---|---|---|---|---|---|---|---|
なし[sound 1] | 主音量 | レシピ解禁時 | ui.toast.in | なし[sound 1] | 0.4 | 1.0 | 16 | |
なし[sound 1] | 主音量 | トースト通知が引っ込む時 | ui.toast.out | なし[sound 1] | 0.4 | 1.0 | 16 |
歴史[]
Java Edition | |||||
---|---|---|---|---|---|
1.12 | 17w13a | レシピのシステムがほとんどのクラフトレシピに導入された。 | |||
17w16a | JSONのフォーマットに group キーが追加された。 | ||||
1.13 | 17w47a | JSONのフォーマットから data キーが削除された。 | |||
17w48a | データパックで、オリジナルのレシピを追加できるようになった。 | ||||
13種類のレシピが使用可能になった。 | |||||
様々な特殊なクラフトレシピがレシピシステムを使用したものに変換された。 | |||||
17w49a | JSONのフォーマットに tag キーが追加された。 | ||||
18w06a | 製錬レシピがレシピのシステムを使用するようになった。 | ||||
type に smelting が追加された。 | |||||
result が追加された。 | |||||
experience が追加された。 | |||||
cooktime が追加された。 | |||||
1.14 | 18w43a | type に crafting_special_suspiciousstew が追加された。 | |||
18w48a | type から crafting_special_banneraddpattern と crafting_special_repairitem が削除された。 | ||||
18w50a | type に blasting と smoking が追加された。 | ||||
19w02a | type に campfire_cooking が追加された。 | ||||
19w04a | type に stonecutting が追加された。 | ||||
1.14.3 | pre3 | type に crafting_special_repairitem が再び追加された。 | |||
1.16 | pre1 | Added the recipe type smithing . | |||
1.20 (実験的) | 23w07a | Decorated Potの為に新しいレシピ識別子crafting_decorated_pot が追加された。 | |||
レシピ解禁の通知の有無を決定するフィールドshow_notification が追加された。 | |||||
1.20 | pre2 | 空白をスロット示すためのID"item": "minecraft:air" が使用できるようになった。 | |||
pre6 | "item": "minecraft:air" が使用できなくなった。 | ||||
代わりにsmithing_trim およびsmithing_transform でアイテムを指定する際にリスト形式が使用できるようになり、このリストが空であれば空白を指定したものとして見做される。 | |||||
Bedrock Edition | |||||
1.12.0 | beta 1.12.0.2 | 多くのクラフトレシピに関するレシピシステムが導入された。 |
問題点[]
「レシピ (システム)」に関する問題点は、バグトラッカーにて管理されている。問題点の報告はそちらで行ってほしい。
脚注[]
関連項目[]
要素 |
| ||
---|---|---|---|
データパック |
| ||
チュートリアル |