リリース
Minecraft JE 1.21.6プレリリース1がリリースされました。これには新しいコマンド「dialog」が追加されました。このコマンドを使用すると、NPCとの対話やプレイヤーとのやりとりができるようになります。今回は、この「dialog」コマンドを使用して商店街のくじ引きを実装してみましょう。
まず、商店街の入り口にNPCを設置します。このNPCがくじ引きの担当者となります。コマンド「/summon villager」を実行してNPCを召喚しましょう。
次に、くじ引きを行うチェストを設置します。チェストに景品を入れておきます。コマンド「/setblock ~ ~ ~ chest」を実行し、チェストを設置します。
その後、チェストの上に看板を設置します。この看板にはくじ引きの参加者募集や景品の説明を書いておきます。コマンド「/setblock ~ ~1 ~ wall_sign[facing=south]」を実行して、看板を設置します。
ここまでの準備ができたら、いよいよ「dialog」コマンドを使ってくじ引きを実装します。まず、くじ引き用のトリガーを作成するために、コマンド「/trigger add lottery trigger」を実行します。次に、dialogコマンドを使って、NPCとプレイヤーのやりとりを設定します。
コマンド「/dialog @p [NPCの名前] open lottery」を実行すると、プレイヤーに「dialog」画面が開かれ、チェストと看板を交えた状態でくじ引きが始まります。また、プレイヤーが看板をクリックすると景品がトリガーされるので、コマンド「/trigger lottery set 1」を実行してプレイヤーに景品を贈ることができます。
以上が商店街のくじ引きの実装方法です。ただし、今回はあくまでも概要の説明になるので、具体的なコマンドについては適宜調べていただく必要があります。また、プレリリース版のため、今後のアップデートで仕様が変更される可能性もあるので、ご注意ください。