

こんにちは!
今回はオブザーバーを紹介します。
オブザーバーは1.11で追加されたブロックで、それまではBUD(Block Update Detector:ブロック更新検知)と呼ばれる、レッドストーンの更新伝播の仕組みを利用した特殊な回路を組まないとできなかった更新検知機能を、1つのブロックにまとめたようなものです。
それだけ聞くと便利なように感じますが、結構クセがあって厄介な回路素子(回路を構成する部品)です。
今日はそれをうまいこと乗り越えて理解を深めるためにカボチャ自動収穫装置を作っていきたいと思います。
関連記事:レッドストーン回路基礎を全て覚えよう!
オブザーバーの基本知識
まずはオブザーバーについて紹介します。
オブザーバーはざっくり言うと、目の前のブロックの変化を検知して信号を発する回路素子です。



オブザーバーには方向があります。
顔みたいに見える面があるので人間の頭みたいな例え方(目の前とかあっち向いてるとか)することがあるのでご了承ください。
先ほどもちょっと触れましたが、オブザーバーは目の前にある空間に何かしら変化が起こると信号を出力します。例えば以下のようなことに反応します。
- ブロックが設置、破壊される
- 作物が成長する、実をつける
- トリップワイヤー(糸)が踏まれて状態が変わる
- 回路素子が動作する
そしてこのようなことに反応したら後頭部から2ゲームティック(1レッドストーンティック)だけ信号を出力します。
色んな信号源がありますが、オブザーバーが発する信号は最短クラスの長さで、これがオブザーバーの大きな特徴になっています。
なお、Java版とBedrock(統合)版で検知できる対象が微妙に違います。Java版はブロックの「状態変化」(block state change)を検知し、Bedrock版は「ブロック更新」(block update)を検知します。基本的な使い方では大きな違いはありませんが、特殊な回路を組むときは挙動の差に注意してください。(参考:Minecraft Wiki – Observer)
オブザーバーは農作物の成長も検知してくれるので、自動収穫機に利用されることも多いです。とりあえず比較的簡単に作れるサトウキビ自動収穫装置を紹介します。本題ではないので雑ですがご了承ください。
こんな感じです。






サトウキビが3段目まで成長したら一番下のみ残して収穫します。
落ちたアイテムはお好みの方法で回収してください。おすすめはホッパー付きトロッコです。また、横につなげることもできるので、たくさん欲しい方は頑張ってこれをたくさん繋げましょう。




>> 自動カボチャ製造機の作り方を徹底解説!ジャックオランタン作り放題
厄介な問題を解決する
ではカボチャ自動収穫装置の試作品を作っていきたいと思います。一緒に作って試してみてください。
今回は同じものを横にたくさん並べて小さい範囲で高い効率を目指すので、1つのかぼちゃを収穫する装置は1列に収めるという想定で試作します。
有名なかぼちゃの自動収穫の方法として、ピストンでかぼちゃを押すという方法があります。カボチャはピストンで押されるとアイテム化する性質を利用した収穫法です。オレンジの羊毛の上にかぼちゃが実るとするとこんな感じでピストンを置き、かぼちゃを押すようにします。



かぼちゃが実ったのを見るためにオブザーバーを下向きに置きます。



かぼちゃが実ったら更新を検知して、信号を発し、それをピストンまで伝えています。



しかし、実はこれだと実際にカボチャが実った時に困ったことが起こります。
それはオブザーバーがピストンの動きも検知してしまうので、ピストンを動かした信号でピストンを動かすという無限ループに陥ってしまうことです。Minecraft Wikiでも同様の警告がされています。(参考:Tutorials/Pumpkin and melon farming)
サトウキビと違ってオブザーバーで見る場所と収穫する場所が同じなので、オブザーバーの前をピストンが通過するのは避けられません。オブザーバーを使ってカボチャ自動収穫装置的なものを作ろうとした人はこの壁にぶち当たった人がほとんどなのではないでしょうか。
これを解決するには、以下を行う必要があります。
- かぼちゃが実った時の信号はピストンに伝える
- それ以外の信号は伝えない
これらをうまいことクリアしてくれるのがこちらです。



リピーターAに対してリピーターBで横から信号を与えるとリピーターAをロックする機能を利用しています。(参考:Minecraft Wiki – Redstone Repeater)
Aは遅延1(クリック0回)、Bは遅延3(クリック2回)です。
Aに2回目の信号(ピストンの動きを感知した信号)が流れたときに、Bが1回目の信号(カボチャが実った時の信号)を使ってAをロックして信号を遮断するので、無限ループを解消しています。
信号の流れるタイミングが良ければ、リピーターの組み合わせは変えることができます。なので、以下のようにしてもループになりません。



カボチャ収穫装置をつくる
厄介な問題も解決したところで、装置の作り方を順を追って解説していきます。



まずこのようにホッパーの上に土を置きます。画像では15個置いていますが、15個以内であれば何個でもいいです。



土の上にかぼちゃの種を植えるために、水を張り、土を耕します。



種を植えた土ブロックの隣に、かぼちゃが実るための土ブロックを設置します。
その周りにかぼちゃが実ったのを検知する下向きのオブザーバー(上にレッドストーンを乗せる)、収穫のためのピストン、ピストン作動を担うレッドストーンを乗せたブロック(画像ではピンクの羊毛)を画像のように設置します。
豆知識:現在のバージョンでは、カボチャは土・粗い土・根付いた土・草ブロック・耕地・ポドゾル・菌糸・苔ブロック・泥・泥のマングローブの根の上に実ります。耕地でも実るので、より省スペースな設計も可能ですが、今回は画像通り普通の土ブロックで進めます。



それを1ユニットとして、画像のように15個並べます。1ユニットが1個のかぼちゃの検知と収穫を行っています。



端にループ防止機能付きのオブザーバーとピストン接続する部分を作ります。
以上で装置完成です。
カボチャが実ると勝手にピストンが動いて収穫されます。
アイテム化したカボチャは耕地(種を植えた場所)の上に落ち、その下にあるホッパーが回収してチェストに集約されます。
普通の土ブロックだと高さがちょうど1ブロックあるのでホッパーでは回収できませんが、耕地は高さが15/16ブロック(1ピクセルだけ低い)になっているので、ホッパーの回収範囲に入りアイテムを吸い込めるというわけです。
回収はホッパー付きトロッコを用いても可能です(ひと手間加える必要があります)。
また、ピストンは光を通す透過ブロックなので、ピストンの下に光源を置くと光の確保ができます。心配な方は周囲にハーフブロックなどを置いて光源を別途設置するとより確実です(カボチャの成長には光レベル9以上が必要)。
まとめ
今日はオブザーバーの使い方や特徴をメインにお話してきました。
今回のまとめとしてはこんな感じです。
- オブザーバーは目の前のブロックの変化を検知する
- 検知すると2ゲームティックだけ信号を発する
- 無限ループなど厄介な問題があるがリピーターロックで解決できる
オブザーバーは扱いが難しいブロックなので、使うときは十分考えて使ってください。
あとは紹介したカボチャ収穫装置も実際に作ってみて更に理解を深めていきましょう!

>> 自動カボチャ製造機の作り方を徹底解説!ジャックオランタン作り放題