Minecraft【動く装置】爆発しても無害なTNT!
Java版1.20.2、統合版はv1.20.41で動作確認。
簡単なコマンドで、TNTの爆発を防ぎます。
TNTは見た目もカッコ良いので、部屋に飾っておきたくなるブロックですが、もし間違えて着火したら、せっかく建てた家も破壊してしまいます。インテリアに使いたいけどやっぱり怖くて使えないなぁ...。ちょっと待って!そんな時「無害」くんを設置しておくと安心です。※マルチプレイ対応。連続着火でも安心設計。
◻︎装置の特徴
・エンティティの検知。
・アマスタイマー式「無害」くん(Java版)。
・ティックの遅延式「無害」くん(統合版)。
※「as」や「minecraft:」などのコマンドは簡略化しています。一部のコマンド、マルチプレイやサーバーでは必要な場合があります。
【Java版】 無害くん。
TNTは着火してから約75ティックで爆発します。爆発する前にTNTを削除することで、被害を未然に防ぎます。
アマスタイマー。
ちょっと時間を計りたいだけなのに、ファンクションやスコアボードは下準備が...。そんな時便利なのがアマスタイマー! 防具立てを召喚するだけです。
◻︎チャットコマンドで入力。
/summon armor_stand ~ ~ ~ {CustomName:"\"無害\""} |
/無害と名前を付けて、防具立てを召喚。
◻︎帽子を被せるには
item replace entity @e[type=armor_stand] armor.head with tnt
TNTの検知と回転。
TNTは着火するとエンティティになり、コマンドで検知出来るようになります。TNTが着火したら「無害」くん(防具立て)を回転します。
◻︎リピート(常時実行)→コンパレーター。
①execute if entity @e[type=tnt] |
①TNTが着火したら信号を出す。
◻︎リピート(動力が必要)
②execute at @e[name="無害"] run tp @e[name="無害"] ~ ~ ~ ~5 ~ |
②信号がある時「無害」くん(防具立て)を「5度」回転します(正の数は時計回り)。
- 回転式クロック回路の詳細はこちら→ 【基本装置】クロック回路(コマンド)。
演出と削除。
TNTが爆発する前に、パーティクルと音を出して爆発を演出します。その後TNTを削除。「無害」くんは、1ティック「5度」で回転するので、1周72ティックになります。※「無害」くんの向きは、遅延もあってほぼ0度で止まるので、向きをリセットする必要はありません。
◻︎リピートブロック(常時実行)。
③execute if entity @e[name="無害",y_rotation=-20] run execute at @e[type=tnt] run playsound entity.lightning_bolt.impact player @a[distance=..15] ~ ~ ~ 0.3 1 1 ④execute if entity @e[name="無害",y_rotation=-20] run execute at @e[type=tnt] run particle explosion ~ ~1 ~ 1 1 1 0 40 normal ⑤execute if entity @e[name="無害",y_rotation=-10] run kill @e[type=tnt] |
③④「無害」くんの向きが340度(68ティック)になったら、TNTを中心に、半径15ブロック内で雷音を鳴らします。音量は下げています。同じく爆発のパーティクルを表示。
⑤「無害」くんの向きが350度(70ティック)になったら、TNTを削除します。
【統合版】 無害くん。
統合版ではタイマー要らず。ティックの遅延を使って信号を遅らせます。Java版と内容が同じ箇所の説明は省略します。
TNTの検知と演出。
◻︎リピート(常時実行)→コンパレーター。
①execute if entity @e[type=tnt] |
◻︎インパルス(動力が必要)。
②execute at @e[type=tnt] run playsound ambient.weather.lightning.impact @a[r=15] ~~~ 0.3 1 1 ③execute at @e[type=tnt] run particle huge_explosion_emitter ~~1~ ④kill @e[type=tnt] |
②ティックの遅延: 70 に設定。
③ティックの遅延: 70 に設定。
④ティックの遅延: 71 に設定。