【4選】おすすめのマイクラのマルチサーバーはこちら

【マイクラ統合版】【コピペ可能】NPCショップを作る方法を分かりやすく解説!ボタン一つで買い物ができるようになる!?

コマンド
記事内に広告(Amazonを含む)が含まれています。

マイクラの中でアイテムと通貨を交換することが出来るショップがあったらいいなと思ったことはありませんか?

それを実現するのが今回解説するNPCです!これを使うと今までディスペンサーなどを使っていたのが一気に見た目もよくなり機能性も上がります!それでは解説していきます。

スポンサーリンク

NPCの使い方

まずNPCを召喚してみましょう。

コマンドは

/summon npc <NPCの名前>

です。/summon npcだけでも召喚できますが、コマンドで識別するために名前は絶対につけた方が良いです。

今回は分かりやすいようにaとbという名前のNPCを召喚しました。bの方は見えないところに置くべきです。召喚したときの名前はこの後も使うので絶対に覚えておいてください。

aはボタンを押す用、bはセリフを言わせる用です。

2体いるNPCの様子

まずaの方を開いてみましょう。ブロックを置くボタンで開けます。

NPCの設定画面

このような画面が出てきました。見た目は好きな見た目に変えることができます。

名前も好きな名前に変えられます。

今回は武器商人という名前にしてみましょう。それではセリフを入れていきます。

ダイアログの編集を押してください。

NPCのセリフを設定する画面

このような画面がでてきます。好きなセリフを入れてください。今回は「いらっしゃいませ!」と入れておきます。

NPCにコマンド入力

次に「詳細設定」を押してください。

このような画面が出てきます。

コマンドを追加を押してください。

NPCにコマンドを打つ画面

大きなプラスのボタンを押してください。

そして下のコマンドを入力してください。

今回使用するNPCに打ち込むコマンド

コピペ用

give @initiator[scores={money=30..}] diamond_sword
playsound note.chime @initiator[scores={money=30..}]
scoreboard players add @initiator[scores={money=30..}] money -30
execute as @initiator[tag=dialess] run dialogue open @e[name=b] @s
execute as @initiator[tag=dialess] run playsound random.anvil_land @s

※initiatorとはNPCのダイアログを開いている人のことです。

name=の後のbの部分の名前はもう片方の召喚時の名前を入れてください。

30の部分(-がついているところを含む)は自分の好きな値段を入れてください。

また、今回はダイアモンドの剣ですがdiamond_swordの部分を好きなアイテムのIDに変えれば違うアイテムを交換できます。tagも自分が分かりやすい名前にしてください。

そして右上の-を押し下のボタンのモードをオンにしてください。そして好きな文を入れます。今回は「ダイヤの剣 30money」と入れました。

別のアイテムを追加したい場合はコマンドを追加で上のコマンドをタグを変え、好きなアイテムの名前と値段を入力してください。

そしてもう片方(今回はb)を開きダイアログの編集を押し、好きなメッセージを入れます。        

今回は「お金が足りません!」にしました。

その他のコマンド

次に必要なのが、スコアボードです。

スコアボードに関して詳しく知りたい方は以下の記事をご覧ください。

スコアボードの名前は何でもいいです。今回はmoneyと言う名前にしましょう。(moneyの部分は自分の好きな名前にして大丈夫です、必ず先ほどのscores=の{}の中と名前を揃えてください。)

moneyという名前のスコアを世界に追加するコマンド
/scoreboard objectives add money dummy

コマンドを打ったら分かりやすいように表示してみましょう。

今回はmoneyというスコアボードを降順、つまり大きい順に表示します。(小さい順に表示したい場合はdescendingの部分をascendingに変えてください。)

moneyという名前のスコアを大きい順にサイドバーに表示するコマンド
/scoreboard objectives setdisplay sidebar money descending

これで横に表示されます。

次にコマンドブロックを出してください。

コマンドは

/give @s command_block

です。貰ったコマンドブロックを設置し、以下のコマンドを入力してください。

コマンドブロックに打つ必要があるコマンド1

{}の中の値段とaddの後のタグは必ず先ほどのNPCのコマンドのそれと揃えてください。

そしてリピート、無条件、常時実行でティックの遅延を5にしてください。

そしてもう一つコマンドブロックを置き、

コマンドブロックに打つ必要があるコマンド2

もちろん、{}の中の値段とaddの後のタグは必ず先ほどのNPCのコマンドのそれと揃えてください。

リピート、無条件、常時実行で遅延はなしにします。

売るアイテムを追加した場合、その際追加した分新しいコマンドブロックにタグと値段を打つ必要があります。

実際に動かしてみる

まずサバイバルモードにします。

そして試しにmoneyを50にしてみます。

/scoreboard players add @s money 50
自分のmoneyという名前のスコアを50に設定したときのサイドバーの様子

そしてaの方を右クリックしてみましょう。

NPCが設定したセリフを言う様子

そしてダイヤ剣を押します。すると

実際に購入に成功した様子

はい、ダイヤモンドの剣も貰えmoneyも値段分の30が減っていますね。

今は20しかmoneyが無いのでもう一度ボタンを押すと

お金が足りないときに喋るNPCの様子

はい、きちんとお金が足りないと出ました。

これでショップの完成です。

終わりに

これでRPGなどでショップが作れますね!食べ物や防具などを売ってみてもいいでしょう。

支払いと受け取りが同時に出来るのでかなり便利です!