Minecraft【動く装置】爆発しても無害なTNT!

2024-03-02

Java版1.20.2、統合版はv1.20.41で動作確認。

簡単なコマンドで、TNTの爆発を防ぎます。

TNTは見た目もカッコ良いので、部屋に飾っておきたくなるブロックですが、もし間違えて着火したら、せっかく建てた家も破壊してしまいます。インテリアに使いたいけどやっぱり怖くて使えないなぁ...。ちょっと待って!そんな時「無害」くんを設置しておくと安心です。※マルチプレイ対応。連続着火でも安心設計。

◻︎装置の特徴
・エンティティの検知。
・アマスタイマー式「無害」くん(Java版)。
・ティックの遅延式「無害」くん(統合版)。

 

目次

1.【Java版】 無害くん。
・アマスタイマー。
・TNTの検知と回転。
・演出と削除。

2.【統合版】 無害くん。
・TNTの検知と演出。

※「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 に設定。