Minecraft【武器・防具・道具】ダイナミックライト。by コマンド

2025-01-12

Java版1.21.4-、統合版v1.21.51-で動作確認。

松明をオフハンドに持って、移動しながら闇を照らす。

ダイナミックライト。by コマンド

モッドやアドオンでおなじみの、ダイナミックライトをコマンドで再現。真夜中の散歩や洞窟探索で、暗闇を照らす事が出来ます。光源ブロックの方がリアリティがありますが、明るさの調節やオフハンドに持つアイテムも、自由に変更可能です。統合版は仕様により、オフハンドで松明を設置出来ませんが、スニーク検知を使えば代用出来ると思います。

 

◻︎装置の特徴
・オフハンドの検知。
・プレイヤーの周りを照らす。
【統合版】
・オフハンドに松明が持てる。

 

※「as」や「minecraft:」などのコマンドは簡略化しています。一部のコマンド、マルチプレイやサーバーでは必要な場合があります。

 

コマンドブロックの使い方。

装置はシングルプレイ用です。マルチプレイで遊ぶには、ターゲットセレクタにタグや引数を追加してください。詳しいコマンドブロックの使い方は、関連記事を確認ください。

 

 

【Java版】 ダイナミックライト

Java版では、オフハンドに持った松明を設置する事が出来ます。また、プレイヤーが装置から離れていても動作します。

②③は動力が必要。②にレッドストーントーチを設置。矢印はホッパーの方向。

装置のしくみ。

装置はホッパー式のクロック回路を使い、ライトブロックの設置と消去を繰り返しています。簡略回路なので、ライトブロックの設置が多めになっています。負荷が気になる場合は、タイマーやスケジュール(ファンクション)を使ったクロック回路で調整してください。

【Java版】

①execute if entity @p[nbt={Inventory:[{id:"minecraft:torch",Slot:-106b}]}]
②execute at @p run setblock ~ ~ ~ light[level=15]
③execute at @p run fill ~-15 ~-3 ~-15 ~15 ~7 ~15 air replace light[level=15]

①オフハンドに松明を持った時、信号を出す。
②プレイヤーの位置に、明るさ15のライトブロックを設置。
③プレイヤーの周辺のライトブロックを消去。

 

【統合版】 ダイナミックライト

統合版では、オフハンドに持った松明を設置する事が出来ません。また、初期設定ではプレイヤーが装置から離れると、コマンドブロックも停止します。常時使用するには「tickingarea」を設定するか、ビヘイビアーパックが必要です。

②⑤は条件付き。④は動力が必要。ティックの遅延:2。⑤はティックの遅延:12。

装置のしくみ。

松明を捨てるとオフハンドに松明を持ち、装置が起動。ティックの遅延を使ったクロック回路で、ライトブロックの設置と消去を繰り返しています。動作が不安定な場合は、④⑤のティックの遅延を調整してください。

【統合版】

①execute at @e[name=松明] run replaceitem entity @p[r=3] slot.weapon.offhand 0 keep torch 1
②kill @e[name=松明]
------
③execute if entity @a[hasitem={item=torch,location=slot.weapon.offhand,quantity=1}]
④execute at @p run setblock ~~~ light_block_10
⑤execute at @p run fill ~-5~~-5 ~5~7~5 air [] replace light_block_10

①プレイヤー周辺に松明が落ちている時、オフハンドに松明を一個設置。
②落ちている松明を削除。
------
③オフハンドに松明を一個持っている時、信号を出す。
④プレイヤーの位置に、明るさ10のライトブロックを設置。
⑤プレイヤーの周辺のライトブロックを消去。