レッドストーン回路(Redstone Circuit)は装置に動力を送ったり装置を制御するために作ることのできる構造物である。
回路はプレイヤーからの入力に応じて動作したり、ループや、Mobの移動・アイテムドロップ・植物の成長などのプレイヤー以外の入力に応じた自動制御で動作するように設計することができる。レッドストーン回路で制御できる装置は、自動ドアや照明スイッチのような単純な機器から、エレベーターや自動農場・コンピューターのような複雑な機器まで及ぶ。レッドストーン回路の作り方・使い方や制御できる装置を理解することで、Minecraftでできる事の範囲を大きく広げてくれるだろう。
レッドストーンの構造物の項目は膨大である — この記事では多種多様な建造可能なレッドストーン回路の概要のみを扱う。各レッドストーン回路の詳細や例は、各項目の記事を見るように。
レッドストーンの基礎
レッドストーン回路を組み立てる使われるブロックや、組み立てられる回路の種類を説明する前に、いくつかの基礎的な概念を理解しておく必要がある。
レッドストーンの構成部品
- 詳細は「レッドストーンの構成部品」を参照
レッドストーンの構成部品には、それぞれのブロックに回路における用途がある。
- 動力部品は回路の全部か一部に動力を供給する。 — 例えば、レッドストーントーチ・ボタン・レバー・レッドストーンブロックなど
- 伝達部品は回路のある部分から別の部分に動力を受け渡す。 — 例えば、レッドストーンダスト、レッドストーンリピーター、レッドストーンコンパレーター。
- 機械部品は環境に影響を与える。(動く・光を発するなど) — 例えば、ピストン・レッドストーンランプ・ディスペンサーなど。
動力
レッドストーンの構成部品やブロックは、動力を送られた状態と動力を送られていない状態がある。"動力を送られたブロック"を帯電していると考えよう(ただし触れても大丈夫)。動力が送られた状態が見た目に表れるブロックもあれば(例えば、レッドストーンダストは光る・ピストンは伸びるなど)、他のレッドストーンの構成部品へ影響を与える以外に動力が送られた状態が見た目に表れないブロックもある。
不透過ブロック(例えば、石・砂岩・土・草ブロックなど)は動力部品やリピーターやコンパレーターによって動力が送られる。これは強い動力が送られた状態と呼ばれている(動力レベルとは別の概念)。強い動力が送られたブロックは隣接したレッドストーンダスト(上面にあるものや下側にあるものも含む)に動力を送ることができる。
レッドストーンダスト(や他の構成部品)からのみ動力を送られた不透過ブロックは弱い動力が送られた状態と呼ばれ、別のレッドストーンダストには動力を送らない(ただし、他の構成部品や装置には動力を送る)。
別の不透過ブロックに直接動力を送ることができる不透過ブロックはなく、その場合間にはレッドストーンダストか装置がなければならない。透過ブロックはどんなものからも動力を送られることはない。"強い"動力や"弱い"動力は不透過ブロックにのみ適用され、レッドストーンダストや他のレッドストーンの構成部品には適用されない。
動力を送られたブロック(強弱にかかわらず)は隣接したレッドストーンの構成部品に作用する。異なるレッドストーンの構成部品は動力を送られたブロックに対して異なる反応をする - 詳細はそれぞれの個別の説明を見ること。
動力レベル
動力レベル(別名"信号強度")は0~15まで変化する。基本的に動力部品はレベル15の動力を供給するが、一部に供給する動力が変わるものがある。
レッドストーンダストは隣接したレッドストーンダストに動力を伝達するが、動力の強さはレッドストーンダストを1ブロック通過するごとに1下がる。そのためレッドストーンダストは(レッドストーンコンパレーターで)保持されるかリピーターで再増幅されない限り、最大15ブロックまでしか動力を伝えることはできない。動力レベルはダストからダストへの伝達でのみ減衰し、ダストから装置やブロックへの伝達では減衰しない。
また、動力レベルは比較モードか減算モードのレッドストーンコンパレーターで直接調整できる。
レッドストーンの更新
レッドストーン回路のどこかで変化が起きた時、周囲のブロックに変化をもたらす。これはレッドストーンの更新と呼ばれる("Redstone Update"として知られるMinecraft 1.5と混同しないように)。これらの変化はさらにそれぞれ周囲のブロックに別の変化をもたらす。この更新は、ロードされたチャンク内のレッドストーン回路の法則にそって伝搬される(レッドストーンの更新はロードされていないチャンクには伝搬しない)。この伝播は通常非常に素早い。
あるレッドストーンの更新は、単純に隣接した他のレッドストーンの構成部品に伝搬し、それに応じてその構成部品の状態を変更する機会を与える。しかし全ての更新が必ずしも変化を要求するわけではない。例えば、あるレッドストーントーチがONになり、下側にあるレッドストーンダストを更新した時、そのレッドストーンダストには既に他のものから動力を送られていることがある。その場合はそのレッドストーンダストに変化はなく、更新の伝搬はそこで止まる。
レッドストーンの構成部品は、任意のすぐ隣の設置・移動・破壊されたブロックから更新されうる。
固体ブロック自体は動力が送られているか否かの情報は持たない。レッドストーンの更新は、単純にレッドストーンの構成部品の周りにある、周囲の部品を更新することができる固体ブロックのみ更新する(例えば感圧板は隣と、感圧板が設置されたブロックの隣を更新する。ブロックの下側の空間にレッドストーンダストがあった場合も含む)。
下記のレッドストーンの構成部品は上下を含む最大2ブロックのマンハッタン距離のレッドストーンの更新を発生させる:
下記のレッドストーンの構成部品は上下を含むすぐ隣にレッドストーンの更新を発生させ、加えて設置されたブロックのすぐ隣にも更新を発生させる:
下記のレッドストーンの構成部品は状態が変わった時、上下を含むすぐ隣のみを更新する:
- アクティベーターレール (平らなもののみ)
- 日照センサー
- トリップワイヤー (有効なトリップワイヤー回路ではトリップワイヤーフックも活性化する)
- ピストン と粘着ピストン (伸びている状態でピストンの土台とピストンヘッドの両方から)
- パワードレール (平らなもののみ)
- レール (平らなもののみ)
下記のレッドストーンの構成部品は状態が変わってもブロックやレッドストーンの更新を発生させない(ただし全てのブロックは動かされたり壊された時、すぐ隣にブロックの更新を発生させる)
レッドストーンティック(Ticks)
レッドストーンティックはMinecraftがレッドストーンの構成部品を更新するタイミングのことである。レッドストーンの更新は1秒間に10回起こる、つまりレッドストーンティックは0.1秒毎に起こる。レッドストーントーチ・レッドストーンリピーター・機械部品は状態を変えるのに1以上のティックを必要とする。そのため信号が複雑な回路を伝達するには数ティックかかることがある。
レッドストーンティックは"ゲームティック"(秒間20回)や"ブロックティック"(ゲームティック毎に起こるブロックの更新)とは異なる。レッドストーン回路について議論する時は、特別な表記がない限り"ティック"は常にレッドストーンティックのことを指す。
信号とパルス
安定した出力を持つ回路は、動力が送られた場合ONの信号("high"・"1"とも)、動力が送られていない場合OFFの信号("low"・"0"とも)を生み出すと呼ばれる。信号がOFFからONに変わりその後戻った時、パルス(またはONパルス)と呼ばれる。一方でその逆はOFFパルスと呼ばれる。ONパルスは非常によく見られ、形式張らない議論では、"信号"とはしばしばONパルスのことを指す。
非常に短いパルス(1か2ティック)は状態の変更と更新の順番に違いがあるため、いくつかの構成部品や回路で問題を起こすことがある。例えば、レッドストーントーチやコンパレーターはリピーターで作られた1ティックのパルスに反応しない
活性化
機械部品(ピストン・ドア・レッドストーンランプ他)は活性化させることができ、それによってその機械部品を動作させられる(ブロックを押す・ドアを開く・明かりがつくなど)。
全ての機械部品は以下のものによって活性化させられる:
- 上下を含む隣接した動力部品
- 例外: レッドストーントーチはトーチ自体が設置された機械部品を活性化させない。またピストンはピストンヘッドの正面にある動力部品によって活性化させられない。
- 上下を含む隣接した動力を送られた不透過ブロック(強く動力を送られたブロック、弱く動力を送られたブロックどちらからも)
- 機械部品の方向を向いている、動力を送られたレッドストーンコンパレーターかレッドストーンリピーター
- 機械部品の方向を指すように設定された、動力を送られたレッドストーンダスト(レッドストーンダストを上面に設置できる機械部品は、上面に設置されたレッドストーンダストも含む、下側は含まない)、または隣接した"方向性のない"レッドストーンダスト。機械部品は隣接した自分の方向を向いていないレッドストーンダストからは活性化させられない。
初めに活性化した時に一つの動作しかせず、一度活性化をやめてもう一度活性化するまで何もしない機械部品がある(コマンドブロックはコマンドを実行する・ドロッパーとディスペンサーはアイテムを排出する・音符ブロックは音を鳴らす)一方で、活性化した時状態を変え、活性化を終えるまで状態を戻さない機械部品もある(レッドストーンランプは光を灯したままになる・ドア/フェンスゲート/トラップドアは開きっぱなしになる・ホッパーは機能を停止したままになる・ピストンは伸びたままになるなど)。
いくつかの機械部品には追加のの活性化方法がある:
- コマンドブロックはディスペンサーによって設置された時、活性化される。
- ドア上下2ブロックの空間を占有し、どちらの空間が活性化された時ももう片方の空間も同時に活性化される。
- ディスペンサー・ドロッパー・ピストンは、上記のどれかの方法で部品の上の空間が活性化した場合でも活性化する。上の空間には機械部品があってもなくても(空気でも透過ブロックでも)よい。この法則はしばしば簡略化されて、斜め上か2ブロック上から動力を送られると語られるが、このような他の活性化方法も存在する(右側の図を参照)。この活性化方法は"見かけ上の接続"(これらの機械部品の活性化はいくらか上の空間と繋がっている)として知られている。別名"接続"・"ピストン接続"(ピストンに起因するため)・曖昧に"間接的な動力"とも呼ばれる。この接続でややこしくなる事もある。レッドストーンの更新は通常2ブロックしか伝達しないが、一方で見かけ上の接続は(マンハッタン距離で)3ブロック離れた場所から動力を伝えられる。そのためこれらの部品は活性化する時に更新されない(このねじれはBUDスイッチを作るのに使われる)。見かけ上の接続は時には対処するのが難しくバグのように思うかもしれないが、これは公式に"意図された通りの動作"で、これにより作りやすくなっている種類の建築物がある(例:ピストンの壁)。
動力が送られた状態と活性化した状態
不透過な機械部品(コマンドブロック・ディスペンサー・ドロッパー・音符ブロック・レッドストーンランプ)にとって、活性化した状態と動力が送られた状態の区別することは重要だ(そしてこれが機械部品が動力が送られた状態ではなく、活性化された状態と言い表されるかの理由である)。
- 機械部品は隣接したレッドストーンダスト・リピーター・コンパレーターに動力を送ることが出来る場合、動力を送られた状態である。
- 機械部品は何らかの動作をする(もしくは何らかの動作をして再び活性化するのを待っている)場合、活性化した状態である。
どの方法で機械部品に動力を送っても(下側のレッドストーントーチからなど)同時に機械部品は活性化するが、いくつかの活性化方法(機械部品の横側または上側にレッドストーントーチを設置するなど)では動力は送られない。
不透過でない機械部品(ドア・フェンスゲート・ホッパー・ピストン・レール・トラップドア)は活性化できる(動作させることはできる)が、動力が送られることはない(隣接したレッドストーンダストに動力を送ることができないなどという意味では)。
回路と装置
これらの言葉はレッドストーンの構成部品を組み込んだ建造物を説明するときに区別せずに使われることもあるが、この2つには有益な区別をつけることができる:
- 回路は信号の操作を行う(生成・修正・組み合わせなど)
- 装置は環境を操作する(ブロックを動かす・ドアを開く・光源レベルを変える・音を出すなど)
全ての装置は必ずレッドストーンの構成部品や回路を組み込んでいるが、回路自体は必ずしも環境に影響を与えない(動力状態が変わるとレッドストーントーチが光源レベルを変えることや、ピストンが回路内で役割を果たすために動くなどの、付随的と思われる影響は除く)。この2つを区別することで、それらの具体的なゲーム内での目的を定義することなく回路について語ることができる。それによって、プレイヤーは各々これらを使う理由を見つける事ができる。
この記事とレッドストーン回路に関するもう一方の記事は、信号の操作を行う回路についてのみ議論する。装置についての記事は、この記事の文末のチュートリアルのリストを参照。
大きさ
このWikiでは回路の大きさ(占有する直方体の体積)を 短辺の長さ × 長辺の長さ × 高さ で記述する。これには部品を支えるブロックや床となるブロックも含むが、入力と出力は含まない。
Minecraftコミュニティーで回路の大きさを説明するのに使われる別の方法では、支えに使われるレッドストーン以外のブロック(例えばレッドストーンダストやリピーターの下のブロック)を無視する。しかし、この方法ではFlatと1-Highの回路などいくつかの回路の違いを区別できない
単純に占有面積の範囲(例えば、横幅3ブロック長さ4ブロックをの代わりに3×4で表す)や、特定の内容に重要な1次元(例えば、補助回路の並び・閉じられた空間の高さなど)で回路を比較することは時には使い勝手が良い。
特性
多くの特性が望ましい設計目標と考えられているだろう:
- 1-High
- 垂直方向の寸法が1ブロックの高さ(レッドストーンダストやリピーターのように下側に支えを必要とするレッドストーンの構成部品を含まないことを意味する)の場合、その建造物は1-high(別名"1-tall")である。Flatも参照。
- 1-Wide
- 少なくとも水平方向の寸法のひとつが1ブロックの幅の場合、その建造物は1-wideである。
- Flat
- 上側にレッドストーンの構成部品を配置することなしに通常地面に配置することができる場合、その建造物はFlatである(レッドストーンの構成部品の下の支えとなるブロックは構わない)。Flatな構造物はしばしば初心者が理解しやすいく、建造もしやすいもので、床下や天井の上に設置するのに適している。1-highも参照。
- Flush
- 平らな壁・床・天井の範囲を越えて伸びず、別の面に効用を発揮する場合、その構造物はFlushである。FlushはPiston-Extenderやピストンドアなどにとって、ひとつの望ましい設計目標である。HipsterとSeamlessも参照。
- Instant
- 出力が即座に入力に反応する(0ティックの回路の遅延)場合、その建造物はInstantである。
- Seamless
- 初めは平らな壁・床・天井に隠れているが、別の面に効用を発揮することができる場合、その建造物はSeamlessである。SeamlessはPiston-Extenderやピストンドアなどにとって、ひとつの望ましい設計目標である。FlushとHipsterも参照。
- Silent
- 雑音(ピストンの動作音・ディスペンサー/ドロッパーが空の時の発射音など)を発しない場合、その建造物はSilentである。Silentな建造物はトラップや穏やかな家を作るのに望ましい。また音を発する際のラグをを減らすのにも望ましい。
- Stackable
- 自身のコピーの隣に直接設置でき、ひとつのまとまりとして制御することができる場合、その建造物はStackableである。Tileableも参照。
- Tileable
- 自身のコピーの隣に直接設置でき、個別に制御することができる場合、その建造物はTileableである。Stackableも参照。
- 建造物は"2-wide tileable"(2スペース毎にtileable)や、"2×4 tileable"(2方向にtileable)などと説明される。いくつかの建造物は"alternating tileable"と説明されるだろう。これは一つ置きに反転させるかわずかに違う設計を用いる場合、隣に設置できることを意味する。
他の設計目標としては、補助回路が大きな回路にもたらす遅延を減らしたり、素材が高価な部品(レッドストーン・ネザー水晶など)の使用を減らしたり、可能な限り小さくまとめるために回路を再配置や再設計することなどがあるだろう。
回路の種類
回路の建造方法は無限にあるが、明白な建造パターンが何度も繰り返して発生する。以下の節はMinecraftコミュニティーにとって有益だと証明された回路を分類している。各記事では各々に分類された個々の回路を説明している。
これらの回路のいくつかはそのまま装置の単純な制御に使うこともできるが、装置の必要に応じて頻繁にこれらを複雑な回路に組み合わせる必要があるだろう。
伝達回路
伝達の種類・垂直方向の伝達・リピーター・ダイオードといった信号の伝達の性質は理解の助けになる。
- 水平方向の信号の伝達はとてもシンプルだが、垂直方向の伝達は選択肢や二律背反を伴う。
- レッドストーンの階段: 垂直方向に信号を伝達する最もシンプルな方法はレッドストーンダストを斜め上のブロックに設置することである。まっすぐな階段でも、2×2の螺旋でも、他の似たようなバリュエーションでも構わない。
レッドストーンの階段は上方向にも下方向にも信号を伝達できるが、大量の空間を占有し、15ブロックごとにリピーターが必要になる。
- レッドストーンのはしご: グロウストーン・上下逆のハーフブロック・上下逆の階段はレッドストーンダストを設置できるがレッドストーンダストの接続を切らないため、2×1の"はしご"状に交互に設置することで信号を垂直に(上方向にのみ)伝達することができる。
レッドストーンのはしごはレッドストーンの階段ほど空間を占有しないが、同じように15ブロックごとにリピーターが必要になる。
- トーチのタワーとトーチのはしご: レッドストーントーチは上側のブロックか下側のレッドストーンダストに動力を送ることができるため、上下両方向への伝達ができる(上方向と下方向では別の構造が必要)。各トーチが状態を変えるのに少しの時間を要するため、トーチのタワーは回路に遅延を生じさせるが、リピーターは必要ない。
- 信号を"リピート"するとは、最大レベルまで信号を増幅しなおすことを意味する。
これを行う最も簡単な方法はレッドストーンリピーターを用いることである。バリエーションとして以下のものがある:
- インスタントリピーター: レッドストーンリピーターによる遅延なしに信号をリピートする。
- 双方向リピーター: どちらの方向にも信号をリピートする。
- "ダイオード"は一方向にのみ信号を通過させる一方通行の回路である。信号が出力から逆流し、誤って回路の状態を変化させたりタイミングに干渉することから回路を保護するのに使われる。
また小型の回路で、回路のある部分が別の部分に干渉するのを防ぐのに使われる ダイオードにの一般的な選択肢にはレッドストーンリピーターや、斜め下方向から信号を受け取るが斜め下方向には伝達しない、グロウストーンや上下反転したハーフブロックの上のレッドストーンダストが含まれる。
- 多くの回路は、入力を受け取らないブロックから出力するため、既に一方通行である。例えば、レッドストーントーチは設置されたブロックからの信号以外は通さないため、信号は回路に押し戻されない。
論理回路
時には複数の信号をお互い照合して入力がいくつかの基準を満たした時、ひとつの信号のみを出力する必要があることがある。 この機能を行う回路は論理ゲートとして知られている("論理"を満たした場合にのみ信号を通す"ゲート")。
A | ON | ON | off | off | 回答した質問 |
---|---|---|---|---|---|
B | ON | off | ON | off | |
NOT A | off | off | ON | ON | AがOFFか? |
A OR B | ON | ON | ON | off | 少なくともどちらかの入力がONか? |
A NOR B | off | off | off | ON | 両方の入力がOFFか? |
A AND B | ON | off | off | off | 両方の入力がONか? |
A NAND B | off | ON | ON | ON | 少なくともどちらかの入力がOFFか? |
A XOR B | off | ON | ON | off | 入力が異なっているか? |
A XNOR B | ON | off | off | ON | 入力が同じか? |
A IMPLIES B | ON | off | ON | ON | AがONの場合、BもONか? |
- NOTゲート("インバーター"とも)は入力がOFFの場合、ONになる。
- ORゲートは少なくもどれか1つの入力がONの場合、ONになる。
- NORゲートはどの入力もONでない場合にのみ、ONになる。
- ANDゲートは全ての入力がONの場合にのみ、ONになる。
- NANDゲートは少なくともどれか1つの入力がOFFの場合、ONになる。
- XORゲートは入力が異なっている場合、ONになる。
- XORゲートは入力が等しい場合、ONになる。
- IMPLIESゲートは1つ目の入力がONかつ2つ目の入力がOFFの場合以外は、ONになる。
パルス回路
特定のパルスを必要とする回路もあれば、パルス持続時間を情報の伝達手段として使う回路もある。パルス回路はこれらの要求を管理する。
一方の出力状態は安定していてもう一方の出力状態は安定しない回路は単安定回路として知られている。多くのパルス回路は、OFF状態は安定しているがON状態は素早く(またはいずれは)OFFに戻るため、単安定である。
- パルス発生器(Pulse generator)
- パルス発生器は特定の持続時間のパルスを発生させる。
- Pulse Limiter
- Pulse Limiter (別名Pulse Shortner) は長すぎるパルスの持続時間を減らす。
- Pulse Extender
- Pulse Extender (別名Pulse Sustainer, Pulse Lengthener) は短すぎるパルスの持続時間を増やす。
- Pulse Multiplier
- Pulse Multiplierは入力に対して倍の数のパルスを出力する。
- Pulse Divider
- Pulse Divider (別名Pulse Counter)は、いくつかのパルスを入力に検出した後、ひとつの信号のみを出力する(パルスの数はループの数を示す)。
- エッジ検出器(Edge Detector)
- エッジ検出器はOFFからONへの変化("rising edge"検出器)、またはONからOFFへの変化("falling edge"検出器)、またはその両方("dual edge"検出器)に反応する。
- Pulse Length Detector
- Pulse Length Detectorは一定幅の持続時間のパルス(しばしばある特定の持続時間のパルス)にのみ反応する。
クロック回路
クロック回路は特定のパルスのループを繰り返し発生させるパルス発生器である。永久に稼働するよう設計されたものもあれば、一方で止めたり再び稼働させたりできるものもある。
2つの状態が等しい持続時間しか持たない単純なクロックの名前はON状態の持続時間に由来するが(例えば、5ティックのON状態と5ティックのOFF状態が交互に起こるクロックは5-clockと呼ばれる)、一方で他のものの名前は通常周期(クロックが元の状態に戻るのにかかる時間。例えば、"1-minute clock"は1ティックのパルスを60秒ごとに発生させる)に由来する
- リピータークロック
- リピータークロックはリピーター(通常レッドストーンリピーターかレッドストーントーチ)のループと時折適切なパルスを取り出すためのダストやブロックで構成される。
- ホッパークロック
- ホッパークロックは、複数のホッパーの間でアイテムを受け渡しさせ、レッドストーンコンパレーターで信号を取り出すことで時間を調整したパルスを発生させる。
- ピストンクロック
- ピストンクロックは、ブロックを前後に受け渡しし(または複数のピストンで順に回し)、ブロックが特定の位置ある時にパルスを取り出すことでパルスのループを発生させる。
クロックは日照センサー・トロッコ・ボート・水流・アイテムの消失などを使うことでも作り上げられる。
メモリ回路
常にその時々の入力を状態に反映する論理回路とは異なり、メモリ回路の出力はその時々の入力状態ではなく、入力の履歴によって決まる。これによりメモリ回路は、別のものを覚えるよう命じられるまで、どの状態にあるべきか"覚える"ことができる。メモリ回路には4つの基本型がある。(少数の回路は2つの異なる型を組み合わせている。)
- RSラッチ(RS Latch)
- RSラッチは2つの入力を持つ。1つは出力をONにセットし、もうひとつは出力をOFFにリセットする。NORゲートで作られたRSラッチは"RS NORラッチ"として知られている。
- Tフリップフロップ(T Flip-Flop)
- Tフリップフロップは信号を切り替えるのに使われる(レバーのように)。出力をONとOFFの間で切り替える1つの入力を持つ。
- Dフリップフロップ(D Flip-Flop)
- Dフリップフロップは"データ"入力と"クロック"入力を持つ。クロック入力がONになった時、データ入力と同じになるように出力をセットする。
- JKラッチ(JK Latch)
- JKラッチは2つの入力を持つ。1つは出力をONにセットし、もうひとつは出力をOFFにリセットする(RSラッチのように)。しかし両方が同時にONになった時、出力をONとOFFの間で切り替える(Tフリップフロップのように)。
- カウンタ(Counter)
- 2つの状態(ONかOFF)のみ保持できるTフリップフロップやRSラッチと異なり、カウンタはより多くの状態を保持できる。
多数の他のメモリ回路も作ることができる。
その他の回路
これらの回路は典型的な計画には一般的に必要とされないが、複雑な計画・構想の検証・思いついた実験には使い道が見いだせるかもしれない。例としては:
- マルチプレクサ(Multiplexer)とリレー(Relay)
- マルチプレクサは論理ゲートの高度な形である。2つのうちどちらの入力を出力として通すかを追加の入力に基づいて選ぶ(例えば、入力がAがONならば入力Bを出力し、そうでなければ入力Cを出力する)。この逆がリレーである。追加の入力がONかOFFかに応じて、データ入力を2つの出力のうち1つに複製する。
- ランダマイザ(Randomizer)
- ランダマイザはランダムに出力信号を発生させる。ランダマイザはランダムな間隔でパルスを発生したり、複数の出力のうちどれをONにするか無作為に選ぶように設計できる(乱数発生器やRNG - Random Number Generatorの略、のように)。Minecraftのランダムな特質(サボテンの成長やディスペンサーのスロットの選択など)を使うものもあれば、アルゴリズム的に擬似乱数を発生させるものもある。
- 複数ビットの回路(Multi-bit circuit)
- 複数ビットの回路は複数の入力をひとつの複数ビット(0と1以外の何か)の値として扱い、それらに対して同時に操作を行う。このような回路を使うと、場合によりメモリ回路の配列と組み合わせることで、Minecraft内で計算機・デジタル時計・そして基礎的なコンピューターを作ることができる。
- BUDスイッチ(Block Update Detector)
- BUDスイッチ(単にBUD - Block Update Detectorの略、ブロック更新検出器とも)は、状態を変えたブロック(例えば、採掘された石・氷に変わった水・カボチャの茎の横に育ったカボチャなど)に"反応する"回路である。BUDスイッチは反応するとパルスを発生させる、T-BUD(Toggleable BUD)は反応すると出力状態を切り替える。これらは一般的に装置の性質の細かいねじれやバグを主軸としている。現在の回路はほとんどの場合ピストン由来である。
他にも複雑なさまざまな回路を作ることもできる。
回路の作成
計画
レッドストーン回路を組み立てる際、一番最初に決める事は用途である。
- 動作のきっかけとなる場所と状況は?
- きっかけとなるのはプレイヤー、MOBの動作、あるいは他の事か?
- どういった構造か?
- 構造のためにどういった信号の送り方をすればいいか?
- 複数の信号を送る要素が必要か?
建造
回路を構築するときに使うブロックは、目立つようにしておくと便利である。そうすることで、新しい部屋を掘って作る際に、そこに既に設置してある回路を損傷してしまう危険を知ることができる。石レンガや雪ブロック、羊毛を使うのが一般的である。異なった色の羊毛を配置するのも、回路同士の境目を示すには良い手段だ。
水や溶岩の近くに回路を設置する際は細心の注意を払うべきである。レッドストーン回路素子の多くは、液体には洗い流されてアイテム化する。加えてそれが溶岩であれば、そのアイテムは消滅してしまう。
TNTを使用した回路を構築する際は、構築中の回路によって意図せず通電してしまいTNTが起爆する場合が多いため注意すべきである。例えば通電されたブロックにレッドストーントーチを(NOT接続を意図して)配置するような場合、トーチがOFFになるには1ティックを要し、設置直後は瞬間的に通電状態になっているため、接続されたTNTに意図せず信号が流れてしまうかもしれない。TNTを回路が完了してから配置するようにすることでこの種の事故は防げるだろう。
問題の解決
もし設計した回路が上手く作動しない場合は下記の点を注意してみると助けになるかもしれない。
- 信号強度が極端に低い通電ブロックから回路を引いていないか。場合によってはレッドストーンリピーターなどで信号強度を増幅する必要があるかもしれない。
- 信号を透過ブロックに通そうとしてはいないか。透過ブロックは通電ブロックにはならないので石などの非透過ブロックに置き換えるか回路を迂回させること。
- 回路が短絡してはいないか。レッドストーントーチは焼ききれていないか。
- 回路が意図しないタイミングで通電しているような場合、接続されるべきでない部分が繋がっていないかを確認する。
- テスト用に配置したオブジェクトはきちんと除去されているか。
- ピストンやディスペンサー、ドロッパーなどは間接配線では起動しない。
改善
おめでとう。君の回路は上手く作動している。だが、その回路をそれほど壊さないで出来る、更なる改善の余地があるかもしれない。
- 回路の作動速度を向上させる。
- 無駄なコンポーネントを除去する(特にリピーターは作動速度低下の要因となる)
- 回路の占有を縮小する。
- より少ないブロックで作れないかどうかを検討する。
- 無駄なレッドストーン配線がないかを調べる。
- よりコンパクトな論理ゲートを模索する。
- 無駄なコンポーネントを除去する。
- より堅牢な回路を。
- 短時間でスイッチをON/OFFしても正常に動作するか。
- 短いパルスでも正常に作動するか。
- アップデートなどで実装された新しいパーツで既存設備をより軽量に置き換えられないかを検討する。
- より静かな回路に出来るかどうか。
- ラグの短縮。多数のレッドストーンコンポーネントで構築された回路は様々な要因でアプリケーションの負荷や遅延の原因となる。
- レッドストーントーチやレッドストーンランプなどの光源の変化は光の当たり方が変化する周辺の多数のブロックに影響を及ぼす場合がある。周辺を非透過ブロックで固め、光の変化の影響を受けるブロックを限定したり、トーチなどであらかじめ照らしておくことでアプリケーションの負荷を減らせる場合がある。
- 多くのレッドストーンコンポーネントは切り替え時に音を発生させる。同時に鳴る音があまりにも多い場合、遅延が生じる場合がある。
- パーティクルを発生させるコンポーネント(特に花火で顕著)が多い場合、一度に描画できるパーティクルの数を越えてしまい一部のパーティクルが欠損する場合がある。
- ピストンによってブロックを動かした場合、その周辺も含めた(他処理と比べて高負荷となる)ブロック更新が発生する。多数のブロックをピストンで動かそうとするような回路は負荷の原因となりやすい。
- ホッパーやホッパー付きトロッコなどは同時に多数のことをやらせようとすると不安定になりやすい(例えば受け取ったアイテムをすぐに接続されたチェストに送ろうとする場合など)。作動させる必要のないホッパーに通電して機能停止させたり上にブロックを置くなどしてエンティティ動作を停止させれば負荷を軽減できるかもしれない。
動画
レッドストーン回路/video