Minecraft【動く装置】消化できる無害な炎!
Java版1.20.2、統合版はv1.20.41で動作確認。
炎の更新を止めて、消えなくなった炎を消化します。
せっかく建てた家が、家事で燃えたら困るよね!ゲームルールを変更して、炎が燃え広がらなくなったけど炎が消えない..。やっぱり元に戻そうかなぁ...。ちょっと待って!そんな時「消化栓」を設置しておくと安心です。※マルチプレイ対応。連続着火でも安心設計。
◻︎装置の特徴
・メインハンドの検知。
・アマスクロックで炎の消化。
目次
1.【Java版/統合版】 ゲームルールの変更。
・炎の更新を止める。
2.【Java版】 消火栓の設置。
・アマスクロック。
・メインハンドの検知と回転。
・タグ付けと消化。
・消化とタグ消し。
3.【統合版】 消火栓の設置。
・アマスクロック。
・メインハンドの検知と回転。
・タグ付けと消化。
・消化とタグ消し。
※「as」や「minecraft:」などのコマンドは簡略化しています。一部のコマンド、マルチプレイやサーバーでは必要な場合があります。
【Java版/統合版】 ゲームルールの変更。
炎の更新を止める。
◻︎チャットコマンドで入力。
/gamerule doFireTick false |
/炎の更新を止めます。自然消化もオフになります。※戻すには「true」。
【Java版】 消火栓の設置。
火打ち石と打ち金をメインハンドに持っているプレイヤーを検知。クロック装置を動かして、消えない炎や着火した炎を消します。
アマスクロック。
簡単なクロック回路を作りたい。でも時間も調節したいなぁ...。そんな時便利なアマスクロック! 防具立てを召喚するだけです。
◻︎チャットコマンドで入力。
/summon armor_stand ~ ~ ~ {CustomName:"\"消化栓\""} |
◻︎帽子を被せるには
item replace entity @e[type=armor_stand,name="消化栓"] armor.head with dispenser
/消化栓と名前を付けて、防具立てを召喚。
メインハンドの検知と回転。
火打ち石と打ち金をメインハンドに持っている時、信号を出し「消火栓」を回転します。
◻︎リピート(常時実行)→コンパレーター。
①execute if entity @a[nbt={SelectedItem:{id:"minecraft:flint_and_steel"}}] |
①アイテムを持っていたら信号を出す。※このコマンドは「minecraft:」が必要です。
◻︎リピート(動力が必要)
②execute at @e[name="消化栓"] run tp @e[name="消化栓"] ~ ~ ~ ~5 ~ |
②信号がある時「消火栓」を「5度」回転します(正の数は時計回り)。レッドストーントーチを設置します。
- 回転式クロック回路の詳細はこちら→ 【基本装置】クロック回路(コマンド)。
タグ付けと消化。
プレイヤーにタグ「air」を付けて、約1.5秒(36ティック)おきに炎を消化します。
◻︎リピート(常時実行)。
③tag @a[nbt={SelectedItem:{id:"minecraft:flint_and_steel"}}] add air ④execute if entity @e[name="消化栓",y_rotation=0] run execute at @a[tag=air] run fill ~-15 ~-3 ~-15 ~15 ~7 ~15 air replace fire ⑤execute if entity @e[name="消化栓",y_rotation=180] run execute at @a[tag=air] run fill ~-15 ~-3 ~-15 ~15 ~7 ~15 air replace fire |
③火打ち石と打ち金をメインハンドに持っているプレイヤーを検知して、タグ「air」を付けます。※このコマンドは「minecraft:」が必要です。
④⑤「消化栓」の向きが0度、180度を検知して、タグ「air」の周辺の炎を空気に変えます。
消化とタグ消し。
炎を消化して、プレイヤーに付いたタグ「air」を消します。
◻︎インパルス(動力が必要)→チェーン(常時実行)。
⑥execute at @a[tag=air] run fill ~-15 ~-3 ~-15 ~15 ~7 ~15 air replace fire ⑦tag @a remove air |
⑥タグ「air」の周辺の炎を空気に変えます。
⑦全てのプレイヤーからタグ「air」を消します。※タグを付けるコマンドが常に動作しているので、火打ち石と打ち金をメインハンドに持っているプレイヤーのタグは消えません。
【統合版】 消火栓の設置。
統合版もJava版と同じ装置になります。Java版と内容が同じ箇所の説明は省略します。
アマスクロック。
◻︎チャットコマンドで入力。
/summon armor_stand 消化栓 ~~~ |
◻︎帽子を被せるには ※統合版では、通常ブロックを被せても表示されません。
replaceitem entity @e[type=armor_stand,name="消化栓"] slot.armor.head 0 carved_pumpkin
メインハンドの検知と回転。
◻︎リピート(常時実行)→コンパレーター。
①execute if entity @a[hasitem={item=flint_and_steel,location=slot.weapon.mainhand}] |
◻︎リピート(動力が必要)
②execute at @e[name="消化栓"] run tp @e[name="消化栓"] ~~~ ~10~ |
②信号がある時「消火栓」を「10度」回転します(正の数は時計回り)。レッドストーントーチを設置します。※統合版では消化できる範囲が狭いため、Java版より少し早めに消化します。
タグ付けと消化。
プレイヤーにタグ「air」を付けて、約1秒(18ティック)おきに炎を消化します。
◻︎リピート(常時実行)。
③tag @a[hasitem={item=flint_and_steel,location=slot.weapon.mainhand}] add air ④execute if entity @e[name="消化栓",rym=0,ry=0] run execute at @a[tag=air] run fill ~-5~~-5 ~5~7~5 air [] replace fire ⑤execute if entity @e[name="消化栓",rym=180,ry=-180] run execute at @a[tag=air] run fill ~-5~~-5 ~5~7~5 air [] replace fire |
消化とタグ消し。
◻︎インパルス(動力が必要)→鎖(常時実行)。
⑥execute at @a[tag=air] run fill ~-5~~-5 ~5~7~5 air [] replace fire ⑦tag @a remove air |