
配布ワールドを作ってるけど、オリジナルのレシピを追加できたらなぁ...
そんなクラフターの夢を叶える方法があります。そう、Minecraft 1.8ならね。
今回は、バニラで自分だけのクラフトレシピを追加するコマンドを解説します。
材料の並び方、出来上がるアイテムの名前や効果など細かく設定できます。
コマンドがMODに勝つ時代が、ついにやって来ました!
[2/25追記] テクスチャの変更方法についてより良い方法をご提案いただいたので修正しました。
目次
目次
今回作る仕掛けのサンプル
皆さん、ダイヤモンドをクラフトして作れたらと思いませんか?それではお見せしましょう。題して「不思議な作業台」です。

ここに、何の変哲もない(?)作業台が置いてあります。

画像を見て分かる通り、なんと焼石とガラスでダイヤモンドを作っています!
また砂岩とレッドストーンブロックで金インゴットなど、あり得ない作り方をしていますね。
私はもっだーになったわけではありません。コマンドを使っています。
それでは、解説をしていきましょう。
ステップ1: まずはトロッコとドロッパーで作業台を作ろう
※これから解説する仕掛けは、Minecraft バージョン1.8以降でないと動きません。まずは「不思議な作業台」を入手しましょう。giveコマンドを使います。
「不思議な作業台」を入手するコマンド
/give @p minecraft:dropper 1 0 {display:{Name:不思議な作業台}}
次に、なんとトロッコを召喚します。
作業台用トロッコを召喚するコマンド
/summon MinecartRideable ~ ~1 ~
{CustomDisplayTile:1,DisplayTile:minecraft:crafting_table,DisplayOffset:42}
これは、「CustomDispayTile:1」と書けば追加できる物体です。
「DisplayTile:minecraft:crafting_table」と書いて作業台を、「DisplayOffset:42」で物体の高さを指定します。
正確には、「作業台の姿をした当たり判定のないトークン」を乗っけている感じです。

次に、このトロッコを設置する場所を用意します。
レールを設置し、レール上にトロッコを固定して、ガラスで囲みます。

トロッコの上に、なんとかして「不思議な作業台」を上向きで置いて下さい。
絶対上向きです。そして周りを適当なブロックで囲んで、隠しましょう。
これで作業台のセットは完了しました。
当たり判定がなく、一回り小さいですが、解決法は後述しますのでご安心を。
ステップ2: クラフトするためのコマンドを設定しよう
このままでは、ただドロッパーを設置しただけですね。作業台として機能させるためには、コマンドブロックの設置が必要です。
2-1: 作業台の内容を比較する (testforblocksコマンド)

まず、上図のような回路を組み立てます。
「1」「2」のコマンドブロックによって、横長のクロック回路ができています。

上図を見て分かる通り、上下のコマンドブロック「1」「2」に以下のコマンドを入力します。
「1」= クロック回路上部
/fill ~ ~-1 ~ ~5 ~-1 ~ redstone_block
「2」= クロック回路下部
/fill ~ ~1 ~ ~5 ~1 ~ stone

クロック棒の上に、1ブロック開けてもう一つ「不思議な作業台」と名のついたドロッパーを置きます。
必ず、先ほどgiveコマンドで入手した「不思議な作業台」を上向きで設置して下さい。
また、このドロッパーに入れたアイテムが、そのままオリジナルレシピとして設定されます。

次に、クロック棒の下に「3」のコマンドブロックを設置し、コマンドを入力します。
「3」= クロック棒の下、2つのドロッパーを比較
/testforblocks <使う「不思議な作業台」ドロッパーの座標x y z> <もう一度同じ座標>
<上のドロッパーの座標x y z>
まず、ステップ1で用意した「不思議な作業台」の座標を二回続けて書きます。
そして最後に、クロック棒の上に設置したドロッパーの座標を書きます。
ブロックの座標を知りたい時は、デバッグモードで「Looking at:」の部分を見ましょう。

こうすることで、2つの不思議な作業台の内容が比較されます。
つまり、回路のドロッパーで設定したレシピと、使う作業台の内容が一致すれば信号が出ます。
2-2: クラフトして出来上がるアイテムと効果音の設定
次に、出来上がるアイテムと効果音を設定します。またまたあのツールが活躍しますよ。

では、回路の「4」「5」のコマンドブロックの内容を入力していきましょう。
まず「4」で出来上がるアイテムを設定するわけですが、手打ちは大変なのでツールを使います。

サイトにアクセスしたら、「BlockData」モードを選択します。
そして「Relative Co-ordinates」のチェックを外して下さい。
そして左に、ステップ1で設置した「不思議な作業台」の座標を入力します。
さらに「Block」欄に「Dropper」と入力して下さい。

次に出来上がるアイテムを設定します。
作業台の真ん中に完成品を出現させたいので、「Slot 4」を設定して下さい。
ここでアイテムの種類や名前などを設定できます。詳細な設定方法はこちらの記事をお読み下さい。
ちなみに、複数のアイテムを完成品として設定したい場合は他のスロットも設定します。

アイテムの設定が済んだら、サイトの下部に表示されているコマンドをコピーしましょう。
これをCtrl+Vキーで「4」のコマンドブロックに貼り付けます。
最後に、クラフトする際の効果音を設定します。
「5」= 効果音を鳴らす (4の直後に実行)
/playsound random.anvil_use @p <使う不思議な作業台の座標x y z>
最後に音の発生源を指定するのですが、ここでは不思議な作業台から音が鳴る設定にしています。

回路の作成とコマンドの入力、お疲れ様でした!
テクスチャを変えて、トロッコ無しverを作ろう
皆さん、この「不思議な作業台」に違和感を覚えませんか?
トロッコに乗せたトークンを使っているので、当たり判定がないなど不自然な点が色々ありますね。
「これ、ドロッパーのテクスチャを変えてそのまま置けば良いんじゃ?」
そう思った方、その通りです。私も作ってみてあとで気付きました。
それでは、ドロッパーのテクスチャを変えて作業台に見せかけましょう。
これから行う方法で配布ワールドに同梱すれば、強制的にテクスチャが変更されます。
[2/25追記] コメントにてより良い方法をご提案いただいたので、手順を修正しました。
▲配布したいワールドのセーブデータフォルダの中で作業します。
このようなフォルダ構造で、フォルダを次々作って下さい。
そして、「blockstates」フォルダの中に以下の内容でテキストを作成します。
{
"variants": {
"facing=up": { "model": "crafting_table" }
}
}
このテキストは「上向きのドロッパーのモデルを作業台に置き換える」という意味です。"variants": {
"facing=up": { "model": "crafting_table" }
}
}
(これはblockstatesと呼ばれる設定ファイルです。詳細な解説はこちらの記事にまとめています。)

この内容のテキストを、「dropper.json」という名前で保存します。

そしてセーブデータフォルダに戻って、「assets」フォルダを圧縮します。

最後に、生成されたzipファイルを「resources.zip」にリネームして下さい。
これで、このワールドに入れば強制的にテクスチャが変更されます。

ふぅ.....これで完全に偽装できますね。もうトロッコは不要です。
ここで見た目が変更されるのは、上向きのドロッパーだけです。
従来の方法のように他のブロックに影響することがなく、とても便利が良い方法です。
ご提案してくださった土屋なずきさん、ありがとうございました!

今回解説したコマンドがお役に立てれば幸いです。
「これはどうするの?」などコメント待ってます。
最近書いたコマンド解説記事
参考にさせて頂いた動画様
Custom Crafting V2 in minecraft 1.8 - YouTube
コメント
記事の内容が最新のものと異なる場合があります。ご了承ください。
1.9versionも出来れば書いてください
お待ち! この記事は最後の更新から1年以上経過している古い記事だ。新しいバージョンに合わせて装置を作り直してスクショを取り直して解説を書き直す面倒臭さが君には分かるかい?
Relative Co-ordinatesをなんで外すんですか?
Relative Co-ordinatesはつまり相対座標のことなので、デバッグモードで調べたドロッパーの座標(絶対座標)を使うためにはチェックを外す必要があります。
わざわざ絶対座標調べなくても相対座標で良いと思うのですが
絶対座標だといくつも並べる時いちいち設定しないといけないけど
相対座標なら直線に同じのを並べるだけであとは設定変えなくてもいいのでそっちの方が楽じゃないですか?
個人的に絶対座標を使ったんじゃないですか?
blockdataで中身を消去(または初期化)する方法はないのでしょうか。setblockで無理やりドロッパーを同じ個所に配置してドロッパーごと初期化できるものの、その都度金床が壊れるときのようにウィンドウが閉じてしまいまして…。同じ作業をしようとしたときにもう一度右クリックしなければならず非常に手間がかかります。簡潔に言えば「コマンド使用のみで特定の配置でアイテムが消えるレシピ」を作りたいのです。良い案がありましたらご教示ください。
作業台付きトロッコを召還しようとしても、{CustomDisplayTile:1,DisplayTile:crafting_table,DisplayOffset:42}は有効な数値ではありません と表示され、トロッコも現れません。使用しているPCはmacです。もしかしてmacでは使用できないのでしょうか?
/summon MinecartRideable ~ ~1 ~
の後のスペースを忘れていませんか?
申し訳ございません、コマンド内の「minecraft:」が抜けたまま放置していました。正しい召喚コマンドはこちらです
/summon MinecartRideable ~ ~1 ~
{CustomDisplayTile:1,DisplayTile:mine craft:crafting_table,DisplayOffset:42}
/summon MinecartRideable ~ ~1 ~
{CustomDisplayTile:1,DisplayTile:mine craft:crafting_table,DisplayOffset:42}
と打っても
{CustomDisplayTile:1,DisplayTile:mine は有効な数値ではありません
とでます
申し訳ありませんiPhoneから打って勝手にスペースが入ったのを放置していました…mineの後のスペースを消して頂ければ動きます
/summon MinecartRideable ~ ~1 ~
{CustomDisplayTile:1,DisplayTile:minecraft:crafting_table,DisplayOffset:42}
をコピーしてペーストしても、手動で入力しても、最後の set:42} の部分が入り切りません。
そのままEnterキーを押すと赤い文字で
データタグの解析に失敗しました:Undalanced brackts:{CustomDisplayTile:1,DisplayTile:minecraft:crafting_table,DisplayOff
と表示されます。
マインクラフト1.10.2で遊びたいのですが使用不可能なのでしょうか?
手動では文字数制限があるので、
コマンドブロックを使って下さい
「5」= 効果音を鳴らす (4の直後に実行)部分に表示されているコマンド、
/playsound random.anvil_use @p
とありますが、正しくは
/playsound minecraft:block.anvil.use master @p
ではないでしょうか
ご確認宜しくお願い致します
この解説は1.8用なんです。
1.9+では/playsound minecraft:block.anvil.use master @p を使ってください。
えっと、1.10.2マルチで使うとドロッパーの中が変わらないのですが…
シングルだと正常に動きます。
マルチだと動かないのでしょうか
ごめんなさい、
常時実行にしてませんでした。
1.11は/summon minecart ~ ~1 ~ {CustomDisplayTile:1,DisplayTile:minecraft:crafting_table,DisplayOffset:42}
でできます。
配布ワールドで使わせていただきました。
ありがとうございました
1.10.2で出来ませんでした
これを1.12のfunctionで動かすためにはどうすればいいですか?
今思いついているのはストラクチャーでこの回路を地下深くに作っちゃうことなんですができればfunction内だけで実装したいです。
いいやり方を教えてください。