レッドストーンコンパレーター(Redstone Comparator:比較器)はレッドストーン回路を組む上で主要な役割を担います。それほど難しくないのでぜひ覚えましょう。
※本サイトでは、ブロックやアイテム名はJava版の名称を用いています。統合版の方は以下の通り読み替えてください。
レッドストーントーチ ⇒ レッドストーンたいまつ
リピーター ⇒ 反復装置
オブザーバー ⇒ 観察者
レシピ
レッドストーンコンパレーターをクラフトするには以下の材料が必要です。
クラフトするには作業台が必要です。ネザークオーツが必要です。ネザーに行って取ってこないと作れません。
入力と出力
以下のように横と後ろからレッドストーン信号を受信し、前に送信します。
モード
コンパレーターには、「比較」と「減算」の2つのモードがあります。
コンパレーターを右クリックするとモードが切り替わります。点灯してるのが減算モードと覚えましょう。
比較モード
コンパレーターの比較モードでは、後ろと横の信号強度を以下の様に比較し出力を決めます。
後ろの信号強度 >= 横の信号強度 の場合
→ 後ろの信号強度で出力
後ろの信号強度 < 横の信号強度 の場合
→ 出力オフ
以下の点に注意してください。
・比較する信号強度が同じ場合でも信号は出力
・左右から入力がある場合は、強い方の信号強度を採用
(例)以下のように接続したら出力はどうなる?
3方向から入力があり、信号強度はそれぞれ、右は15、左は14、後ろは15です。右の方が強いので左は無視されます。右と後ろは同じなので出力される信号強度は15になります。
減算モード
コンパレーターの減算モードでは、後ろの信号強度から横の信号強度を差し引いた分を出力します。
後ろの信号強度 - 横の信号強度 = 出力強度
以下の点に注意してください。
・左右から入力がある場合は、強い方の信号強度を採用
(例)以下のように接続したら出力はどうなる?
3方向から入力があり、信号強度はそれぞれ、右は15、左は14、後ろは15です。右の方が強いので左は無視されます。後ろの信号強度から右の信号強度を差し引くと、15 – 15 = 0 となるので出力されません。
ブロック状態の測定
チェストやかまど、ホッパーなどのアイテムを格納できるブロックに対して、入っているアイテムの量に応じた信号強度が出力されます。
満杯なら15、空は0です。正確に出力を計算するとなれば、スタック数とスロット数が影響するので案外ややこしいです。普通のブロックやアイテムは64個までスタックできますが、ボートやトロッコなどはスタック出来ませんよね。エンダーパールやガラス瓶は16個までスタックできます。どれくらい満たされているかを正確に計算するのは結構ややこしいです。
(例) 以下の通りホッパーにアイテムが入っていたら出力はどうなる?
ホッパーには5個スロットがあります。レッドスト―ン信号の最大出力は15です。それを5つのスロットで分け合うので、1スロットあたりの出力は3です。ボートはスタックできませんのでボート2艘分の出力は6です。ガラス瓶は1スロットに16個までスタックできるので半分満たされている事になります。1スロット当たりのレッドストーン強度は3ですが、2/3満たされるまでは出力1になります。土ブロックは最大64個スタックできるので32/64でスロットを半分満たしている事にあります。これも出力は1です。したがって合計出力は8になります。
ややこしい感じですが、結局のところ「どれくらい満たされているか」でしかありません。入っていたら動かすとか、半分くらいで動力出力したいとか、おおよそでいい場合が多いので計算する機会はそんなにないでしょう…などと書いておきながら、さらにややこしい話をします。
かまど(溶鉱炉、燻製機を含む)は、燃やすものが満タンになっていても信号強度は5です。かまどは燃料を入れるスロットがありますね。そして、焼き終わったものが格納されるスロットもある訳で、合計3スロットあります。もし、かまどから最大の信号強度を得たいのであれば、燃料も焼き終わったアイテムも最大数、勿論これから焼こうとしているものも最大数入っていて、にっちもさっちもいかないようなぱんぱんの状態にしなければなりません。
これは醸造台も同じです。ブレイズパウダーも醸造する材料も満タンでなければ最大強度15のレッドストーン信号は出ません。
測定しながら比較・減算モード
当然の事ながら、このブロック状態の測定は、比較、減算モードと併用できます。後ろから入力されるレッドストーン信号強度が測定された値になるだけです。
(例)先ほどの例の通りアイテムが入っているホッパーを減算モードのコンパレーターで読み取り、横から強度7の信号を送るとどうなるでしょうか?
ホッパーの信号強度は8でしたので、横から7の信号が来たら出力される信号強度は1になります。
遅延
コンパレーターにも1RSティックの遅延があります。これは後ろだけでなく左右の入力も同様です。Java版では、レッドストーントーチと同様に1RSティックのパルス信号を無視します。1RSティックのオンオフ信号が連続するクロック回路でも同様です。統合版では1RSティックの信号でも、コンパレーター、レッドストーントーチ共に反応します。
オブザーバーは監視ブロックの変化を感知して、レッドストーン信号パルスを出力しますが、そのパルス幅は最小の1RSティックです。オブザーバーの信号がレッドストーントーチやコンパレーターを経由すると途切れてしまう、というのはJava版ではよくある失敗なので注意してください。これを回避するにはリピーターのパルス幅を増幅する機能を使います。詳しくはレッドストーンリピーターのパルス幅を長くする機能を参照してください。
また、これはwikiにも書かれていない事ですが、後ろと横の入力が1RSティックだけずれた場合も反応しません。そのためコンパレーターを用いたパルス回路では1RSティックのパルスを作る事はできません。詳しくはパルス回路(コンパレーター式)を参照してください。
特殊な回路のつなぎ方
リピーターと同様に特殊な回路のつなぎ方ができます。
オン状態のブロックからレッドストーン信号を取り出せる
これはリピーターも同じです。コンパレーターは左右から比較用の信号を入力できますが、取り出せるのは後ろのブロックのみです。左右からの入力は回路をつなげる必要があります。
コンパレーターがオンにしたブロックからもレッドストーン信号を取り出せる
これもリピーターと同様の機能です。また感圧版やレバー、ボタンといった入力装置にもこの機能があります。オンにしたブロックの下からも取り出せます(レッドストーンワイヤ―が光る)。
上記を踏まえると、以下のようなつなぎ方でも繋がります。あまり意味はありませんが。