ナポアンドットコム 
/ UPDATE :
POSTED BY :
napoan

オリジナルのクラフトレシピをバニラで追加する方法 - 配布ワールド作成に [コマンド解説 for1.8]

オリジナルレシピ
配布ワールドを作ってるけど、オリジナルのレシピを追加できたらなぁ...
そんなクラフターの夢を叶える方法があります。そう、Minecraft 1.8ならね。
今回は、バニラで自分だけのクラフトレシピを追加するコマンドを解説します。
材料の並び方出来上がるアイテムの名前や効果など細かく設定できます。

コマンドがMODに勝つ時代が、ついにやって来ました!

[2/25追記] テクスチャの変更方法についてより良い方法をご提案いただいたので修正しました。

 

目次


今回作る仕掛けのサンプル

皆さん、ダイヤモンドをクラフトして作れたらと思いませんか?
それではお見せしましょう。題して「不思議な作業台」です。
14
ここに、何の変哲もない(?)作業台が置いてあります。

不思議な作業台
画像を見て分かる通り、なんと焼石とガラスでダイヤモンドを作っています!
また砂岩とレッドストーンブロックで金インゴットなど、あり得ない作り方をしていますね。
私はもっだーになったわけではありません。コマンドを使っています。

それでは、解説をしていきましょう。

ステップ1: まずはトロッコとドロッパーで作業台を作ろう

※これから解説する仕掛けは、Minecraft バージョン1.8以降でないと動きません。

まずは「不思議な作業台」を入手しましょう。giveコマンドを使います。

「不思議な作業台」を入手するコマンド
2015-2-23_23-7-46
/give @p minecraft:dropper 1 0 {display:{Name:不思議な作業台}}

あれあれ、作業台なのにドロッパー? ....気にしないでください。

次に、なんとトロッコを召喚します。

作業台用トロッコを召喚するコマンド
58
/summon MinecartRideable ~ ~1 ~
{CustomDisplayTile:1,DisplayTile:minecraft:crafting_table,DisplayOffset:42}

このトロッコ、空中に作業台をくっつけてますね。
これは、「CustomDispayTile:1」と書けば追加できる物体です。
「DisplayTile:minecraft:crafting_table」と書いて作業台を、「DisplayOffset:42」物体の高さを指定します。
正確には、「作業台の姿をした当たり判定のないトークン」を乗っけている感じです。

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

41 -
トロッコの上に、なんとかして「不思議な作業台」上向きで置いて下さい。
絶対上向きです。そして周りを適当なブロックで囲んで、隠しましょう。

これで作業台のセットは完了しました。
当たり判定がなく、一回り小さいですが、解決法は後述しますのでご安心を。

ステップ2: クラフトするためのコマンドを設定しよう

このままでは、ただドロッパーを設置しただけですね。
作業台として機能させるためには、コマンドブロックの設置が必要です。

2-1: 作業台の内容を比較する (testforblocksコマンド)

11 -
まず、上図のような回路を組み立てます。
「1」「2」のコマンドブロックによって、横長のクロック回路ができています。
49
上図を見て分かる通り、上下のコマンドブロック「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で用意した「不思議な作業台」の座標二回続けて書きます。
そして最後に、クロック棒の上に設置したドロッパーの座標を書きます。

02
ブロックの座標を知りたい時は、デバッグモードで「Looking at:」の部分を見ましょう。

42 - コピー
こうすることで、2つの不思議な作業台の内容が比較されます。
つまり、回路のドロッパーで設定したレシピと、使う作業台の内容一致すれば信号が出ます。

2-2: クラフトして出来上がるアイテムと効果音の設定

次に、出来上がるアイテムと効果音を設定します。
またまたあのツールが活躍しますよ。

20 - コピー - コピー
では、回路の「4」「5」のコマンドブロックの内容を入力していきましょう。

まず「4」で出来上がるアイテムを設定するわけですが、手打ちは大変なのでツールを使います。
MCStacker - Minecraft Entity Stacking Summon Command Generator 2014-12-22_19-38-41 http://mcstacker.bimbimma.com/ 
2015-2-24_19-21-37
サイトにアクセスしたら、「BlockData」モードを選択します。
そして「Relative Co-ordinates」のチェックを外して下さい。
そして左に、ステップ1で設置した「不思議な作業台」の座標を入力します。
さらに「Block」欄に「Dropper」と入力して下さい。

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

2015-2-24_19-28-54
アイテムの設定が済んだら、サイトの下部に表示されているコマンドをコピーしましょう。
これをCtrl+Vキーで「4」のコマンドブロックに貼り付けます。

最後に、クラフトする際の効果音を設定します。

「5」= 効果音を鳴らす (4の直後に実行)
/playsound random.anvil_use @p <使う不思議な作業台の座標x y z>

ここではplaysoundコマンドを使います。「random.anvil_use」と書けば、鉄床の音がランダムで鳴ります。
最後に音の発生源を指定するのですが、ここでは不思議な作業台から音が鳴る設定にしています。

2015-2-24_19-35-45
回路の作成とコマンドの入力、お疲れ様でした!

テクスチャを変えて、トロッコ無しverを作ろう

皆さん、この「不思議な作業台」に違和感を覚えませんか?
14 - コピー
トロッコに乗せたトークンを使っているので、当たり判定がないなど不自然な点が色々ありますね。
「これ、ドロッパーのテクスチャを変えてそのまま置けば良いんじゃ?」
そう思った方、その通りです。私も作ってみてあとで気付きました。

それでは、ドロッパーのテクスチャを変えて作業台に見せかけましょう。
これから行う方法で配布ワールドに同梱すれば、強制的にテクスチャが変更されます。

[2/25追記] コメントにてより良い方法をご提案いただいたので、手順を修正しました。

セーブデータのフォルダ
L assets
L minecraft
L blockstates
2015-2-25_19-0-9
▲配布したいワールドのセーブデータフォルダの中で作業します。
このようなフォルダ構造で、フォルダを次々作って下さい。

そして、「blockstates」フォルダの中に以下の内容でテキストを作成します。
{
"variants": {
"facing=up": { "model": "crafting_table" }
}
}
このテキストは「上向きのドロッパーのモデルを作業台に置き換える」という意味です。
(これはblockstatesと呼ばれる設定ファイルです。詳細な解説はこちらの記事にまとめています。)

2015-2-25_18-54-12
この内容のテキストを、「dropper.json」という名前で保存します。

bandicam 2015-02-24 20-02-19-938
そしてセーブデータフォルダに戻って、「assets」フォルダを圧縮します。

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

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

05
いかがでしたか。役立つレシピは作れましたか
今回解説したコマンドがお役に立てれば幸いです。
「これはどうするの?」などコメント待ってます。

最近書いたコマンド解説記事

参考にさせて頂いた動画様

Custom Crafting V2 in minecraft 1.8 - YouTube

 

Tweet

コメント

記事の内容が最新のものと異なる場合があります。ご了承ください。

“オリジナルのクラフトレシピをバニラで追加する方法 - 配布ワールド作成に [コマンド解説 for1.8]” への22件のフィードバック

  1. 群曹 より:

    1.9versionも出来れば書いてください

    • でんでん より:

      お待ち! この記事は最後の更新から1年以上経過している古い記事だ。新しいバージョンに合わせて装置を作り直してスクショを取り直して解説を書き直す面倒臭さが君には分かるかい?

  2. 123 より:

    Relative Co-ordinatesをなんで外すんですか?

    • 匿名 より:

      Relative Co-ordinatesはつまり相対座標のことなので、デバッグモードで調べたドロッパーの座標(絶対座標)を使うためにはチェックを外す必要があります。

      • gakuto001 より:

        わざわざ絶対座標調べなくても相対座標で良いと思うのですが
        絶対座標だといくつも並べる時いちいち設定しないといけないけど
        相対座標なら直線に同じのを並べるだけであとは設定変えなくてもいいのでそっちの方が楽じゃないですか?

  3. とりたん より:

    blockdataで中身を消去(または初期化)する方法はないのでしょうか。setblockで無理やりドロッパーを同じ個所に配置してドロッパーごと初期化できるものの、その都度金床が壊れるときのようにウィンドウが閉じてしまいまして…。同じ作業をしようとしたときにもう一度右クリックしなければならず非常に手間がかかります。簡潔に言えば「コマンド使用のみで特定の配置でアイテムが消えるレシピ」を作りたいのです。良い案がありましたらご教示ください。

  4. より:

    作業台付きトロッコを召還しようとしても、{CustomDisplayTile:1,DisplayTile:crafting_table,DisplayOffset:42}は有効な数値ではありません と表示され、トロッコも現れません。使用しているPCはmacです。もしかしてmacでは使用できないのでしょうか?

    • でんでん より:

      /summon MinecartRideable ~ ~1 ~
      の後のスペースを忘れていませんか?

  5. 匿名 より:

    申し訳ございません、コマンド内の「minecraft:」が抜けたまま放置していました。正しい召喚コマンドはこちらです
    /summon MinecartRideable ~ ~1 ~
    {CustomDisplayTile:1,DisplayTile:mine craft:crafting_table,DisplayOffset:42}

  6. ahahahahaha より:

    /summon MinecartRideable ~ ~1 ~
    {CustomDisplayTile:1,DisplayTile:mine craft:crafting_table,DisplayOffset:42}
    と打っても
    {CustomDisplayTile:1,DisplayTile:mine は有効な数値ではありません
    とでます

    • 匿名 より:

      申し訳ありませんiPhoneから打って勝手にスペースが入ったのを放置していました…mineの後のスペースを消して頂ければ動きます

  7. greenryu より:

    /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で遊びたいのですが使用不可能なのでしょうか?

    • コマンド少し知ってるマン より:

      手動では文字数制限があるので、
      コマンドブロックを使って下さい

  8. negi より:

    「5」= 効果音を鳴らす (4の直後に実行)部分に表示されているコマンド、
    /playsound random.anvil_use @p
    とありますが、正しくは
    /playsound minecraft:block.anvil.use master @p
    ではないでしょうか
    ご確認宜しくお願い致します

    • でんでん (Minecraft ID:denden0816) より:

      この解説は1.8用なんです。
      1.9+では/playsound minecraft:block.anvil.use master @p を使ってください。

  9. ゆっくりキセイショクブツ より:

    えっと、1.10.2マルチで使うとドロッパーの中が変わらないのですが…
    シングルだと正常に動きます。
    マルチだと動かないのでしょうか

    • ゆっくりキセイショクブツ より:

      ごめんなさい、
      常時実行にしてませんでした。

  10. KohiYukkrizikyo より:

    1.11は/summon minecart ~ ~1 ~ {CustomDisplayTile:1,DisplayTile:minecraft:crafting_table,DisplayOffset:42}
    でできます。

  11. KohiYukkrizikyo より:

    配布ワールドで使わせていただきました。
    ありがとうございました

  12. d より:

    1.10.2で出来ませんでした

  13. とるむ より:

    これを1.12のfunctionで動かすためにはどうすればいいですか?
    今思いついているのはストラクチャーでこの回路を地下深くに作っちゃうことなんですができればfunction内だけで実装したいです。
    いいやり方を教えてください。

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

EXR-Network
Powered by EXR-Network
%d人のブロガーが「いいね」をつけました。