【マイクラ】コピペで簡単!センサー型自動ドアを作る方法【Java】

コマンド

コマンドで何かを作る時に必要になりそうなセンサー型自動ドア。
隠し扉的に使うこともできるので何かギミックを作る時とかに使えそう。

コマンドはまだまだ初心者なので間違ってる部分とかがあるかもしれないです。
その時はすみません。

動作確認はJava Edition 1.17.1、1.18+です。

動画で見たい方用

チャンネル登録でBBを応援してあげるって方はこちらからどぞ

センサー型自動ドアとは

少し離れた場所にいるとただの壁ですが
開く前の自動ドア

近づくと壁がなくなります。
開いた自動ドア

離れるとまた壁が現れます。
再び閉じた自動ドア

白い枠内に入れば自動で壁がなくなる設定です。
開く場所

センサー型自動ドアの作り方

コマンドブロックを設置場所

ドアを作りたい場所の下にコマンドブロックを設置します。
コマンドブロックの場所

コマンドブロックを入手するコマンド

/give @s minecraft:command_block

記述するコマンド

上と下で異なるコマンドを記述します。

上側のコマンドブロック

execute unless entity @a[distance=..6] run fill ~ ~4 ~-1 ~ ~2 ~1 stone

下側のコマンドブロック

execute if entity @a[distance=..6] run fill ~ ~5 ~-1 ~ ~3 ~1 air

【~ ~ ~ ~ ~ ~】の部分について

この部分は作りたい方角によって異なります。

北や南と並行する形上側は【~-1 ~4 ~ ~1 ~2 ~】
下側は【~-1 ~5 ~ ~1 ~3 ~】
西や東と並行する形上側は【~ ~4 ~-1 ~ ~2 ~1】
下側は【~ ~5 ~-1 ~ ~3 ~1】

北や南の時はX軸方向に壁を広げて、西や東の時はZ軸方向に壁の範囲を広げる。

コマンドブロックの設定

コマンドブロックの設定
コマンドブロックは【リピート、無条件、常時実行】に設定します。

コマンド解説

大まかな解説なので微妙に違うかもしれませんが、こんな感じぐらいのニュアンスで。

上コマンド解説

execute実行する
unless~でなければ
entity @a[distance=..6]6ブロック以内にプレイヤー
run実行する
fill ~ ~4 ~-1 ~ ~2 ~1~ ~ ~から~ ~ ~の座標を満たす(~はコマンドブロックからの相対座標です)
stone石ブロック

=6ブロック以内にプレイヤーが居ない時、指定座標を石ブロックで満たす

下コマンド解説

execute実行する
if~な時
entity @a[distance=..6]6ブロック以内にプレイヤー
run実行する
fill ~ ~4 ~-1 ~ ~2 ~1~ ~ ~から~ ~ ~の座標を満たす(~はコマンドブロックからの相対座標です)
air空気

=6ブロック以内にプレイヤーが居る時、指定座標を空気で満たす

いろんな自動ドアを作ってみる

ドアが開く距離を変更する

白い枠外からでも開くように変更してみました。
遠くからでも開く自動ドア

上下両方のコマンドブロックの【@a[distance=..6]】の部分を変更します。
開く距離を狭くしたい場合は数字を小さく距離を広げたい場合は数字を大きくしてください。

開くブロックの大きさを変更する

横には広げず、縦の高さも2マスにしてみました。
開く部分を狭くした自動ドア
狭くすることで隠し扉感が出ます。

上側のコマンドブロック

execute unless entity @a[distance=..6] run fill ~ ~3 ~ ~ ~2 ~ stone

下側のコマンドブロック

execute if entity @a[distance=..6] run fill ~ ~4 ~ ~ ~3 ~ air

上側コマンドの【stone】を石レンガの【stone_bricks】に変更するとより隠し扉感が出ます。

ブロックを変更する

ブロックを変更するとこんな感じの扉もできます。
ブロックを変更した自動ドア
これは石レンガの塀だけが開閉するようになってます。

上側のコマンドブロック

execute unless entity @a[distance=..6] run fill ~ ~5 ~-2 ~ ~2 ~2 minecraft:stone_brick_wall

下側のコマンドブロック

execute if entity @a[distance=..6] run fill ~ ~6 ~-2 ~ ~3 ~2 air

石レンガの塀をフェンスとかに変更すれば門扉感がでるはず!

その他必要そうな情報

コマンドログの消し方

扉を開閉する度にコマンドの実行ログが流れます。
邪魔なログ
このログを消したい人用のコマンド。

コマンドログを消すコマンド

/gamerule commandBlockOutput false

最後の【false】【true】にするとログが再表示されます。

BB icon

コマンドは勉強中なので、そのうちもっと詳しく書きたい。そのうち…

タイトルとURLをコピーしました