
Minecraft統合版では、NPC(村人)とコマンドを使って簡易的なお店システムを作ることができます。この記事では、プレイヤーに「お金」の概念を導入し、アイテムを売ることでお金を得て、NPCから商品を買えるようにする方法を紹介します。
RPGのような機能を追加してみよう!
前提として、ワールド設定で「チート」機能をオンにし、クリエイティブモードにしてください。
ステップ1:お金のデータをプレイヤーに保存する

Minecraft統合版では「スコアボード」を使って、プレイヤーのデータを管理できます。まず、お金用のスコアボードを作成しましょう。
チャット欄に以下のコマンドを入力して実行します。
/scoreboard objectives add money dummy お金
これで、プレイヤーごとに「money」というデータが保存できるようになります。
ステップ2:お金を画面に表示する

作成したスコアを、画面のサイドバーに表示して、いつでもお金の数が確認できるようにします。
チャット欄に以下のコマンドを入力して実行します。
/scoreboard objectives setdisplay sidebar money
画面右側に「お金」として、現在の金額が表示されるようになります。

ステップ3:アイテムを売ってお金を稼ぐ
アイテムを売る処理は、特定のエリアに入ったときにアイテムを自動で換金するように設定します。例えば、腐った肉を「5円」で売れるようにするには、以下のような流れになります。
▼ 例:腐った肉1個を5円に換金する
考え方
- 腐った肉の数を確認
- プレイヤーの所持数をスコアに保存
- 腐った肉を消去
- お金のスコアを加算
チャット欄に以下のコマンドを入力して実行します。

/scoreboard objectives add rottenMeat dummy 腐った肉
次にコマンドブロックをコマンドで出します。
チャット欄に以下のコマンドを入力して実行します。
/give @p command_block

コマンドブロックを好きな場所に設置します。(見えない場所に設置すると邪魔になりません。)
ただし、向きには注意が必要です。以下のように設置します。
三角の先端がレッドストーン信号の流れる方向になるので、このように設置してください。
色などは設定したら変わりますので、向きだけ注意してください。

設置したらコマンドブロックを右クリック(もしくはタップ)して設定画面を表示させます。
コマンドブロック構成
①リピート/無条件/常時実行
コマンド:腐った肉を1つだけ消す
設定画面の左側の項目を以下のように設定します。

コマンド入力欄に以下のコマンドを入力します。
clear @a[x=-351,y=35,z=496,r=2] rotten_flesh 0 1
②チェーン/条件付き/常時実行
コマンド:money を 5増やす。
設定画面の左側の項目を以下のように設定します。

コマンド入力欄に以下のコマンドを入力します。
scoreboard players add @a[x=-351,y=35,z=496,r=2] money 5
これでアイテムを売る機能は完成です。
🔎 解説x=-351,y=35,z=496の近くにいるプレイヤーが距離2以内に入ったら、腐った肉を1個削除し、お金(money)に5ポイント加算します。
※エリアの中心座標と距離は、実際のワールドに合わせて調整してください。
腐った肉を一つインベントリに所持した状態で(左)、指定したエリアに入ると手持ちの腐った肉1個がなくなり、お金が「5」となりました(右)。


ステップ4:NPCを使って商品を販売する
NPCを使うには、チート機能を有効にする必要があります。ワールド設定から「チートの実行」をオンにしましょう。
① NPCを召喚する
以下のコマンドで、NPCを召喚できます。
チャット欄に以下のコマンドを入力して実行します。召喚される場所は自分が立っている場所です。

/summon npc ~ ~ ~

②NPCに販売ボタンを設定する
召喚したNPCを右クリック(タップ)し、各種設定を行います。

- 名前:好きな名前を付けます。(武器屋など)
- ダイアログの編集:話しかけた時のメッセージを設定します。(いらっしゃいませ!ここは武器屋です!など)
- 見た目:好きなを選んでください。
- 詳細設定:ここでコマンドなどの設定をします。
「詳細設定」を押すと、以下のダイアログが表示されます。

「コマンドを追加」を押すと、以下のダイアログが表示されます。

コマンドを設定する
例:鉄インゴットを100円で販売する
以下のコマンドをコマンド欄に入力する。
/execute if score @p money matches 100.. run give @p iron_ingot 1
/execute if score @p money matches 100.. run scoreboard players remove @p money 100
🔎 解説
プレイヤーの「お金」が100以上なら、鉄インゴットを1つ渡し、100円引かれます。
「ボタンのモード」をオンにする。(バーを右側にする)
下にテキスト入力欄が表示されるので、商品名や値段を入力する。ここで入力した商品や値段が設定されるのではありません。
コマンドで入力したアイテムや値段が適用されます。ボタンの名称はただのラベルです。

買い物してみる
お金を110円用意しました。

NPCを右クリック(タップ)します。

ボタンをクリック(タップ)します。

インベントリに鉄インゴット1つ入り、お金が100円減って10円になりました。
ステップ5:応用アイデア
今後、より使い勝手がいいように改善していこうと思っていますが、こんなものがあるといいな、というものを挙げてみました。
- アイテムの買取所を複数作成して、売る場所ごとに価格を変える
- 買取システムを村人式や、チェスト式にしてみる
- ランダム販売(ガチャ)で、NPCからランダムな商品を出す
- 定期収入イベントを作って、特定時間ごとにお金が入る
ワールド作ってみた!
いつものMCDワールドではなく、(あれはJava版ですから)統合版でワールドを新しく作って子供たちと遊んでみました!
お金の稼ぎ方とか貯め方とか、子供と楽しく学べるのでちょっとした社会勉強になりそうですね!
もともとはただの島だったのですが、お金を稼いで、建築ブロックを買って、このワールドもかなり発展しました!
ビフォーの画像を撮り忘れたのですが、もともとは島に村があるだけでした。周りは海なので、島でお金を稼ぎ、建築ブロックを買って発展させる、というように遊んでいました!
買取所

島の全容

市場

ゲームバランスを考えないと、すぐにお金が溜まったり、逆に中々貯まらなかったりするので、お金の設定が難しいです。
何をいくらに設定するかに一番時間がかかったかもしれません(笑)。
NPCとスコアボードを使えば、Minecraft統合版でも本格的なお店システムが作れます。アイテムの売買を通じて、サバイバルに経済の要素を加えることができ、遊びの幅が広がります!
ぜひ自分だけのお店ワールドを作ってみてください!
