配管

TODO
  • 画像
  • 動画で説明した事項を追加
  • 最新の情報に更新

目次


アイテム輸送について

機械の搬入出口の設定方法

粘土めん棒 (Clay Rolling Pin) で機械の搬入口を、粘土スライサー (Clay Slicer) で機械の搬出口を設定できます。
transport_io01.png
黄色い搬入口はエネルギー粘土搬入口を表します。

Tier 3 以上の装置は原則として自動搬入・搬出機能を持ちます。

粘土へら (Clay Spatula) で各種装置をパイプ化できます。
transport_pipe01.png

見た目を変化させるだけでなく、隣接する装置の搬入出を設定するときに威力を発揮します。
transport_pipe02.png

パイプ化されている場合、配管ツール (Configurator) を手に持つことで搬入出口を可視化できます。
transport_pipe03.png

輸送に使う装置

  • 通常の輸送にはバッファー (Buffer) が使用できます。アイテムを均等分配する分配機 (Distributor) も適宜使用すると便利です。
    • 本 MOD のアイテム輸送はホッパーもどきをたくさん並べるもの、と思ってください。
  • マルチブロックの機械では、インターフェース (Interface) を使用すると搬入出口を増やすことができます。
  • さらにインターフェースをシンクロナイザー (Synchronizer) で別の装置に同期させることで、アイテムの遠隔輸送が可能になります。

その他基本情報

  • 粘土レンチ (Clay Wrench) により機械の向きを変えることができます。
  • ここまでに紹介した配管アイテムを統合した配管ツール (Configurator) も存在します。
  • 配管メモリー (Memory Card) により、配管情報のコピーが可能です。
  • 同種機械の Ctrl(スプリント) + 右クリックによる置換は、配管情報を保持します。
    • 例外として、内部スロットの内容は普通に破壊処理が行われたのと同等の処理を行うため、例えばフィルタースロットの情報は消失してしまいます。

搬入出口の仕様とバッファー配管

基本的に搬入口以外からはアイテムは搬入できず、搬出口以外からは搬出することはできません
しかしバッファー、複線バッファー、液体バッファー、ストレージコンテナ、虚空コンテナに限り、
搬入出口の設定にかかわらず全ての面から搬出口が可能です。
このような装置に対する搬入出口の設定とは、純粋に自動搬入出を行うかどうかのみを設定するものになります。

さらにバッファーは搬入口が自動でプレイヤーの向いている方向と同じ方角を向くため、
手前に後退しながらバッファーを連続で設置することで手前方向へのアイテム輸送経路を作ることが出来ます

transport_buffer01.png
こうやると

transport_buffer02.png
こうなる

ループ配管

ある箇所に溜め込んでいるアイテムを、複数の機械に自動的に順次挿入するのに使用される配管です。
典型的にはエネルギー粘土の自動供給に用いられます。

transport_loop01.png
エネルギー粘土の配送自体は 1 tick 単位で行う必要はなく、クレイウムバッファーのみで配管するのは配送頻度が過剰であると言わざるを得ません。
そこで、ストレージコンテナから引き出すバッファーを敢えて低性能なものにすることでこの問題を回避しています。
なお、全てのバッファーを低性能なものにすると、ストレージコンテナに貯めていたアイテムがバッファーの中にまばらに分布するようになります。
ここではループ部分を高性能なバッファーにすることで、この現象を回避しています。

ちなみに、このままの配管では正しくエネルギー粘土が配送されないことがあります。
これについては次の挿入パイプ効果についてを参照してください。

挿入パイプ効果について

自動搬入出の処理は、各機械で搬入処理→搬出処理の順に処理されます。
この性質をうまく利用したものに挿入パイプ効果と呼ばれるものがあります。

エネルギー粘土の輸送でしばしば現れる次のような配管を考えます。
transport_insertionpipeeffect01.png
バッファー B1 の自動搬入処理で、B1 にエネルギー粘土が流れてきたとします。
隣接する加工機械 M とバッファー B2 どちらが先に処理されるかはわかりません。(基本的に方角依存です)
加工機械 M が先に処理されるなら、エネルギー粘土は無事に加工機械 M へと輸送されるでしょう。
しかし、バッファー B2 が先に処理される場合、このエネルギー粘土はいつもバッファー B2 の方向に流れてしまいます

つまり、このような配管は粘土エネルギーの配送が正しく行われない可能性があります。

そこで、バッファー B1 から加工機械 M自動搬出するように設定してみます。(下図赤丸)
transport_insertionpipeeffect02.png
再びバッファー B1 の自動搬入処理で、B1 にエネルギー粘土が流れてきたとします。
すると、各機械で搬入処理→搬出処理の順に処理されるのだから、
隣接する加工機械 M とバッファー B2 の処理を待たずして、
直ちにバッファー B1 の自動搬出処理が行われます
これで、加工機械 M の内部アイテムエネルギー用スロットに空きがあればそちらに優先してアイテムが流れるようになりました。

このように、バッファーの列に搬出口を設定することで擬似的に優先度が上がる現象を挿入パイプ効果といいます。

さて、加工機械 M に当たる部分がストレージコンテナで、
バッファー B1 に何らかの理由でアイテムが 10 スタックくらい詰め込まれてしまっている場合を考えます。
このとき、確かにストレージコンテナ M への搬出処理は先に行われますが、
バッファー B1 の輸送能力が足りていないため、全てをストレージコンテナ M に吐き出すことは出来ません。
結局余ったアイテムはバッファー B2 の自動搬入により取り出されてしまいます。

BuildCraft の挿入パイプとは異なり、挿入先が空いていれば全てのアイテムが必ずそちらに流れるというわけではないことを頭の片隅にとどめておきましょう。
また、搬出先が複数ある場合は均等分配される訳ではなく、処理順は方角依存です。この場合は片方にしか搬出されない現象が起きえます
均等分配を行いたい場合は分配機 (Distributor) を使用してください。

分配機について

分配機 (Distributor) は、内部スロットに複数のグループを持ちます。
自動搬入処理時は搬入先グループ指定が存在し、搬入処理が行われると次の tick には次のグループに遷移します。
自動搬出処理時は搬出元グループ指定が存在し、指定されたグループが空になると次のグループに遷移します。
搬出作業が滞り、搬出元グループ指定が搬入先グループ指定に対して周回遅れとなってしまう場合は搬入できなくなります。
このような仕組みにより、搬入された順にアイテムを搬出する処理を実現しています。

また、自動搬出時にはこれとは別に搬出先方向指定が存在します。
アイテムを 1 個搬出すると搬出先方向指定が切り替わります。
搬出先方向にインベントリが存在しない場合、その方向を飛ばします。
このような仕組みにより、複数の搬出先に均等にアイテムを分配する処理を実現しています。

そのため、このブロック自身による自動搬出ではなく、他のブロックからアイテムが引き出されてしまった場合
搬出先方向指定による等分効果が失われ、アイテムが均等に分配されなくなってしまいます
transport_distributor01.png

インターフェースの同期による遠隔輸送

マルチブロック装置の搬入出口として用いられる各種インターフェースですが、
これはマルチブロック装置のコアブロックに同期 (シンクロ) し、
コアブロックの内部インベントリをインターフェースからアクセスできるようにすることで実現しています。

シンクロナイザー (Synchronizer) を用いることで、この技術を一般の装置にも適用することが出来ます。
同期させる手順は以下の通り。
  1. インターフェース (Interface) にシンクロパーツ (Synchronous Parts) を挿入する (シンクロモードをオン)
  2. シンクロナイザーで同期先の装置を右クリックし、その座標をシンクロナイザーに記録
  3. 続いてシンクロナイザーでインターフェースを右クリックし、記録された座標の装置に同期させる

同期できる装置の座標に制限はありません。他のディメンジョンであっても、チャンクがロードされていれば機能します。
バッファーと同期することで遠隔輸送が実現できます。

なお、インターフェースに挿入されたシンクロパーツは取り戻せません。ご利用は計画的に。

アイテムフィルター

使い方

  • 装置の各面には各種フィルターを設定することができます。これを面フィルターといいます。
  • フィルターを手に持って装置を右クリックすることで、フィルターを適用することができます。
    • 適用されたフィルターを外すときは Raw Clay Rolling Pin などの生粘土ツールで右クリックしてください
  • これとは別に、作業対象や搬入対象を指定するためのフィルタースロットが幾つかの機械で存在します。
    • 多くの場合は普通のアイテムの代わりにこの指定部分にアイテムフィルターを置くことで、幅広い対象を含めることができるようになります。
  • フィルターの中にフィルターを設定することで複雑な指定も可能です。(これもフィルタースロットの一種!)
  • 文字列を入力するタイプのフィルターでは正規表現が有効です。
    • たとえば、インゴット類を指定するときは鉱石辞書アイテムフィルター (Ore Dictionary Item Filter) で ingot.* と入力してください。
  • 適用されたフィルターの内容を見るにはアイテムフィルター複製機 (Item Filter Duplicator) で右クリックし、内容をコピーしてください。
    • シフト右クリックでコピーフラグを解除することで、コピーされた内容を別の装置に適用できるようになります。
    • ただし、別のフィルターの内容をコピーする機能は失われます。

各フィルターの解説

以下で正規表現のマッチに用いられているのは標準の java.util.regex パッケージです。

ホワイトリストアイテムフィルター / White List Item Filter

内部に 10 個のスロットを持ちます。右クリックで開く GUI にアイテムを置くことで編集します。(使用したアイテムは消費されません)
これら指定されたアイテムのうち 1 つでも等しいものがあればマッチします。(スタックサイズ除く)
ただし、指定されたアイテムがアイテムフィルターだった場合、等しいかどうかではなくそのフィルターの条件にマッチするか否かを見ます。
ホワイトリストアイテムフィルターを入れ子にすることで、10 個を超えるアイテムにマッチするフィルターを作成することが出来ます。

ブラックリストアイテムフィルター / Black List Item Filter

内部に 10 個のスロットを持ちます。右クリックで開く GUI にアイテムを置くことで編集します。(使用したアイテムは消費されません)
これら指定されたアイテム全てと異なればマッチします。(スタックサイズが異なっても無視)
ただし、指定されたアイテムがアイテムフィルターだった場合、異なるかどうかではなくそのフィルターの条件にマッチしないか否かを見ます。
要は上のホワイトリストアイテムフィルターの条件を反転したものになります。
例えば単にアイテムフィルター 1 個を指定した場合、そのフィルターに論理記号¬(not)を付けたものが出来上がります。

ファジーアイテムフィルター / Fuzzy Item Filter

基本はホワイトリストアイテムフィルターと同じですが、以下の点で異なります。
  • アイテムスタックの NBTTag の違いを無視する
  • ツールや防具などのような"ダメージを受ける"アイテム(具体的には Item.isDamageable が true となるもの)は、ダメージ値の違いを無視する
  • (全く異なるアイテムでも)共通の鉱石辞書名があればマッチする

鉱石辞書アイテムフィルター / Ore Dictionary Item Filter

文字列型フィルターです。右クリックで開く GUI に文字列を入力することで条件を編集します。
入力された文字列を正規表現として解釈し、対象のアイテムがその正規表現にマッチする鉱石辞書名を 1 つでも持てばマッチします。

表示名アイテムフィルター / Item Name Item Filter

文字列型フィルターです。右クリックで開く GUI に文字列を入力することで条件を編集します。
入力された文字列を正規表現として解釈し、対象のアイテムのサーバースレッドにおける表示名がその正規表現にマッチすればマッチします。
(サーバーを立ててマルチプレイを行っている場合は en_US でハードコーディングされているため、en_US 固定
クライアントでシングルプレイを行っている場合は設定言語に依存)
ただし、金床などで独自のアイテム名がつけられている場合はそちらを対象とします。

内部名アイテムフィルター / Unlocalized Name Item Filter

文字列型フィルターです。右クリックで開く GUI に文字列を入力することで条件を編集します。
入力された文字列を正規表現として解釈し、対象のアイテムの Unlocalized Name がその正規表現にマッチすればマッチします。
Unlocalized Name は lang ファイルの左辺に書かれるもので、ローカライズ前の名前を指します。

ID アイテムフィルター / Unique ID Item Filter

文字列型フィルターです。右クリックで開く GUI に文字列を入力することで条件を編集します。
入力された文字列を正規表現として解釈し、対象のアイテムの Unique ID がその正規表現にマッチすればマッチします。
Unique ID はワールドの保存等に用いられるいわゆる文字列 ID のことです。

MOD ID アイテムフィルター / MOD ID Item Filter

文字列型フィルターです。右クリックで開く GUI に文字列を入力することで条件を編集します。
入力された文字列を正規表現として解釈し、対象のアイテムを追加する MOD の MOD ID がその正規表現にマッチすればマッチします。

ダメージ値アイテムフィルター / Damage Value Item Filter

文字列型フィルターです。右クリックで開く GUI に文字列を入力することで条件を編集します。
入力された文字列の先頭に ^ を, 終端に $ を追加したものを正規表現として解釈し、
対象のアイテムのダメージ値を文字列に変換したものがその正規表現にマッチすればマッチします。
単に数字を入力すると、その値にのみマッチするようになっています。
  • 0.4.5.35: メタデータアイテムフィルター / Metadata Item Filter から ダメージ値アイテムフィルター / Damage Value Item Filter に変更

メタデータブロックフィルター / Block Metadata Item Filter

文字列型フィルターです。右クリックで開く GUI に文字列を入力することで条件を編集します。
入力された文字列の先頭に ^ を, 終端に $ を追加したものを正規表現として解釈し、
対象のワールドに設置されたブロックのメタデータ (0 ~ 15) を文字列に変換したものがその正規表現にマッチすればマッチします。
単に数字を入力すると、その値にのみマッチするようになっています。
なお、アイテム化されたブロック含めてアイテムを対象とした場合はダメージ値アイテムフィルターと全く同じです。
ワールドに存在するブロックの向きの違いや、作物の成長具合が識別できる可能性があります。
  • 0.4.0.30: 試験的に追加
  • 0.4.5.35: 正式追加

  • 最終更新:2016-12-01 19:10:05

このWIKIを編集するにはパスワード入力が必要です

認証パスワード