話題はマイクラですが、完全にレッドストーン回路の話。
ブログ関連のアクセス数を見ると、どうやらレッドストーン回路関係で見られているらしいので…
最近、ちょっとタイマー回路には詳しくならないとなぁって思っています。
まぁ、タイマー回路に限らず、基礎的な回路のヴァリエーションストックを増やしておきたいとは常に思っています。
で、今回の話題になるんですが、相互ホッパーを利用したタイマー回路についてちょっと考え始めましたよ、という記事です。あくまで考え始めた程度なので、あんまり突っ込んだことは書きません(あくまで初心者スタンス)。
まず、「相互ホッパー」という言葉なんですが、向かい合ったホッパーのことを言います。
もちろん、このままでは、2つのホッパーの中を、ただアイテムが行ったり来たりしているだけなので役に立ちません。
どちらかのホッパーにロックをかけ、コンパレーターでホッパーの中身を検知する必要があります。
この組み方には、さまざまな用途があります。
代表的なのは、やっぱりこれですかね。
一定周期でON/OFFを繰り返す、長期クロック回路(であってる?)。
この回路は、いろんなところで使えますね。
Realm でマルチプレイをしていますが、そのワールドの私の開発区には、この回路を利用している場所が多いです。例えば、ちょっと発展させた形になっていますが、トラップタワーの水流制御の装置。
これは、カボチャとスイカ収穫のトロッコですね。一定間隔でトロッコが動くようにしています。トロッコを走らせっぱなしにすると拠点がうるさくなってしまうので、この回路を挟んで走らせるタイミングをコントロールしています。
こちらは、先日の記事「小麦自動収穫」で組んだトロッコの制御回路。
※※※
この相互ホッパーを利用した仕組みは、けっこう面白くてですね、他にも色々ヴァリエーションが考えられるんですよね。
例えば、これ。
レバーをOFFにすると、レッドストーンランプが遅れて消えるような回路。
装置のある部分だけの、ONまたはOFFにするタイミングをずらしたりするのに使えます。
これは、ボタンを押すと、一定時間ON状態をキープしたあと、自動でオフになるような回路。
上から見た様子。
これも実際にワールドに組み込んでる回路です。
砂無限装置。
砂無限装置は、Java 版のいわばバグ技ですが、場合によってはワールドを壊しかねない危険があります。マルチプレイ環境だと、必ずしも皆が皆仕様を理解した上で使うとは限らないので、起動するときには、一定時間で強制的にOFFになるようにしています。
しかし、この回路には欠点があるんですよね。
それは、オンからオフに切り替わったときに、ホッパーの中身が元の位置に戻るまでの時間、このタイマーは使えないということなんですよ。
ちょっと詳しく説明すると…
いったんボタンを押して装置を起動すると、ホッパーの中のアイテムは、下のSSの矢印の方向に流れていきます(SSでは装置はレッドストーンランプだと思ってください)。
右側のホッパーが空になったときに、装置がOFFになるのですが…
OFFになってからしばらくは…
上のSSのように、右側のホッパーにアイテムが戻っていく時間が必要となるんです。
その時間の途中に、ボタンを押すと、より短い時間しか計れないタイマーになります。
この問題を、何とかできないかなーって最近考えています。
とりあえずの暫定試作…
回路は一回り以上大きくなりましたが、アイテムの戻る時間のあいだには、タイマー回路に動力が流れないように組みました。
うーん…奥が深い。まだまだ考えることはありそうだ。