※当記事はJava版の記事。統合版の記事は以下に掲載しております。
【マイクラ】自走装置(動く車)の作り方と仕組みを解説するマン【統合版】
どうも、私です。
皆様マイクラの自走装置をご存知でしょうか。
そう、何もしなくても自動で走る装置のことです。
私は存在自体は知っていたものの、どういう原理で動いているのかサッパリなので取り上げてきませんでした。
ところが今回、汗と涙を流しながら自走装置で遊んでいた結果、スーッと仕組みが頭に入って理解できたので解説致します。
あんまり解説してくれてるところ・・・ないよね(;ω;)
完成図
形は色んなバリエーションがあるので、雰囲気だけ掴んで頂ければ。
スライムブロック・ピストン・粘着ピストン・オブザーバー・レッドストーンブロックで構成されています。
これがガシャコンガシャコンと音を立てながら1マスずつ進んでいくのが自走回路。
いまんとこ何のこっちゃわからんでしょう!
構わず詳細な作り方を解説します。
スライムブロックの特性
まず最初に覚えておかなければいけないのが、スライムブロックの特性。
スライムブロックをピストンや粘着ピストンで押すと・・・
隣接しているブロックもろとも動かします。
隣接しているブロックが石やピストンなんかでも
同じですね。
しかし黒曜石は、
ひっついてきません。
これは黒曜石がピストンで押せないブロックだからで、逆に言えばピストンで押せるブロックなら原則的になんでもひっついてくる、というのがスライムブロックの重要な特性。
また、ピストンは12ブロックまでしか同時に押せないため、このように13ブロック以上ひっついていると押せないことも覚えておきましょう。
オブザーバーの特性
続いてオブザーバーの特性。
オブザーバーは目の前のブロックに変更が加わった場合、背後に信号を一瞬流すブロックです。
この状況で目の前にブロックが置かれると・・・
背後のピストンが一瞬作動します。
また、自身がピストンで押されて動いた場合も、
目の前のブロックが変わったと検知するのか(?)、信号を出力します。
オブザーバーを自走回路に用いる場合、この自身が動いた場合にも信号を出力するという特性が非常に重要になります。
自走回路の作り方
では本題の自走回路について。
自走回路は簡単な話、
向かい合わせに置いたピストンと粘着ピストンを交互に作動させて、
ピストンで押す
ピストンが戻る
粘着ピストンが伸びる
粘着ピストンで引き戻す
この動作を延々と繰り返すことで1マスずつ進んでいく回路となります。
んでは自走回路をパーツ分けして説明していきましょう。
粘着ピストン側
粘着ピストン側のパーツはこうなります。
ブロックの配置は必ずしもこうである必要はなく、オブザーバーの背後に粘着ピストンがあり、スライムブロックでひっついている形であれば何でもOK。
上段のスライムブロックがピストンで押されると、
全ブロックが移動し、オブザーバーの特性により信号が流れて粘着ピストンが一瞬作動します。
ピストン側
お次はピストン側。
ピストンとスライムブロックのみ。
粘着ピストンが作動すると、
スライムブロックにひっついてピストンが引き戻される、という位置関係が重要になります。
レッドストーンブロックの配置
ラストにレッドストーンブロックの配置。
この位置にレッドストーンブロックを配置すると自走開始。
原理としては、
レッドストーンブロックの信号を受け取ったピストンが作動して押し出す。
レッドストーンブロックがスライムブロックにひっついて押し出されピストンから離れたため、ピストンが元に戻る。
オブザーバーが移動を検知して信号を流し、背後の粘着ピストンが作動する。
オブザーバーの信号は一瞬なので、粘着ピストンはすぐスライムブロックとピストンを引き戻す。
再びピストンの隣にレッドストーンブロックが来たため、ピストンが作動して押し出す。
以降繰り返し。
実際にクリエイティブモードで作ってみると・・・見えてくるものがあるでしょう(^ω^)
粘着ピストン側とピストン側の条件さえ守れば、平面構成など色んなバリエーションもイケます。
ただしピストンの上にレッドストーンブロックが来る形は避けましょう。
ピストンは上のブロックに信号が来ると作動する特性があるようで、レッドストーンブロックが離れてピストンが元に戻るという挙動をしなくなり、正常に動作しません。
まとめ
いや~自走回路、難しいけど楽しいです。
以前はオブザーバーがなかったので若干バグっぽい仕様を利用していたようですが、オブザーバーの登場によってどうにか私でも理解できるようになりました。感謝。
これを利用して自動で動く家とか作ってみたいんですけど、ピストンが押せるブロックは12個までなのでかなり厳しいんですよねえ。
エレベーターくらいならなんとか実現できそうなので、今後記事にしていきたいと思っとります(^ω^)ノ