【前編】
マイクラのexecuteコマンドは、特定の位置やエンティティを対象にコマンドを実行するためのものです。今回は、その中でも”unless block”というサブコマンドを使って、ロケットランチャーを作ってみたいと思います。
まず最初に、ロケットランチャーを作るための基本的な考え方を説明します。ロケットランチャーは、プレイヤーがボタンやレバーを操作することで、ロケットが飛び立つ仕組みです。つまり、プレイヤーがボタンを押したときに、ロケットを発射させるような仕組みを作る必要があります。
それでは実際にコマンドを使って、ロケットランチャーを作っていきましょう。
まずはロケットを発射させるためのコマンドを用意します。以下のコマンドを使います。
“`
execute unless block ~ ~1 ~ air run summon firework_rocket
“`
これは、現在の位置から上方向に1ブロック分空いているところに、花火のロケットを発射するコマンドです。花火のロケットを発射するために使うコマンドは他にもありますが、今回は一番簡単なものを使います。
次に、これをボタンが押されたときに実行するように設定します。まず、ボタンの上にチェインコマンドブロックを配置します。そして、チェインコマンドブロックのコマンドに以下を入力します。
“`
execute unless block ~ ~1 ~ air run summon firework_rocket
“`
これでボタンを押したときに、ロケットが飛び立つようになりました。
しかし、現状では一回ボタンを押しただけではロケットが飛んでいきますが、ボタンを連続で押した場合にはディレイなしでロケットが次々と発射されてしまいます。そこで、ボタンが押されたときに一定のディレイをかけるために、”unless blocks”サブコマンドを使います。
“`
execute unless blocks ~ ~1 ~ ~ ~1 ~ air run summon firework_rocket
“`
これは、現在の位置から上方向に1ブロック分空いているところに、花火のロケットを発射するコマンドです。ただし、発射する直前に現在位置から上方向に1ブロック分までが空気ブロックであることが条件となっています。つまり、ボタンを押したときに空気ブロックではなく、何かブロックがある場合には花火のロケットは発射されません。これによって、ボタンが押されたときに一回だけロケットが発射されるようになります。
以上が、”unless block”と”unless blocks”サブコマンドを使ってロケットランチャーを作る方法の解説です。実際に試してみると、自分でコマンドを組み合わせる楽しみが味わえると思います。ぜひ挑戦してみてください!
コメントを書く