橋作る君を作ってみた!
今回は、アーマースタンドを使って自動で橋を作る「橋作る君」を紹介します。
この仕組みでは、ダイヤのヘルメットをかぶったアーマースタンドが前に進みながら、足元が空気だった場合に橋のストラクチャーを読み込みます。
橋が地面に到着したら、アーマースタンドが自動で消えるようにもしています。
動画でも紹介しています。
橋の形をセーブする方法
まず、ワールド内に橋として使いたい形を作ります。
次に、その橋の中心あたりに、銅のヘルメットをかぶったアーマースタンドを置きます。
そして、以下のコマンドを実行すると、アーマースタンドの向きを基準にして、橋の形が「bridge」という名前で保存されます。
execute as @e[type=armor_stand,hasitem={item=copper_helmet,location=slot.armor.head}] at @s run structure save bridge ^-2^-1^ ^2^1^ false
このコマンドでは、銅のヘルメットをかぶったアーマースタンドの周りにある範囲を保存しています。
橋の幅や高さを変えたい場合は、^-2^-1^ と ^2^1^ の数字を調整してください。
アーマースタンドを前に進ませる
次に、ダイヤのヘルメットをかぶったアーマースタンドを前に進ませます。
execute as @e[type=armor_stand,hasitem={item=diamond_helmet,location=slot.armor.head}] at @s run tp @s ^^^1
このコマンドでは、アーマースタンドが向いている方向に1ブロックずつ進みます。
足元が空気なら橋を出す
アーマースタンドの足元が空気だった場合、保存しておいた橋のストラクチャーを読み込みます。
execute as @e[type=armor_stand,hasitem={item=diamond_helmet,location=slot.armor.head}] at @s if block ~~-1~ air run structure load bridge ^-2^-1^
これで、アーマースタンドが進むたびに、足元が空いていれば橋が自動で作られます。
地面に着いたら停止する
最後に、足元が草ブロックだった場合はアーマースタンドを消します。
execute as @e[type=armor_stand,hasitem={item=diamond_helmet,location=slot.armor.head}] at @s if block ~~-1~ grass_block run kill
このコマンドを使うことで、橋が地面に到着したときに自動で停止するようになります。
使い方の流れ
まず、銅のヘルメットをかぶったアーマースタンドで橋の形を保存します。
そのあと、ダイヤのヘルメットをかぶったアーマースタンドを置いて、橋を伸ばしたい方向に向けます。
前進コマンドとストラクチャー読み込みコマンドをリピート実行にすると、自動でどんどん橋が伸びていきます。
地面に着いたら、草ブロック判定のコマンドでアーマースタンドが消えるので、橋作りが自動で止まります。
アスレチックや自動建築ギミックを作りたいときに、かなり便利な仕組みです。