top of page
Mikage's Channel
美翳のサイト
2017/8/13 作成 最終更新日:2022/04/02
コマンド内容
・近づくと自動で開き、離れると閉まる、
上開き型の自動ドアの回路紹介。
回路はこんな感じ。
解説の見方
XXX:Y:Zという構造。
■XXXはコマンドブロックの種類
・ICB :インパルスコマンドブロック
・CCB:チェインコマンドブロック
・RCB:リピートコマンドブロック
■Yは条件の状態
・N:条件なし
・C:条件付き
■Zは実行の状態
・N:動力が必要
・P:常時実行
この方法は、
・「回路が小さめ」
・「コマンドが簡単」
・「ドアとなるブロック材の変更が楽」
・「ドア付近に作らなくても機能するため建築の邪魔にならない」
というのが特徴です。
欠点は、「縦開きなので、似合わないケースの方が多い」ことです。
しかけのざっくりとした説明
ドアとなる位置に、アーマースタンドを召喚。
アーマースタンドに近づいたらアーマースタンドの下、上の順に空気にする。
アーマースタンドから離れたらアーマースタンドの上、下の順に壁ブロックにする。
回路の説明
※Dというエンティティ=ドアとなる位置に召喚したアーマースタンド
(doorのDを取っていますが変えても大丈夫です)
【Dというエンティティの3マス以内にいるプレイヤーにdoorタグをつける。】
1.RCBNN:execute @e[name=D] ~ ~ ~ scoreboard players tag @p[r=3] add door
コンパレータと粘着ピストンを組み合わせることで、
「doorタグがつけられたとき、5,6」が実行され、
そうでないときに2,3,4が実行される。
2,3 = 扉を閉める処理
5,6 = 扉を開ける処理
4 = doorタグの削除
【doorタグがついたプレイヤーの3以上離れたドアの上部分にガラスを設置】
2.ICBNN:execute @p[tag=door] ~ ~ ~ execute @e[name=D,rm=3] ~ ~ ~ fill ~ ~1 ~ ~ ~1 ~ glass 0
【doorタグがついたプレイヤーの3以上離れたドアの下部分にガラスを設置】
3.ICBNN:execute @p[tag=door] ~ ~ ~ execute @e[name=D,rm=3] ~ ~ ~ fill ~ ~ ~ ~ ~ ~ glass 0
【ドアより3マス以上はなれたプレイヤーからdoorタグを削除】
4.CCBNP:execute @e[name=D] ~ ~ ~ scoreboard players tag @p[rm=3] remove door
【4マス以内のドアの、下部分を空気にする】
5.ICBNN:execute @p[tag=door] ~ ~ ~ execute @e[name=D,r=4] ~ ~ ~ fill ~ ~ ~ ~ ~ ~ air 0
【4マス以内のドアの、上部分を空気にする】
6.ICBNN:execute @p[tag=door] ~ ~ ~ execute @e[name=D,r=4] ~ ~ ~ fill ~ ~1 ~ ~ ~1 ~ air 0
bottom of page