アイテムの種類ごとに何を何スタック保存するかを調整できるマインクラフトの自動仕分け機

  • image
  • 1チェスト1種類ってスカスカ過ぎ
  • 1ラージチェストで最大54種類管理したい
  • 「砂は5スタックだけ保存して残りは自動でガラスにしよう」などができる

基本的な仕組み

  • 「チェストに入れられるなら入れて、無理なら下のホッパーに渡す」という部品を縦に積み重ねる

第一章 ホッパーを収納に使う

  • この章でできるもの:
    • 最大5スタックの自動仕分け機、連結可能
    • レッドストーンは必要ない
    • image

ホッパーは8ティックで1個のオブジェクトを吸い取り、送り出す

  • ティックとは0.1秒である。
    • (レッドストーンティックと、ゲームティックの2種類があるがここではレッドストーンティックの話しかしない)

1つのアイテムが入ったホッパーXの下にそのアイテムを吸い取り可能なホッパーYがある場合、Xの送り出しよりもYの吸い取りが優先される。

  • なのでこの図の状態で上のチェストにニンジンを5スタック入れた場合右のチェストには一本も入らずに全部下のホッパーに入る。
    • (世の中には半々になるという説明をしているものもあるが、それはホッパーに直接ものを入れた場合の話)
    • image

この「下のホッパー」を「5スタックだけ入るチェスト」として使うのが最もシンプルな自動仕分け。

  • 入れられる時だけ吸い取るので、あらかじめ入れたいもので枠を埋めておけばそれだけを吸い取る。
  • レッドストーンを必要としない。

いくつでも伸ばせる。

  • image
  • 右のチェストには「どこにも入らなかったもの」が入る

一ユニットあたりホッパー2つで5スタックまで、同じ種類5つでもそれぞれ異なる5種類でもできる。

  • これが特に有効なのが商店街で、村人が買い取るものを村人のそばのホッパーに貯めることができる。

受け取る量を5スタックより減らしたい場合

  • 流れてこないものか、スタックしないものか、ありあまっててスタックしても良いものを入れれば良い
  • 世の中の解説では「名前を付けた棒」と書いてる場合が多いが、それはコンパレータを使う場合に流れてこないものである必要があるから。今回はコンパレータを使わないので「名前を付けた棒」の必要性は全然ない
  • 例えば序盤の資源が足りない時であれば「将来使うから取っておきたいが当面使う予定のないもの」であるクモの目とか、ありあまってる土とかでよい
  • 道具鍛治を育てるために買う羽目になった石の道具などもスタックしない、ホッパーを自動仕分けに使うくらい鉄のある状態だともう作ることもないから隙間を埋めるものに適任

第二章 ホッパーをレッドストーン制御してチェストに収納

  • この章でできるもの
    • 1ユニットあたり54スタックの自動仕分け機
    • 「54種類、各1スタック」もできる
    • レッドストーンが必要

ホッパーはレッドストーンシグナルを受けると吸い取りも送り出しもしなくなる

  • ただし下のホッパーによって吸い取られることはできる。

  • そこで上下のホッパーをレッドストーンでオンオフして「右のチェストに入れられるなら入れる、無理なら下のホッパーに流す」を実現する

    • image
    • 2段で解説するが、上下に連結することができる
    • ドロッパーエレベーターを作れば横方向にも無数に連結できる
  • 第一章の方法では「5スタックしか入らない」だったがこちらは1ユニットあたりラージチェスト54個に増える

  • まずそのためのレッドストーンシグナルの原理について書く

レッドストーンシグナルの伝達

  • リピーターで強力化したブロックは隣接するブロックにシグナルを伝えることができる
    • リピーター=レッドストーン反復装置
    • 強力化=強い動力が伝えられた状態にすること、nishio.iconの造語
    • ただしガラスなどの不透過ブロックではできない
    • 強力化したブロックは上下を含む六方向にシグナルを伝達する
  • パウダーは接続したブロックにシグナルを伝えることができる。
    • パウダー=レッドストーンの粉
    • これは前述の強力化とは別の状態である。
      • 活性化、「弱い動力が送られた状態」とも言う
    • 接続とは隣接ではない。
      • パウダーがブロックの方を向いているかブロックの上に乗っている必要がある
    • 活性化したブロックに取り付けられたトーチは消灯する。
      • トーチ=レッドストーンのたいまつ
      • これによって論理否定ができる。
      • image
      • image

V字クロック

  • V字形にブロックを置くとコンパクトなクロック回路になる

    • image
  • これを以下ではV字クロックと呼ぶ

  • 動作原理

    • 3つのブロックを左からA,B,Cとすると
      • まずトーチがAを強力化する
      • それにより1ティック後にリピータがCを強力化する
      • Cは強力化しているので下のパウダーを活性化する
      • パウダーの接続するBが活性化する
      • その1ティック後にBにつけたトーチがオフになる
      • リピーターの入力がオフになって、1ティック後にCがオフになる、
      • 1ティック後にトーチがオンになる
  • というわけでこのループは2ティックオン2ティックオフのパルスを出し続ける

  • 最初トーチの遅延を忘れて1オン1オフだと思ってた

  • この後、ホッパーに5ティックのパルスを入れるので、リピータの遅延を4ティックにしておく

ホッパーの挙動

  • ホッパーは1ティック目に上のものを吸い取り、5ティック目にそれを送り出す
  • なので最低5ティックの間ホッパーを動かす必要がある
    • ホッパーは上にものがある場合、まず吸い取って、それから送り出す
      • なのでチェストを置くなどして上に常時ものがある場合、送り出しのタイミングでも吸い取ってしまう
      • そうするとホッパー内に常に1つアイテムが残り、どんなタイミングで止めても「下に流れるべきでないアイテムが下に流れること」を防げない
    • そこでドロッパーで「10ティックに1個」に流量を制限する必要がある

収納数調整可能仕分け機

  • image
  • 仕組み
    • 画面外のV字クロックから5オン5オフのシグナルが送られている
    • 下のホッパーにはトーチで反転して伝える
    • 上のホッパーにはリピーターで背後のブロックを強力化することで伝える
      • リピーターの下がガラスなのは下にシグナルを伝えないため?トーチから横に伝わらないため?
        • 問題が起こるケースを発見できなかったのでガラスでなくても良いかも
    • どちらの遅延も1ティックなので、ちょうど反転したシグナルになる
  • ドロッパーが10ティックに1回アイテムを流す
    • image

ホッパーの位相合わせ

  • ホッパーは10ティックに1回アイテムを送るが、このタイミングはいつでもいいわけではない
  • 例えば上のホッパーがオンである1ティック目にアイテムが到達しておらず、2ティック目に到達していると、そこで吸い取ったアイテムをチェストに入れる前に上のホッパーがオフになり、下のホッパーに吸い取られる。結果として「上のチェストに収納可能なものが下のチェストに入ってしまう」という結果になる
  • 今回の構成ではリピーターを挟んでドロッパーが動くタイミングを遅らせている
    • 4ティックではダメで5ティックなら動いた
    • これはもちろんホッパーの長さによって影響を受ける
    • なのでリピーターで調節するのが良い
    • 失敗しているときは上のチェストに空きがあっても下のチェストに入るので、適当にたくさんあるものを流しながら上のチェストにものが入るように調整すれば良い
  • ここを試行錯誤しなくても計算で出せるようになったので後述

拡張

  • 最初に参考にしたサイトでは縦6段で、ドロッパーエレベーターを使って2列並べていた
    • サバイバルで作った(ゴーレムトラップは作成済み)
    • 正直なところ12ラージチェスト648スタックの収納を持て余した
    • image

ホッパーの位相合わせ2

第三章 ドロッパエレベータ ドロッパエレベータ、ドロッパー式アイテムエレベーターとは、ドロッパーのアイテム射出口を上に向けて縦に積むことでアイテムを上方向に輸送する仕組みである。

ここで説明するまでもなく記事がたくさんあるので省略。 https://n5v.net/dropper-item-elevator/

第四章 コンパレータ式仕分け機

  • コンパレータを使って1種類のものだけ入れる自動仕分けチェスト

    • 正直、かさばるので第二章の仕分け機の方が良いと思ってる
    • コンパレータもたくさん必要だしね
  • 原理

    • 送り出せないようにしたホッパーXを用意し、1種類のものしか吸い取らないようにする
    • コンパレータでホッパーXからシグナルを得る
      • 中のものの量によってシグナルの強さが変わる
    • 中身が増えた時にそのシグナルでXの下にあるホッパーを動かし吸い取る
      • そのホッパーはチェストにつながっている
    • これで一通りのものだけをチェストに入れられる
  • こちらの記事が詳しく説明してる

  • メリット

    • 第二章の仕分け機は10ティックに1アイテムだった
    • この仕分け機は4ティックに1アイテム
    • なので土や砂などの大量になりがちなものをこの仕組みで先に吸い取るのも良い
      • 土のチェストがいっぱいになったら下流の仕分け機に流すのではなくゴミ箱に捨てる
    • 何をどれくらい取っておきたいかはプレイスタイルによって変わる
      • 僕個人としては「砂は全部ガラスにすると困るけど5スタックもあれば十分かな」という気持ちなので第一章のホッパー式仕分け機で十分かなぁ
      • 自動農場からの野菜は大量になりがちなのでこれで仕分けてもいいかも

収納数を調整できる自動仕分け機draft