コマンドブロックの基本的な使い方!感圧板でMobがテレポートする仕掛けを作りました

存在は知っていたものの、よくわからなかったので今まで避けてきたコマンドブロック。少し調べることになってしまいました。まだちょっとしか理解できていないですが、せっかく調べたのでコマンドブロックの基本的な使い方などをまとめました。

スポンサーリンク

コマンドブロックとは

コマンドブロックというのは、スイッチを入れると予め入力しておいたコマンドを実行することができるブロックです。例えば、プレイヤーをテレポートさせるコマンドを入力しておき、ボタンでスイッチを入れられるようにしておけば、ボタンを押したプレイヤーを任意の位置にテレポートさせるということができるようになります。

これがコマンドブロックです。

コマンドブロックの入手方法

コマンドブロックは普通に入手することができません。サバイバルではもちろん無理ですし、クリエイティブモードでもアイテム欄には表示されていません。入手するためにはコマンドを使用する必要があります。

クリエイティブモードで
/give @p minecraft:command_block
と入力すると、プレイヤーにコマンドブロックが与えられます。

成功するとコマンドブロックを1個「プレイヤー名」に与えました、というメッセージが出てきます。

コマンドブロックの使い方

私がそうだったのですが、説明を読んでもいまいちピンとこないと思います。実際に使ってみたほうが理解は早いので、クリエイティブモードの実験ワールドを作っていろいろと試してみてください。ここではコマンドブロックの簡単な使い方を説明しておきます。

コマンドの入力

設置したコマンドブロックを右クリックすると、コマンドを入力する画面になります。

「コンソールコマンド」という表示の下の入力欄にコマンドを入力していきます。

例えばここで、
/give @p minecraft:diamond
と入力して、完了ボタンをクリックします。ダイヤをプレイヤーに与えるコマンドです。

コマンドブロックにスイッチを設置してそのスイッチを押すと、ダイヤモンドが一つアイテム欄に与えられます。

/give @p minecraft:diamond 64
とすると、ダイヤモンドを64個与えることができるようになります。

コマンドブロックの種類

バージョン1.9からコマンドブロックに新しい機能が加わり、コマンドブロックの種類が3種類になりました。設定画面からコマンドブロックの種類を変更することができます。

設置したコマンドブロックを右クリックし、「インパルス」と書かれたボタンをクリックすると種類を変更することができます。

左からインパルスモード、チェインモード、リピートモード。

インパルス(オレンジ)

最初に設置した状態のコマンドブロック。レッドストーン信号が入力されたときにコマンドを一回だけ実行することができるブロックです。先程作ったダイヤモンドを与えるコマンドブロックはインパルスモードで作成しています。

チェーン(緑)

レッドストーン信号が入力されているとき、隣接するコマンドブロックのコマンド実行を感知してコマンドを実行することができるブロックです。

例えば先程置いたダイヤモンドを与えるコマンドブロックに繋がる形でチェーンモードのコマンドブロックを置き、コマンドを

/clear @p minecraft:diamond

と入力。ボタンを押すとダイヤモンドが与えられた次の瞬間に、インベントリからダイヤモンドが消去されます。

「「プレイヤー名」のインベントリから64個のアイテムを消去しました」というメッセージが表示されます。

リピート(紫)

レッドストーン信号が入力されている間、1tick間隔で何度もコマンドを実行し続けるコマンドブロックです。1秒間が20tickなので、0.05秒に1回実行されることになります。

先程のインパルスモードのコマンドブロックをリピートモードに変更してみました。

ボタンが押されて信号が伝わっている間、ダイヤモンドが大量に与えられますが、与えられたそばからどんどん削除されていっています。

条件付き

コマンドブロックの設定画面、種類を選択するボタンの隣に「無条件」と表示されているボタンがあります。このボタンを一回クリックすると「条件付き」に変更することができ、隣接するコマンドブロックのコマンドが成功したときだけ、レッドストーン信号を受け付けるようになります。

チェーンの説明で使用したインパルスモードのコマンドブロックに、
/clear @p minecraft:redstone
と入力し、隣のチェーンモードのコマンドブロックを「条件付き」にしておきます。

この状態でボタンを押しても、持っているダイヤモンドが削除されません。

インパルスモードのコマンドブロックの設定画面を見てみると、前回の実行結果に「プレイヤー名のインベントリーにはアイテムがないので消去でき・・」と表示されています。

レッドストーンを持っていないので、/clear @p minecraft:redstoneのコマンドが失敗に終わり、その結果隣接しているチェーンモードのコマンドブロックも動かないというわけです。

常時実行

設定画面の「動力が必要」ボタンをクリックすると、常時実行モードに変更することができます。常時実行にするとレッドストーン信号の入力が必要なくなり、常にコマンドが実行される状態になります。

リピートの説明で使用したリピートモードとチェーンモードのコマンドブロックを、どちらも常時実行にすると、ダイヤモンドを与えて、削除する、というコマンドが永遠に繰り返されます。

常に実行しておきたいコマンドに使える機能ですが、コマンドが実行される回数がかなり多くなるので、負荷も相当なものになりそうです。ちなみにインパルスモードでは、常時実行にしても一度しかコマンドが実行されません。

スポンサーリンク

感圧板を踏んだ牛が空高くテレポートする仕掛け

練習がてら、逃げようとしたウシを空高くテレポートさせるという仕掛けを作ってみました。

フェンスの端っこにコマンドブロックと感圧板を設置しています。

コマンドブロックには高さ100の位置までテレポートするように、
/tp @e[type=Cow,r=2] 1226 100 144
と入力。

/tpは、テレポートさせるコマンドで、@eは全てのエンティティを対象にしてコマンドを実行するという意味。/tp @eとすると、プレイヤー(自分)までテレポートしてしまうので、[type=Cow,r=2]でコマンドブロックから半径2マス以内のウシを指定して、最後に1226 100 144とテレポート先の座標を指定しています。これである程度は動かすことができました。

逃げようとしたばっかりに・・。

何かの拍子にウシがずっと感圧板を踏みっぱなしになってしまい、何匹かは脱走。

ということで、コマンドブロックの基本的な使い方の紹介でした。主にマルチで使うことになるのでしょうか。調べてみてやっぱり難しかったですが、使いこなせるようになれば色々と面白いこともできそうです。

スポンサーリンク

One Response to “コマンドブロックの基本的な使い方!感圧板でMobがテレポートする仕掛けを作りました”

  1. 永野高英 より:

    リクエストです。コマンド一覧を紹介してみてください。

コメントを残す

サブコンテンツ

このページの先頭へ