オリジナルのクラフトレシピをバニラで追加する方法 – 配布ワールド作成に [コマンド解説 for1.8]【Minecraft】
配布ワールドを作ってるけど、オリジナルのレシピを追加できたらなぁ…
そんなクラフターの夢を叶える方法があります。そう、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>
ここでは、新コマンド「testforblocks」を使っています。
まず、ステップ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>
ここではplaysoundコマンドを使います。「random.anvil_use」と書けば、鉄床の音がランダムで鳴ります。
最後に音の発生源を指定するのですが、ここでは不思議な作業台から音が鳴る設定にしています。
回路の作成とコマンドの入力、お疲れ様でした!
テクスチャを変えて、トロッコ無しverを作ろう
皆さん、この「不思議な作業台」に違和感を覚えませんか?
トロッコに乗せたトークンを使っているので、当たり判定がないなど不自然な点が色々ありますね。
「これ、ドロッパーのテクスチャを変えてそのまま置けば良いんじゃ?」
そう思った方、
その通りです。私も作ってみてあとで気付きました。
それでは、ドロッパーのテクスチャを変えて作業台に見せかけましょう。
これから行う方法で配布ワールドに同梱すれば、強制的にテクスチャが変更されます。
[2/25追記] コメントにてより良い方法をご提案いただいたので、手順を修正しました。
▲配布したいワールドのセーブデータフォルダの中で作業します。
このようなフォルダ構造で、フォルダを次々作って下さい。
そして、「blockstates」フォルダの中に以下の内容でテキストを作成します。
“variants”: {
“facing=up”: { “model”: “crafting_table” }
}
}
このテキストは「上向きのドロッパーのモデルを作業台に置き換える」という意味です。
(これはblockstatesと呼ばれる設定ファイルです。詳細な解説はこちらの記事にまとめています。)
この内容のテキストを、「dropper.json」という名前で保存します。
そしてセーブデータフォルダに戻って、「assets」フォルダを圧縮します。
最後に、生成されたzipファイルを「resources.zip」にリネームして下さい。
これで、このワールドに入れば強制的にテクスチャが変更されます。
ふぅ…..これで完全に偽装できますね。もうトロッコは不要です。
ここで見た目が変更されるのは、上向きのドロッパーだけです。
従来の方法のように他のブロックに影響することがなく、とても便利が良い方法です。
ご提案してくださった土屋なずきさん、ありがとうございました!
いかがでしたか。役立つレシピは作れましたか
今回解説したコマンドがお役に立てれば幸いです。
「これはどうするの?」などコメント待ってます。
最近書いたコマンド解説記事
参考にさせて頂いた動画様
27件のコメント
-
群曹2016年3月29日1.9versionも出来れば書いてください
-
さ2024年6月17日へー
-
1232016年3月29日Relative Co-ordinatesをなんで外すんですか?
-
匿名2016年3月29日Relative Co-ordinatesはつまり相対座標のことなので、デバッグモードで調べたドロッパーの座標(絶対座標)を使うためにはチェックを外す必要があります。
-
伴ノ内明莉2023年9月24日?
-
とりたん2016年5月1日blockdataで中身を消去(または初期化)する方法はないのでしょうか。setblockで無理やりドロッパーを同じ個所に配置してドロッパーごと初期化できるものの、その都度金床が壊れるときのようにウィンドウが閉じてしまいまして…。同じ作業をしようとしたときにもう一度右クリックしなければならず非常に手間がかかります。簡潔に言えば「コマンド使用のみで特定の配置でアイテムが消えるレシピ」を作りたいのです。良い案がありましたらご教示ください。
-
蠍2016年5月9日作業台付きトロッコを召還しようとしても、{CustomDisplayTile:1,DisplayTile:crafting_table,DisplayOffset:42}は有効な数値ではありません と表示され、トロッコも現れません。使用しているPCはmacです。もしかしてmacでは使用できないのでしょうか?
-
匿名2016年5月9日申し訳ございません、コマンド内の「minecraft:」が抜けたまま放置していました。正しい召喚コマンドはこちらです /summon MinecartRideable ~ ~1 ~ {CustomDisplayTile:1,DisplayTile:mine craft:crafting_table,DisplayOffset:42}
-
ahahahahaha2016年5月24日/summon MinecartRideable ~ ~1 ~ {CustomDisplayTile:1,DisplayTile:mine craft:crafting_table,DisplayOffset:42} と打っても {CustomDisplayTile:1,DisplayTile:mine は有効な数値ではありません とでます
-
匿名2016年5月24日申し訳ありませんiPhoneから打って勝手にスペースが入ったのを放置していました...mineの後のスペースを消して頂ければ動きます
-
gakuto0012016年8月10日わざわざ絶対座標調べなくても相対座標で良いと思うのですが 絶対座標だといくつも並べる時いちいち設定しないといけないけど 相対座標なら直線に同じのを並べるだけであとは設定変えなくてもいいのでそっちの方が楽じゃないですか?
-
greenryu2016年10月4日/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で遊びたいのですが使用不可能なのでしょうか?
-
negi2016年10月9日「5」= 効果音を鳴らす (4の直後に実行)部分に表示されているコマンド、 /playsound random.anvil_use @p とありますが、正しくは /playsound minecraft:block.anvil.use master @p ではないでしょうか ご確認宜しくお願い致します
-
ゆっくりキセイショクブツ2016年10月24日えっと、1.10.2マルチで使うとドロッパーの中が変わらないのですが... シングルだと正常に動きます。 マルチだと動かないのでしょうか
-
ゆっくりキセイショクブツ2016年10月24日ごめんなさい、 常時実行にしてませんでした。
-
KohiYukkrizikyo2016年12月13日1.11は/summon minecart ~ ~1 ~ {CustomDisplayTile:1,DisplayTile:minecraft:crafting_table,DisplayOffset:42} でできます。
-
でんでん (Minecraft ID:denden0816)2017年1月2日この解説は1.8用なんです。 1.9+では/playsound minecraft:block.anvil.use master @p を使ってください。
-
KohiYukkrizikyo2017年1月14日配布ワールドで使わせていただきました。 ありがとうございました
-
d2017年1月14日1.10.2で出来ませんでした
-
でんでん2017年4月30日個人的に絶対座標を使ったんじゃないですか?
-
コマンド少し知ってるマン2017年8月4日手動では文字数制限があるので、 コマンドブロックを使って下さい
-
とるむ2017年8月8日これを1.12のfunctionで動かすためにはどうすればいいですか? 今思いついているのはストラクチャーでこの回路を地下深くに作っちゃうことなんですができればfunction内だけで実装したいです。 いいやり方を教えてください。
-
でんでん2017年11月10日/summon MinecartRideable ~ ~1 ~ の後のスペースを忘れていませんか?
-
でんでん2017年11月10日お待ち! この記事は最後の更新から1年以上経過している古い記事だ。新しいバージョンに合わせて装置を作り直してスクショを取り直して解説を書き直す面倒臭さが君には分かるかい?
-
さ2024年6月16日すごーい
-
さ2024年6月17日そうなんだね そうやるんだね
-
さ2024年6月17日こうようのがあるんだ すごーい コマンドって何個あるの あかさたなはまやらん