Java版Minecraft・遅延コマンドブロックの作り方(マイクラJE)

動画の方では初心者向けに割とゆっくり解説しているので、記事の方ではすでにある程度コマンドを触っている人向けにサクサク簡単に説明していきます。

目次

やり方

/scoreboard objectives add timer dummy

と打ち込みタイマー用のスコアボードを作成します。(timerの部分を好きな名前に変えて構いません。その場合は以降のtimerの部分を自分で付けた名前に変えてください。

ちゃんと追加されているか確認したい方は「/scoreboard objectives list」と打ち込んでください。「オブジェクトが1個あります : [timer]」とチャットログに表示されればOKです。

コマンドブロックを矢印がつながるように置いてください。矢印の根本から1つ目のコマンドブロックは「リピート 無条件 動力が必要」、2つ目のコマンドブロックは「チェーン 無条件 常時実行」、3つ目は「チェーン 条件付き 常時実行」としてください。

1つ目のコマンドブロックには

scoreboard players add timer timer 1

と打ち込んでください。これをコピペする場合はCtrl+Vで貼り付けられます。

2つ目のコマンドブロックには

execute if score timer timer matches 「遅延させたい秒数×20」 run 「実行したいコマンド」

を書き込んでください。(カギカッコは取っ払って英数字で入れてください)

今回は例として

execute if score timer timer matches 20 run say こんにちは

と打ち込んでいます。これは1秒経った時に「こんにちは」と発言するコマンドです。20の部分を好きな時間に、runの後を好きなコマンドに変えればそのコマンドが実行できます(必要に応じてexecuteの後ろも変えてください)

入れる数字は20の倍数でなくてもOKです。例えば30と入れれば1.5秒の遅延を置いてコマンドが実行されます。

最後のコマンドブロックには

scoreboard players set timer timer 0

と入れてください。

この状態で最初のリピートコマンドブロックにレッドストーン動力を渡せば、動力が流れている間1秒に一回「こんにちは」と発言されます。

コマンドブロックが動作するたびに出るログを消したい場合は

/gamerule commandBlockOutput false

とチャットで打ち込んでください。

理屈

最初にチャットで打ち込んだコマンドで時間計測用のスコアボードを作成しました。

1つ目のコマンドブロックはリピートなので1ティックごとに起動し、毎回タイマーの数値を1大きくします。
中のコマンドブロックは「execute if score timer timer matches 20」=「timerというエンティティのtimerというスコアが20と一致している時」と条件分岐をしているため、タイマーが20になったときのみ自身のコマンドを実行します。
最後のコマンドブロックは「条件付き」の設定をしているため一つ前のチェーンコマンドブロックが実行されたときのみタイマーの数値を0に設定します。

コマンドを増やす場合

コマンドを実行するコマンドブロックを複数にする場合もやることは同じです。最後のチェーンコマンドブロックの「条件付き」とすることを忘れないようにしてください。

コマンド一覧

【下準備】
タイマーの作成(チャットでOK)
/scoreboard objectives add timer dummy
ちゃんとできてるか確認(チャットでOK)
/scoreboard objectives list

【コマンドブロックの中身】
最初のコマンドブロック(矢印の一番手前)(毎1/20秒ごとに1カウント増加)
scoreboard players add timer timer 1

2つ目のコマンドブロック:数字20の書き換えで遅延秒数変更(20秒ごとに1秒)(runの後ろを好きなコマンドに書き換えでなんでも実行可能)
execute if score timer timer matches 20 run say こんにちは

3つ目のコマンドブロック(タイマーのリセット)
scoreboard players set timer timer 0

コマンドブロックの動作報告を消す(チャットOK)
/gamerule commandBlockOutput false

【デバッグ】
タイマーの手動リセット(チャットOK)
/scoreboard players set timer timer 0

コマンドブロックの報告を見えるように戻す(チャットOK)
/gamerule commandBlockOutput true

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

CAPTCHA


目次