Minecraft【動く装置】タイマー作成。
Java版1.20.6、統合版はv1.20.81で動作確認。
コマンドを使って、時間を計るタイマーを作成。
基本タイマー。
経験値とスコアボードを使った基本的なタイマーを紹介します。タイマーを使えば、ゲームに制限時間を作ったり、決まった時間に装置を動かしたり出来るようになります。コマンドを少し変えて、時間を増やしたり、減らしたりします。スコアボードタイマーの応用では、アクションバーに時間を表示します。
◻︎装置の特徴
・経験値、スコアボードタイマー。
・「matches」を使ったスコアの検知。
・アクションバーにタイマー表示。
- パワーアップした新タイマーはこちら→ 多機能!タイマーデラックス。
目次
1.作成準備
・ログの非表示。
・スコアボードの作成。
2.コマンドブロックの設置
3.1秒を計る装置
・クロック回路。
4.経験値レベルを使ったタイマー
・経験値タイマー。
・経験値ストップウォッチ。
5.スコアボードを使ったタイマー
・スコアボードタイマー。
・スコアボードストップウォッチ。
6.スコアボードタイマーの応用
・時間をアクションバーに表示。
更新履歴
2024-3-4/古くなっていた情報を新しくしました。
2023-1-13/Java版1.19以降、統合版のv1.19.50以降に対応。統合版の新しいコマンドにも対応しました。
作成準備
コマンドは1人用で作成しています。マルチプレイで使う場合は、ターゲットセレクタを変更してください。 ※「tag」や、防具立てを指定。
ログの非表示。
◻︎ログの非表示とコマンドブロック入手。
/gamerule commandBlockOutput false /give @s command_block |
スコアボードの作成。
◻︎数字を数える「count」と、サイドバー表示用の「time」を作っておきます。
/scoreboard objectives add count dummy /scoreboard objectives add time dummy |
◻︎削除する場合。
/scoreboard objectives remove count
コマンドブロックの設置
コマンドブロックは画像に合わせて配置。「ブロック種類」「レッドストーン」を変更します。 変更がある場合は、個別に解説していきます。
◎配置したコマンドブロックの状態/すべて無条件。※()内は統合版の名称。
コマンドブロックの色 | ブロックの種類 | レッドストーン |
黄色 | インパルス | 動力が必要 |
青色 | チェーン(鎖) | 常時実行 |
紫色 | リピート | 常時実行 |
1秒を計る装置。
クロック回路。
1秒を計るクロック装置を作っておくと、タイマー作りが簡単になります。クロック回路の作り方は色々ありますが、今回はスコアボードを使ったティック式を使います。※Java版と統合版とも同じコマンドで動作します。
- 色々なクロック回路→ Minecraft【基本装置】クロック回路(コマンド)。
経験値を使ったタイマー
プレイヤーの経験値を使ったタイマーです。経験値を使うので、サバイバルモードには不向きですが、スコアのサイドバー表示も不要なので使いやすいです。クリエイティブモードでは経験値バーが表示されないですが、動作はしています。
経験値タイマー。
数字が減っていくタイマーです。目標の時間が決まっている時におすすめ。
①の横にボタンを付けて開始スイッチ。④は「動力が必要」に変更。レッドスーントーチを設置。
【Java版】
①xp set @p 0 levels ②xp set @p 20 levels ------ ③execute if entity @p[level=1..] ④scoreboard players add ティック count 1 ⑧title @a title {"text":"時間切れ!","bold":true} ------ ⑤execute if score ティック count matches 18.. ⑥scoreboard players set ティック count 0 ⑦xp add @p -1 levels |
【統合版】④⑤⑥はJava版と同じ。
①xp -1000L @p ②xp 20L @p ------ ③execute if entity @p[lm=1] ⑧title @a title 時間切れ! ------ ⑦xp -1L @p |
◎解説
①経験値を0にする。 ※統合版は0に設定出来ないので、多めに引く。
②経験値を20に設定。 ※1レベル=1秒。 今回は20秒タイマー。
------
③経験値が1以上の時、信号を出す。
④「count」のティックを1増やす。
⑧タイトルに「時間切れ!」と表示。
------
⑤「count」のティックが18の時、信号を出す。 ※18tickで約1秒。
⑥「count」のティックを0にする。
⑦ティックを0にした時、経験値レベルを1減らす。
経験値が1以上ある時、タイマー装置の電源が入り、1以下になると装置が止まります。経験値は0表示が出来ません。時間を変えたい場合、②数字を変更します。※コンパレータを使うと遅延が発生します。実際の時間が1秒になるように「ティック」の数をを調整しています。
経験値ストップウォッチ。
数字が増えていくストップウォッチです。目標時間は決まってないが、時間を計りたい時に使います。時間を止める装置も必要になります。今回は、木の棒をトリガーにしたストップウォッチを作ります。
カウントダウンタイマーから、黄色の数字のコマンドだけ変更します。
【Java版】
②give @p stick ③clear @p stick 0 ⑦xp add @p 1 levels |
【統合版】②はJava版と同じ。
③clear @p stick 0 0 ⑦xp 1L @p |
◎解説
②プレイヤーに木の棒を与える
③プレイヤーが木の棒を持っている時、信号を出す。
⑦ティックを0にした時、経験値レベルを1足す。
木の棒を投げるか、プレイヤーから木の棒を削除するとタイマーが止まります。
削除コマンド /clear @p stick
スコアボードを使ったタイマー
経過時間をサイドバーに表示します。表示したいものが増えると見えにくくなります。
スコアボードタイマー。
機能は経験値タイマーと同じですが「0」も表示出来ます。
①の横にボタンを付けて開始スイッチ。④は「動力が必要」に変更。レッドスーントーチを設置。
【Java版/統合版 共通】
◻︎サイドバーに「time」を表示。
/scoreboard objectives setdisplay sidebar time |
【Java版】
①scoreboard players set ティック count 0 ②scoreboard players set 秒 time 20 ------ ③execute if score 秒 time matches 1.. ④scoreboard players add ティック count 1 ⑧title @p title {"text":"時間切れ!","bold":true} ------ ⑤execute if score ティック count matches 18.. ⑥scoreboard players set ティック count 0 ⑦scoreboard players remove 秒 time 1 |
【統合版】⑧以外はJava版と同じ。
⑧title @a title 時間切れ! |
◎解説
①「count」のティックを0に設定。
②「time」の秒を20に設定。
------
③「time」の秒が1以上の時、信号を出す。
④「count」のティックを1増やす。
⑧タイトルに「時間切れ!」と表示。
------
⑤「count」のティックが18の時、信号を出す。
⑥スコアボード「count」のティックを0にする。
⑦ティックを0にした時、「time」の秒を1減らす。
スコアボード「time」の秒が1以上ある時、タイマー装置の電源が入り、0になると装置が止まります。時間を変えたい場合、②の数字を変更します。※コンパレータを使うと遅延が発生します。実際の時間が1秒になるように「ティック」の数を調整しています。
スコアボードストップウォッチ。
機能は経験値ストップウォッチと同じです。2種類のスコアボードをリセットするため、コマンドブロックを1個追加します。
カウントダウンタイマーから、黄色の数字のコマンドだけ変更します。
【Java版】
②give @p stick ③clear @p stick 0 ⑦scoreboard players add 秒 time 1 ⑨scoreboard players set 秒 time 0 |
【統合版】②⑦⑨はJava版と同じ。
③clear @p stick 0 0 |
◎解説
②プレイヤーに木の棒を与える
③プレイヤーが木の棒を持っている時、信号を出す。
⑦ティックを0にした時、経験値レベルを1足す。
⑨「time」の秒を0に設定。
木の棒を投げるか、プレイヤーから木の棒を削除するとタイマーが止まります。
削除コマンド /clear @p stick
「秒」のリセット /scoreboard players set 秒 time 0
スコアボードタイマーの応用
経過時間をアクションバーに表示します。機能はスコアボードタイマーと同じです。
時間をアクションバーに表示。
サイドバーに表示していたスコアボード「time」の秒の数を、アクションバーに代入します。
スコアボードタイマーに、コマンド1個を追加。⑩は「動力が必要」に変更。
【Java版】
⑩title @p actionbar [{"score":{"name":"秒","objective":"time"}},{"text":" 秒"}] |
【統合版】
⑩titleraw @p actionbar {"rawtext":[{"score":{"name":"秒","objective":"time"}},{"text":" 秒"}]} |
◎解説
⑩信号がある時「time」の秒の数をアクションバーに表示。
ストップウォッチも同じなので、挑戦してみてください。タイマーを使ったディスプレイも紹介しています。
- スコアボードタイマーを使ったディスプレイはこちら→タイマーディスプレイ。