top of page
Mikage's Channel
美翳のサイト
2017/8/13 作成 最終更新日:2022/04/02
・タイマー
■内容
好きな時間をきめておき、その時間が経過するまでカウント ダウンしながら、
画面に残り時間を表示する回路です。
解説の見方
XXX:Y:Zという構造。
■XXXはコマンドブロックの種類
・ICB :インパルスコマンドブロック
・CCB:チェインコマンドブロック
・RCB:リピートコマンドブロック
■Yは条件の状態
・N:条件なし
・C:条件付き
■Zは実行の状態
・N:動力が必要
・P:常時実行
※あらかじめ、timeスコアボードを作成してください。
<scoreboard objectives add time dummy time>
その後、下記コマンドを実行
<gamerule commandBlockOutput false>
カウントダウンする仕掛けはこんな感じです。
1
2
3
■1の回路
この回路は一言でまとめると「残り時間を表示する」部分です。
RCBNN:<scoreboard players test second time 1 >
secondという架空のプレイヤーの、timeスコアが1以上であるか確認します。
なお、架空のプレイヤー名は自由に変えて問題ないです。
CCBCP:<title @a actionbar {"score":{"name":"second","objective":"time"},"bold":true,"color":"green"}>
nameには、上記架空のプレイヤー名が入ります。
objectiveには、スコアボードの名前が入ります。
boldは太字にします。必要がなければfalseにしてください。
colorは色を指定します。ここではgreenを使用しています。
なお、このコマンドブロックは、残り時間が1以上のときのみ実行されます。
CCBNP:<scoreboard players test second time 0 0>
secondという架空のプレイヤーのtimeスコアが0になっているか判定します。
CCBCP:<scoreboard players test tick time 19 20>
tickという架空のプレイヤーのtimeスコアが19以上20以下になっているか判定します。
CCBCP:<title @a actionbar {"text":""}>
actionbarに表示されている内容を消去します。
なお、このコマンドブロックは、残り時間がなくなったときに実行されます。
CCBCP:<title @a title {"text":"TIMEUP!!","bold":true,"color":"red"}>
残り時間がなくなったことを示す文言を表示します。
なお、このコマンドブロックは、残り時間がなくなったときに実行されます。
■2の回路
この回路は一言でまとめると、「残り時間が0以上のとき、経過したtickを計る」部分です。
RCBNN:<scoreboard players test second time 0>
secondという架空のプレイヤーのtimeスコアが0以上か判定します。
CCBCP:<scoreboard players remove tick time 1>
tickという架空のプレイヤーのtimeスコアを1減らします。
■3の回路
この回路は一言でまとめると、「20tick(1秒)経ったら残り時間を1秒減らす」部分です。
RCBNN:<scoreboard players test tick time -2 1>
tickという架空のプレイヤーのtimeスコアが-2から1くらいまで減っているか判定します。
(幅があるのは、ラグなどで少し飛んだとき対策です)
CCBCP:<scoreboard players set tick time 20>
tickという架空のプレイヤーのtimeスコアを20に戻します。
CCBCP:<scoreboard players remove second time 1>
secondという架空のプレイヤーのtimeスコアを1減らします。
■3の回路
この回路は一言でまとめると、「20tick(1秒)経ったら残り時間を1秒減らす」部分です。
RCBNN:<scoreboard players test tick time -2 1>
tickという架空のプレイヤーのtimeスコアが-2から1くらいまで減っているか判定します。
(幅があるのは、ラグなどで少し飛んだとき対策です)
CCBCP:<scoreboard players set tick time 20>
tickという架空のプレイヤーのtimeスコアを20に戻します。
CCBCP:<scoreboard players remove second time 1>
secondという架空のプレイヤーのtimeスコアを1減らします。
起動するための回路はこんな感じです。(回路といえるのか?)
■起動回路
ICBNN:<scoreboard players set second time 10>
残り時間を設定します。単位は秒です。
上記回路が完成したら、
リピートコマンドブロックにレッドストーンブロックなどで動力を与えます。
(めんどい人はRCBを常時実行にするといいです)
最後に起動回路に動力をボタンなどで送ればタイマーが起動します。
コピペする場合は、<>でくくってある中のものをコピーしてください。
bottom of page