ふと、コマブロだけでクラフトレシピが追加できないか思い立ち、色々試したので共有。
本+エメラルドでエンチャントされた本をクラフトしてみます。
コマンドの作成にはMCstacker様を使わせていただきました。
レシピの設定
上向きのドロッパーを2つ用意します。
説明のためにA,Bと呼びます。
ドロッパーAの横に赤石ブロックを置きます。Bに入力が入らないように注意します。
それではドロッパーAにアイテムを入れます。
これがそのままレシピになります。
Bには完成品を入れます。
次にコマンドです。リピートコマンドブロックを用意して以下のコマンドをコピペします。
/execute as @e[tag=craft] at @s if blocks [座標A] [座標A] ~ ~-1 ~ masked run clone [座標B] [座標B] ~ ~-1 ~ replace
[座標A]にはドロッパーAの座標を、[座標B]にはドロッパーBの座標を入力します。
レシピの設定は以上です。
作業台の設定
レシピを作りましたが、肝心の作業台がありません。
もちろん、普通の作業台を使ってもクラフトはできません。
そこで特殊な作業台を作りたいと思います。
以下のコマンドを先ほどのリピートコマブロにチェーンしてください。
/execute at @e[type=item,nbt={Item:{id:"minecraft:magma_cream",Count:1b,tag:{craft_ball:0}}}] run summon armor_stand ~ ~ ~ {Tags:["craft"]}
次のコマンドをチャットで実行してください。
/give @p magma_cream{HideFlags:1,craft_ball:0,Enchantments:[{id:"minecraft:infinity",lvl:1s}]} 1
このアイテムを捨てて、アーマースタンドが召喚されればOKです。
アーマースタンドを透明にしてもよいですが、サバイバルで破壊できなくなります。
実際にクラフトする
さきほど手に入れたマグマクリームをもって上向きドロッパーの上に乗ります。
マグマクリームを捨ててアーマースタンドをドロッパーの上に召喚します。
アーマースタンドが乗ってる間、このドロッパーが特殊作業台になります。
ドロッパーの側面にレバーを付けておきます。
クラフトしてみましょう!!
作ったレシピ通りにアイテムを並べて…
レバーを引くと…
できた!!!
ということで完成です。
レシピの追加はドロッパーA,Bを追加するだけです。
おまけ
マグマクリームからアマスタをわざわざ召喚したのは、交易でアイテム交換→それを使って作業台を作る。とやりたかったからです。
もちろん、アマスタをsummonしても使えます。
/summon armor_stand ~ ~ ~ {Tags:["craft"]}
村人のコマンドも一応置いておきます。
/summon villager ~ ~ ~ {Invulnerable:1b,Tags:["craft"],VillagerData:{profession:"minecraft:nitwit"},Offers:{Recipes:[{rewardExp:0b,maxUses:10000000,xp:0,buy:{id:"minecraft:emerald",Count:1b},sell:{id:"minecraft:magma_cream",Count:1b,tag:{HideFlags:1,craft_ball:0,Enchantments:[{id:"minecraft:infinity",lvl:1s}]}}}]}}
*1
最初にドロッパーAの横に赤石ブロックを置いたやつですが、アレがないと動きません。
どうやらマイクラのバグでドロッパーをcloneでドロッパーに置き換えた時、中身が読み込まれないみたいです。
そこで強制的に読み込みを行わせるために
赤石入力ONのA→赤石入力OFFのB
とcloneして、レバーの赤石入力で更新させることで中身を読み込ませています。
まぁ…おまじないだと思っておきましょう!
*2
ここまで読んでくれてありがとう!またね!