レッドストーン回路

提供:Minecraft Japan Wiki
ナビゲーションに移動 検索に移動

レッドストーン回路Redstone circuit)とは、レッドストーンダストやそれを元に作成できる装置類を使用して、様々な動作を行わせるための構造である。

概要[編集 | ソースを編集]

特定のブロック(ここでは入力装置と呼ぶ)は、レッドストーン信号と呼ばれる数値を生み出し、レッドストーンワイヤーと接続し、一部のものはその信号を特定の方向に入力する機能を持っている。
また別の特定のブロック(ここでは出力装置と呼ぶ)はレッドストーン信号を受け取ると特定の動作を行う機能を持っている。

さらに別の特定のブロック(ここでは回路素子と呼ぶ)は、入力装置などから信号を取り出し、別のブロックに入力する機能を持っている。
回路素子は単にレッドストーン信号を伝えるだけでなく、一定の規則に従って信号の強度を変化させたり、伝達するタイミングを遅らせることができる。

入力装置と出力装置を回路素子で連結し、出力装置に所望の動作を行わせるための構造がレッドストーン回路である。
これらをうまく活用することで、現実世界の論理回路やクロック回路などに相当する機能をもつ高度なレッドストーン回路も作れる。このような応用の詳細については、テクニック/レッドストーン回路を参照されたい。

なおピストンは出力装置であるが、レッドストーンブロックなどを組み合わせることで入力装置を作動させたり、回路を切り替えることもできるため、回路素子の代用にもなる。このような回路の例についてはテクニック/ピストンを参照。

Tick とは

レッドストーン関連で使用される遅延時間の 1tick は 100ミリ秒(1/10秒・0.1秒)のRedstone Tickです。

MOBのスポーン周期などに使われるGame Tickは 1tick 50ミリ秒(1/20秒・0.05秒)で、1redstonetick=2gametickです。

入出力装置と回路素子[編集 | ソースを編集]

レッドストーン信号の伝達[編集 | ソースを編集]

基本的にはブロック/レッドストーンでの各装置・素子の解説にあるように信号が伝わるが、装置・素子でないブロックがある場合は以下のようになる。

動力源ブロック[編集 | ソースを編集]

不透過のフルブロックはレッドストーン信号が入力されると動力源ブロックとなり(一部例外あり)、隣接したレッドストーン機能を有するブロックはこれと同じ強度の信号を受け取ることができる。ただしワイヤーから入力を受けた動力源ブロックの信号はワイヤーでは受け取れないという制限がある。詳細な条件は以下の表を参照。

入力装置は、作動中は動力源ブロックとして振る舞う。これに加え、レバー、ボタン、感圧板、トリップワイヤーフック、避雷針は設置されているブロックの方向[1]に、レッドストーントーチは1ブロック上のブロックに信号を入力し、導体ブロックを動力源に変える。
オブザーバーは背面方向に信号を入力するが、自身は動力源ブロックにならない。
レッドストーンワイヤーは回路素子であるが、設置されたブロック(1マス下のブロック)にも信号を入力する。

また、レッドストーントーチは設置されたブロックに信号が入力されるとOFF状態になる。

導体が動力源ブロックになる配置(全てON状態に限る)
RSトーチの真上 RSリピーターの正面にある 入力装置が設置されている
ワイヤーが設置されている ワイヤーの正面側にある
動力源ブロックから信号を受け取れる配置
隣接した出力装置
リピーターとコンパレーターの背面
コンパレーターの側面は不可
動力源ブロックに設置されたRSトーチ
隣にあっても動力源ブロックに刺していないRSトーチでは受け取れない
真下を含む隣接したワイヤー ただし前述の通り、ワイヤーからの信号のみで動力源化した場合は
ワイヤーへは信号を伝えられない


以下では動力源ブロックになりうるブロックのことを導体ブロックといい、それ以外のブロックを不導体ブロックという。

ワイヤーによる信号の伝達[編集 | ソースを編集]

信号の減衰

ワイヤーに沿った信号は一瞬で伝達するが、この時ワイヤー1ブロックにつき1レベルずつ信号の強度が減衰していく。

レッドストーン信号の最大強度は15であり、強度1以上の信号が回路素子や出力装置を稼働させることができるため、実質的にワイヤーは最大15ブロックまでしか信号を伝達しないことになる。

これを延長するには、リピーター、またはトーチなどの信号を出力する出力装置を中間に配するとよい。ただし、通常1 tick以上の遅延が発生してしまうことに注意[2]

導通と遮断

ワイヤーは隣接したワイヤー同士や、1段上下して隣接したワイヤーに自動的に繋がる(左図)。

このとき、接続部の角に導体ブロックを置くと接続が遮断されるが、ガラス階段ハーフブロック単体などの不導体ブロックは遮断しない(右図)。

なおワイヤーは原則として上面に1ブロック四方の当たり判定があるブロックに設置可能で、ソウルサンドや泥ブロックにも設置できる。一方で葉ブロックやハチミツブロックには設置できない。不導体に設置した場合、Javaでは1ブロック下のワイヤーに信号を伝えることができない

ワイヤーへの自動接続(Redirection)

ワイヤーは、入力装置や回路素子に対してはワイヤー同士と同じく自動接続するが、出力装置に対しては接続しない(左図)。

ワイヤーは自らが設置されているブロックおよび伸びている方向の先にしか信号を伝達しない(他の導体ブロックを動力源化する条件(上述)と同様である)ため、ワイヤーの配置には工夫が必要。

手動再接続

例外として、他のワイヤーと繋がっていない状態のワイヤーのみ、十字により前後左右4方向に指向性を持つ(左図)。

このワイヤーを右クリックすると点に変更ができ、点状態の時は設置されているブロック以外に伝達しなくなる(右図)。

その他[編集 | ソースを編集]

回路の信号方向[編集 | ソースを編集]

レッドストーントーチレッドストーンリピーターなどを使用すると、自動的に信号の流れが一方向に固定される。

延長したワイヤーは一方通行となり、単体で双方向での信号のやり取りは不可能となる。

  • (左図) 左側から右側へは信号を伝える事ができるが、右側から左側へは何をしても干渉できない。
  • (右図) 左右のどちらからでも中央がONになるが、リピーターの極性によって阻まれ、反対側のスイッチ回路にあるランプまでは干渉できない。

レッドストーントーチの焼き切れ[編集 | ソースを編集]

レッドストーントーチは、3秒未満の間に信号のON/OFFが8回以上入れ替わると動作が停止する、通称『焼き切れ』が発生する。

この状態の間は信号が伝わらなくなり、3秒以上後に周囲にブロック設置や撤去があると復活する。

上図例のような猛烈な速度でON/OFFが繰り返される回路の場合、リピーター等を配して一定以上の遅延を挟むとよい。

縦方向への信号の延長[編集 | ソースを編集]

RS信号を垂直に上方向へ延長する場合、上図のような上半ブロックを交互に並べて伝える方法、またはRSトーチと導体ブロックを交互にならべて伝える方法がある。

Javaver1.7.10までは下方向に垂直に伝えるのは難しかった[3]が、ver1.8以降ではスライムブロックとピストンを利用した方法で上下どちらの方向にも信号を届けることが容易になった。

準接続(Quasi-Connectivity)[編集 | ソースを編集]

「接続性」「ピストン接続」、「間接動力」や「BUDバグ」とも呼ばれる。

ディスペンサー、ドロッパー、ピストンが、自分自身の1つ上のブロックに隣接するブロック(全5か所)のいずれかが動力源ブロックである場合[4]にも信号を受け取れる性質のこと。
厳密には伸びたピストンアームを含むこれらの装置の隣接マスが更新されたとき[5]、装置本体の1つ上のマスが入力を取れる状態の動力源があった場合(信号に反応した状態のときは動力源がなくなっていた場合)に反応し、そのマスがどのようなブロックであるかを問わない。

赤色のガラスの部分が通常の出力装置が反応する動力の位置。
黄色のガラスの部分が準接続により反応する動力の位置。


赤色のガラスの位置で更新があると検知する。


ブロック破壊の順序によっては動力がなくなっても作動したままにもなる。



これらの出力装置は、ゲーム内部で状態を更新する処理が行われたときに動力の変化を検知して作動するが、ゲームは常にすべてのブロックの状態更新を行っているわけではなく、出力装置は隣接するブロックの信号に変化が生じて初めて処理を行う。
例として、真上が空気ブロックであるピストンの斜め上にレッドストーントーチを置くと反応するが、同じ位置にレッドストーンブロックを置いても反応しない。
これはレッドストーントーチは入力装置の性質を持ち、設置時に設置元以外の方向に対し信号の更新をかけているが、レッドストーンブロックは単に自身が動力源であるのみで、隣接マスに発信をしていないためである(回路素子により信号を取り出すことはできるため反応する)。
同様に、ピストンの横に不導体ブロックを、その上にレッドストーンダスト(十字形)を置き、その上からレッドストーントーチで入力を入れるとピストンが反応するが、そのままレッドストーンダストを点形に切り替えても隣接マスに対し信号状態の更新をかけない[6]ためピストンは戻らない。
さらに点形のままでピストンの真上にブロックを設置すると、ピストンは真上のマスへの入力がなくなっていたことを検知するために元に戻る。
レッドストーントーチを破壊または消灯してレッドストーンダストへの入力がなくなった場合は、レッドストーンダストが隣接マスに対し信号の更新をかける[7]ことによりピストンは元に戻る(レッドストーンダストを破壊した場合も同様)。
これらの性質により、入力と操作の順序によっては同じ入力状態に見えても出力状態が変わることがある。


また、場合によっては2マス先まで信号が発信されているように見える事がある。

この回路で実際にピストンを作動させているのは、奥側にある信号が入力された石を動力源とする準接続である。しかし、ここの入力状態が変化しても、隣接マスではないのでピストンは反応しない。
手前のレッドストーンリピーターは、前方に導体ブロックがないため動力としては機能していない。自身の前方のマスに信号をOn/Offする更新をかけているだけである。
つまり、リピーターからの信号は単なるトリガーとしてしか作用しておらず、信号のOn/Off状態ではなくその切り替わりによってピストンが反応し、このときに準接続できる石の入力状態を見て動作している。

主な装置の入力方向と更新方向は次の通り。
基本的に入力状態が切り替わった瞬間に更新がかかる。

装置 入力方向 更新方向 備考
レッドストーンワイヤー 下・先端方向 全方向 入力は先端が伸びていない方向にはないが、更新は接続状態に関わらず全方向にかかる。
設置時に上下、破壊時に全方向に更新がかかる。
レッドストーントーチ 設置方向以外 設置時・破壊時にも更新がかかる。
レッドストーンリピーター 前方 前方 設置時・破壊時にも更新がかかる。
レッドストーンコンパレーター 前方 前方 設置時・破壊時にも更新がかかる。
ボタン 背面方向 背面方向
レバー 背面方向 背面方向
感圧板 他の種類の感圧板も同様。
トリップワイヤーフック 背面方向 背面方向 対になるフックが設置された瞬間にも更新がかかる。間にブロックがあってワイヤーで接続できなくても反応する。
プレイヤーやエンティティが複数のワイヤーを跨いだ場合にも更新がかかる。
なし なし
日照センサー なし なし
トラップチェスト
避雷針 根本方向 根本方向 逆さに設置されていた場合も根本方向(上方向)に更新をかける。
オブザーバー 背面方向 背面方向 本体は反応しても更新がかからない。
レッドストーンブロック なし なし
ディテクターレール
スカルクセンサー verによって入力方向がない場合がある。



準接続を用いると、隣接するブロックの状態を変化させることなくディスペンサー・ドロッパー・ピストンに信号を送れるので、「ブロックの変化が生じた瞬間に作動する回路」=Block Update Detector、通称B.U.D.を作ることができる(BUDバグと呼ばれる所以である)。

更新順序について[編集 | ソースを編集]

この節の内容はJava版の情報であり、Bedrock版では異なる可能性があります。


同一のTickにおける信号変化は、ゲーム内部では順番に処理されるため、真に同時ではない

この性質は、処理の順序が重要になってくる極めて高速で動作する回路の場合を除けば気にしなくてよいはずなのだが、厄介なのがレッドストーンワイヤーである。


レッドストーンワイヤーは、信号変化が起こった際、自分自身から2ブロック以内にあるブロックの状態を変化させる。

自分自身に隣接するブロックの更新順序は、西(x軸マイナス)、東(x軸プラス)、下(y軸マイナス)、上(y軸プラス)、北(z軸マイナス)、南(z軸プラス)と決まっているのであるが、ちょうど2ブロック離れた場所の更新順序はワイヤーが設置されている座標によって異なる(バグ。MC-11193)。


このバグも通常は問題にならないのだが、右図のような配置のとき影響が顕在化する。

レッドストーンワイヤーがONからOFFに切り替わるとき、2つの石は同じTickに動力源から普通のブロックに戻る。ところが上述のバグのため、設置する場所によってどちらが先に動力源でなくなるかが異なる。

case1:左が先に動力源でなくなる場合
ピストンは縮む(通常の動作)
case2:右が先に動力源でなくなる場合
右が動力源でなくなったときに左はまだ動力源であることに注意しよう。準接続のため、ピストンはまだ動力を受け取っている状態にある。ここで左の石が動力源でなくなっても、ピストンに隣接するブロックの更新ではないため、ピストンは縮まない。
つまり、この場合ピストンは伸びたままになる

この現象のため、ある場所では動作した回路が他の場所では同じ動作をしないということが起こりうる。回避方法として、上の画像のようにレッドストーンワイヤーを配置する必要があるときは、ピストンの斜め上のブロックを透過ブロックに変えておくのがよい

Ver1.18時点では改善されており、この例のように同tickで左の石が動力源でなくなればピストンは反応しなくなるが、同時でない場合は伸びたアームを含むピストンの隣接マスのいずれかが更新されるまで準接続反応が維持される。

Tips[編集 | ソースを編集]

  • 一部の出力装置(ディスペンサー・ドロッパー・音符ブロック)は導体ブロックでもある事に注意。
    • ホッパーでディスペンサーやドロッパーに搬入を行う際など、これらにON信号が来ると、隣接しているホッパーも信号を受け取り動作を止めてしまう。
      この場合はディスペンサー側に直接レッドストーンを繋がないで、動力源ブロックを隣接させるなど工夫が必要。
  • ドアに隣接しているどのブロックに信号が来ても、ドアは作動する。
    • ハッチについても同様。ピストンは押し出し部分以外のブロックで作動する。
  • また、ワイヤーはプレイヤーキャラクターから最大で300ブロック離れると動作しなくなる。
    • より短い距離で動かなくなる場合も。無限マップになったことで一度に読み込まれるマップサイズの限界がある。
  • 的は入力装置かつ導体ブロックであり、OFFの状態であってもレットストーンダストと接続する。

脚注[編集 | ソースを編集]

  1. 避雷針は設置先のブロックが破壊されてもアイテム化しないため、正確には根本方向になる。他の入力装置も内部的には背面方向である。
  2. Javaでは、ピストンの引き剥がしを利用して無遅延で強度を回復させることも可能。
  3. Javaでは半ブロックの上に配置されたレッドストーンワイヤーは下方向に信号を伝えないため。
  4. ただし、その動力源がその状態のままで出力装置の真上のマスが信号を受け取れる場合に限る。点形のレッドストーンダストは下には信号を伝えられるが、側面方向には伝えられないので、これらの出力装置の斜め上に設置すると信号が入っていても準接続しない。
  5. この更新はブロックの設置・破壊・移動とレッドストーン信号の変化を指し、トラップドアの開閉や水流の変化などの状態変化は含まない。
  6. 別のレッドストーンダストとの接続により接続方向が変化した場合は更新がかかる。レッドストーンリピーターなど別種のブロックとの接続による変化では更新はかからない。
  7. 点形の場合でもすべての方向に対し更新をかける。

ページリンク[編集 | ソースを編集]


License[編集 | ソースを編集]

このページのファイル(またはその一部)は、Minecraft Wikiにアップロードされたものです。 
該当するファイルは、CC BY-NC-SA 3.0でライセンスされています。
このページのファイル(またはその一部)は、Mojang Studios著作権を保有しています。 
該当するスクリーンショット、テクスチャ、音声、楽曲、または他のMojangの財産、あるいはその派生物は Miraheze Terms of Useの下で、当Wikiでは自由に使用することが可能です。
Cookieは私達のサービスを提供するのに役立ちます。このサービスを使用することにより、お客様はCookieの使用に同意するものとします。