Minecraft【アイディア】床からとげが出てくる。

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

ダンジョンのトラップに使える。

床からとげが出てくる。

床からとげが出てくるトラップを作ります。アクションゲームによくある仕掛け装置です。床から出てくるとげをうまく避けて進みます。とげは防具立てで代用。エンティティなので使いやすいです。応用すればとげの範囲を広げたり、段々と閉じる壁、コースが変わる迷路ダンジョンなども作れます。

 

◻︎装置の特徴
・タイマーを使ったループ装置。
・NOT回路で信号を切り替え。
・防具立てに当たるとダメージ。(当たり判定)

 

 

目次

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

2.とげトラップのしくみ
・防具立ての召喚。
・スコアボードの作成。

3.床からとげが出てくる
・歯車装置。
・とげ装置。

 

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

 

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

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

 

 

とげトラップのしくみ

防具立て「とげ」を床下に設置し、出したり入れたりします。3つの「とげabc」を「歯車」タイマーを使って順番に動かしています。プレイヤーが、地面から出ている「とげ」に触れるとダメージ。出し入れするタイミングやパターンは変更可能。効果音やパーティクルを追加すれば、さらにリアルになります。

 

防具立ての召喚。

防具立ての位置が重要になるため、align(アライン)を使い、3つの防具立てを整数位置に設置します。さらにコマンドを使って2ブロック下に移動します。※「とげ」は透明にする必要はありません。

作りたい場所に「とげ」を設置。

 

【Java版】

execute at @p align xz run summon armor_stand ~0.5 ~ ~0.5 {CustomName:'"とげa"',CustomNameVisible:1b}
execute at @p align xz run summon armor_stand ~0.5 ~ ~0.5 {CustomName:'"とげb"',CustomNameVisible:1b}
execute at @p align xz run summon armor_stand ~0.5 ~ ~0.5 {CustomName:'"とげc"',CustomNameVisible:1b}

【統合版】

execute at @p align xz run summon armor_stand とげa ~0.5~~0.5
execute at @p align xz run summon armor_stand とげb ~0.5~~0.5
execute at @p align xz run summon armor_stand とげc ~0.5~~0.5

◻︎「とげabc」を下へ移動

execute at @e[name="とげa"] run tp @e[name="とげa"] ~ ~-2 ~
execute at @e[name="とげb"] run tp @e[name="とげb"] ~ ~-2 ~
execute at @e[name="とげc"] run tp @e[name="とげc"] ~ ~-2 ~

 

スコアボードの作成。

タイマー用にスコアボード「count」を作成。装置が完成するまで、サイドバーに表示しておきます。

 

【Java版/統合版】

scoreboard objectives add count dummy
scoreboard objectives setdisplay sidebar count

 

床からとげが出てくる

タイマーを管理する「歯車装置」と、防具立て「とげ」を動かす「とげ装置」を作ります。今回はひとつひとつの「とげ」を別々に動かしていますが、範囲の引数を使えば同じ名前の防具立てを、まとめて動かす事も可能。ボタンを押すと装置が起動します。

 

歯車装置。

防具立て「歯車」がある時、回転式のクロック信号装置でタイマーを作動。4秒毎にスコアボードをリセット。「歯車」が無い時は、装置を停止します。※統合版はティックの遅延を使用。

①はボタンを設置。Java版/③は条件付き。統合版/②ティックの遅延:20。最初のティックで実行:オフ。③を削除。

 

【Java版】

①summon armor_stand ~ ~ ~ {CustomName:'"歯車"',CustomNameVisible:1b}
------
②execute at @e[name="歯車"] run tp @e[name="歯車"] ~ ~ ~ ~18 ~
③execute if entity @e[name="歯車",y_rotation=0] run scoreboard players add とげ count 1
------
④execute at @e[type=armor_stand] run effect give @p[distance=..1.1] instant_damage 1 1
⑤execute unless entity @e[name="歯車"] run scoreboard players reset とげ count
⑥execute if score とげ count matches 4 run scoreboard players reset とげ count

【統合版】①②④以外はJava版と同じ。※③は無し。

①summon armor_stand 歯車 ~~~
------
②execute at @e[name="歯車"] run scoreboard players add とげ count 1
------
④execute at @e[type=armor_stand] run effect @p[r=1.1] instant_damage 1 1

【トリガー】①
「歯車」を召喚。
------
【タイマー】②③
1秒毎に「count」のとげを追加。※統合版はティックの遅延。
------
【リセット&ダメージ】④⑤⑥
「とげ」に触れたプレイヤーにダメージ。「count」のとげをリセット。

 

とげ装置。

「とげabc」を動かす装置。信号がある時、防具立てを地面から半分出し、信号が無い時、床下に戻します。NOT回路(レッドストーントーチ)を使ってコマンドを簡略化。

②⑤⑧は、レッドストーントーチを設置。

 

【Java版/統合版】

①execute if score とげ count matches 1
②execute at @e[name="とげa"] run tp @e[name="とげa"] ~ ~1 ~
③execute at @e[name="とげa"] run tp @e[name="とげa"] ~ ~-1 ~
------
④execute if score とげ count matches 2
⑤execute at @e[name="とげb"] run tp @e[name="とげb"] ~ ~1 ~
⑥execute at @e[name="とげb"] run tp @e[name="とげb"] ~ ~-1 ~
------
⑦execute if score とげ count matches 3
⑧execute at @e[name="とげc"] run tp @e[name="とげc"] ~ ~1 ~
⑨execute at @e[name="とげc"] run tp @e[name="とげc"] ~ ~-1 ~

【とげ装置】①-⑨
「count」のとげの数値に合わせ、「とげabc」を移動。