【JEコマンド講習会】第6回、ストラクチャーブロックを使ってみよう。 額縁と連動した仕掛け編【マインクラフト】

スポンサーリンク

ようこそ、ぷっこ村へ。ししゃもなんだぜ。

(・∀・)ノ

お前も建てといて君にしてやろう計画の続編です。今回はストラクチャーブロックを用いた仕掛けを作ってみましょう。すこーしずつコマンドのことが分かってきてると思うので、すこーしずつ解説を分かっている人向けにシフトしていきますよー。でも、わかんない所はドンドン聞くんだぜ!!

ストラクチャーブロックと額縁を連動させてみる

今回のお題

こんな感じで、額縁に特定のアイテムを入れた状態で感圧板を踏むと、構造物が出現するっていう仕掛けを作ってみましょう。構造物の保存ができてさえいれば、そんなに難しくはないよ。使うコマンドは以下。

  • setblock
  • data

複雑にしないなら、なんとこれだけで可能です。もし演出を加えたいなら、playsound や particle を使ったり、summon で花火を呼び出すってのも面白いかもですね。

コマンド自体の解説はいらないかなと思うので、早速実際に作っていきましょう。

使うコマンド

では、実際に作ってみましょう。まずは必要なストラクチャーを何でもいいので保存しておくところまで進めます。

マインクラフトJEコマンド講習会第6回、ストラクチャーブロックと額縁を連動させた仕掛けを作る1

今回はこのお豆腐を出現させてみます。

マインクラフトJEコマンド講習会第6回、ストラクチャーブロックと額縁を連動させた仕掛けを作る2

情報はこんな感じ。大事なのはストラクチャー名で「nattou_uzura_1」です。

マインクラフトJEコマンド講習会第6回、ストラクチャーブロックと額縁を連動させた仕掛けを作る3

次に、仕掛けに使う額縁を好きなところに貼ります。あえて光るのにしてみますね。そしたら、

data get entity @e[type=glow_item_frame,limit=1,sort=nearest] Pos
data get entity @e[type=glow_item_frame,limit=1,sort=nearest] Facing

上記のコマンドをそれぞれチャット欄から実行します。これは前にやったNBTの取得ですね。Posは光る額縁の貼られている座標を、Facingはどちらを向いているかをそれぞれ返してくれます。

Facing の値は 0 ~ 5 まであり、

  • 0 …… 下向き
  • 1 …… 上向き
  • 2 …… 北向き
  • 3 …… 南向き
  • 4 …… 西向き
  • 5 …… 東向き

となってます。最後に、今回使うコマブロは3つだけなので、いい感じにつないでおきましょう。もちろん埋めてもイイよ。

マインクラフトJEコマンド講習会第6回、ストラクチャーブロックと額縁を連動させた仕掛けを作る4

そしたら、それぞれ取得した値をもとに以下のコマンドをコマブロに打ち込みましょう。

execute if entity @e[type=glow_item_frame,nbt={Facing:2b,Pos:[-180.5d,5.5d,12.96875d],Item:{id:"minecraft:heart_of_the_sea"}}] run setblock -185 4 20 minecraft:structure_block[mode=load]{author:"SisyamoNeko",ignoreEntities:0b,integrity:1.0f,metadata:"",mirror:"NONE",mode:"LOAD",name:"minecraft:nattou_uzura_1",posX:7,posY:0,posZ:14,powered:0b,rotation:"CLOCKWISE_180",seed:0L,showair:0b,showboundingbox:1b,sizeX:15,sizeY:15,sizeZ:15}
execute if entity @e[type=glow_item_frame,nbt={Facing:2b,Pos:[-180.5d,5.5d,12.96875d],Item:{id:"minecraft:heart_of_the_sea"}}] run setblock -185 5 20 minecraft:redstone_block
execute as @e[type=glow_item_frame,nbt={Facing:2b,Pos:[-180.5d,5.5d,12.96875d],Item:{id:"minecraft:heart_of_the_sea"}}] run data merge entity @s {Item:{id:"air"}}

座標は適宜変えて下さい。セレクタについてですが、

@e[type=glow_item_frame,nbt={Facing:2b,Pos:[-180.5d,5.5d,12.96875d],Item:{id:”minecraft:heart_of_the_sea”}}]

となってますね。nbt の Item 内に任意のアイテムIDを入れることで、額縁に入れたアイテムを判定できます。今回は、海洋の心が入っているかを判定材料にしています。同じ書き方で好きなアイテムに変えることができるので、自由にやってみましょう。

準備ができたら、海洋の心を額縁に入れて、感圧板を踏んでみましょう。

マインクラフトJEコマンド講習会第6回、ストラクチャーブロックと額縁を連動させた仕掛けを作る5

ポチっとな

マインクラフトJEコマンド講習会第6回、ストラクチャーブロックと額縁を連動させた仕掛けを作る6

何ということでしょう!!額縁の中の海洋の心は消え、お豆腐が出現したではありませんか!!こんな感じで、額縁を鍵にした仕掛けを作ることができます。

額縁をトリガーにしていますが、アマスタを使ったり、モブを使ってみたりしても面白いでしょう。

キーアイテムを持った状態で特定の村人に話しかけると別の場所に構造物が出てくるとかね。アイディア次第で何でもできますよ。

おまけ、判定に使うと便利そうな様々なNBTについて

多分今回は時間が余りそうな気がするので、おまけを用意しておきまっす。セレクタで使った nbt はエンティティのNBTを基に、様々な判定が可能です。使いやすいのをいくつかピックアップしてみましょう。

  • CustomName …… エンティティ付いてる名前、アイテムにも使える
  • ItemName …… アイテムの内部的な名前
  • Tags …… tag コマンドで付けるのとは別のタグ。Tags:[aaa,bbb]のように付ける。
  • id …… アイテムID。F3+H で表示されるやつ
  • Name …… 実際に変わるアイテム名

大抵は ItemName と Tags でかなりの範囲をカバーできます。上記のNBTを備えたアイテムを呼び出すには、

give @s apple{CustomName:ringo,ItemName:appoo,Tags:[Apple,Ringo],display:{Name:'{"italic":false,"color":"red","text":"赤いリンゴ"}'}}
マインクラフトJEコマンド講習会第6回、ストラクチャーブロックと額縁を連動させた仕掛けを作る7

これで、色々なNBTを持ったリンゴを取得できます。

マインクラフトJEコマンド講習会第6回、ストラクチャーブロックと額縁を連動させた仕掛けを作る8

Name を持ったアイテムは額縁に入れると表示されます。色々使い道がありそうですね。

たぶん、いずれ1つの記事にした方がいいと思うので、必要になったら講習会で細かくやりましょう。

今回はこれくらいにしておきましょう。それではこの辺で、お帰りの際はお気をつけて~(・∀・)ノシ

コメント