atwiki-logo
  • 新規作成
    • 新規ページ作成
    • 新規ページ作成(その他)
      • このページをコピーして新規ページ作成
      • このウィキ内の別ページをコピーして新規ページ作成
      • このページの子ページを作成
    • 新規ウィキ作成
  • 編集
    • ページ編集
    • ページ編集(簡易版)
    • ページ名変更
    • メニュー非表示でページ編集
    • ページの閲覧/編集権限変更
    • ページの編集モード変更
    • このページにファイルをアップロード
    • メニューを編集
    • 右メニューを編集
  • バージョン管理
    • 最新版変更点(差分)
    • 編集履歴(バックアップ)
    • アップロードファイル履歴
    • ページ操作履歴
  • ページ一覧
    • ページ一覧
    • このウィキのタグ一覧
    • このウィキのタグ(更新順)
    • このページの全コメント一覧
    • このウィキの全コメント一覧
    • おまかせページ移動
  • RSS
    • このウィキの更新情報RSS
    • このウィキ新着ページRSS
  • ヘルプ
    • ご利用ガイド
    • Wiki初心者向けガイド(基本操作)
    • このウィキの管理者に連絡
    • 運営会社に連絡(不具合、障害など)
FTB Interactions v2.0.9 Wiki
  • ウィキ募集バナー
  • 目安箱バナー
  • 操作ガイド
  • 新規作成
  • 編集する
  • 全ページ一覧
  • 登録/ログイン
ページ一覧
FTB Interactions v2.0.9 Wiki
  • ウィキ募集バナー
  • 目安箱バナー
  • 操作ガイド
  • 新規作成
  • 編集する
  • 全ページ一覧
  • 登録/ログイン
ページ一覧
FTB Interactions v2.0.9 Wiki
  • 新規作成
  • 編集する
  • 登録/ログイン
  • 管理メニュー
管理メニュー
  • 新規作成
    • 新規ページ作成
    • 新規ページ作成(その他)
      • このページをコピーして新規ページ作成
      • このウィキ内の別ページをコピーして新規ページ作成
      • このページの子ページを作成
    • 新規ウィキ作成
  • 編集
    • ページ編集
    • ページ編集(簡易版)
    • ページ名変更
    • メニュー非表示でページ編集
    • ページの閲覧/編集権限変更
    • ページの編集モード変更
    • このページにファイルをアップロード
    • メニューを編集
    • 右メニューを編集
  • バージョン管理
    • 最新版変更点(差分)
    • 編集履歴(バックアップ)
    • アップロードファイル履歴
    • ページ操作履歴
  • ページ一覧
    • このウィキの全ページ一覧
    • このウィキのタグ一覧
    • このウィキのタグ一覧(更新順)
    • このページの全コメント一覧
    • このウィキの全コメント一覧
    • おまかせページ移動
  • RSS
    • このwikiの更新情報RSS
    • このwikiの新着ページRSS
  • ヘルプ
    • ご利用ガイド
    • Wiki初心者向けガイド(基本操作)
    • このウィキの管理者に連絡
    • 運営会社に連絡する(不具合、障害など)
  • atwiki
  • FTB Interactions v2.0.9 Wiki | FTB Interactions 非公式wiki
  • Integrated Dynamics

FTB Interactions v2.0.9 Wiki

Integrated Dynamics

最終更新:2024年02月23日 06:56

Bot(ページ名リンク)

- view
メンバー限定 登録/ログイン
このページは現在編集中です
高度な論理制御でほとんどの機械や作業をを自動化できるIntegrated Dynamics(以下IDs)。このページではIDsとそのアドオンであるIntegrated Tunnels(以下ITs)の解説をしていきます

目次

  • 初級編
    • Variable Card(変数カード)
    • Value(値)
    • Logic Programmer(論理プログラマー)
    • ネットワーク
      • パーツ一覧
        • リーダー
        • ライター
        • その他
    • Integrated Tunnels(ITs)
  • 中級編
    • Operator(関数)
    • 関数一覧
    • 小技・テクニックなど
      • Labeller
      • 再帰
      • レッドストーン
      • ピックアップディレイフィルタリング
  • 上級編
    • NBT
    • 関数の編集
    • 値としての関数の利用
    • Predicate(述語)
    • 述語の利用
      • ITsへの応用

初級編

IDsを始めるにあたって、最初に覚えるべきことをまとめていきます

Variable Card(変数カード)

様々な値を保存するアイテムです。IDsにおける論理処理はこれが無いと何もできません。たくさん用意しておきましょう。

Value(値)

変数カードに保存された情報を値と言います。情報が何を表しているかによって値の種類は変わり、値の種類によってカードを挿せる場所が異なります。

値の種類:
+ ...
Fluid 液体の情報を保存します
Ingredients レシピの材料の情報を保存します(Interacitons環境での使い道はありません)
Integer -2147483648から2147483647までの整数を保存します
Recipe レシピの情報を保存します(Interacitons環境での使い道はありません)
List 値のリストを保存します※リストの要素を0から数え始めます
Block ブロックの情報を保存します
Long -2^31~2^31までの整数を保存します
Boolean 真偽を保存します
String 文字列を保存します
Double 小数点を含む情報を保存します。IDsにおいてFloatとの違いはあまりありません
Float 小数点を含む数値を保存します。
Item アイテムの情報を保存します
Operator 関数を保存します
NBT NBTタグを保存します
Number Integer,Double,Long,Floatなどの数値の総称です
Entity エンティティの情報を保存します

Logic Programmer(論理プログラマー)

変数カードに値を書き込むための道具です。名前にもある通り、IDs上の論理を司るアイテムです。
  • 緑枠:文字を打ち込んで検索ができます
  • 赤枠:書き込む値の内容が選べます
  • 黄色枠:入力と出力の種類で検索ができます
  • 青枠:書き込む値の詳細の入力ができ、右下のスロットに変数カードをいれることで指定した値を書き込めます

ネットワーク

Logic Cableやvariable storeなどのネットワークパーツで構成されるマルチブロックをネットワークと言います。ネットワークパーツにはリーダー、ライター、+αの三種類があります。リーダーは周りの環境から特定の情報を読み取り、変数カードにリンクさせます。ライターはセットされた値を元に何かしらの形で具現化します。関数、リーダーとリンクしたカード、ライターにセットするカードはそれらを作る際に使った他のカードやネットワークパーツに依存しているので同ネットワーク内に必要なパーツやカードがないとエラーを吐きます。また、例外として何も書き込んでいないカードをライター類(ITsエクスポーター、インポーター含む)にいれるとtrueの値を持っているとみなされます。
パーツ一覧
リーダー
+ ...
  • Audio Reader
読み取れる情報 値の種類
音符ブロックの音程 Integer

  • block reader
読み取れる情報 値の種類
ブロックがあるかどうか Boolean
座標 Integer
ブロック block
ブロックが持つNBT NBT
バイオーム String
光レベル Integer

  • entity reader
読み取れる情報 値の種類
額縁の向き Integer
エンティティ達 List
プレイヤー達 List
エンティティ entity
額縁エンティティ entity

  • extra dimensional reader
読み取れる情報 値の種類
乱数 Integer
プレイヤーの数 Integer
tickの長さ(ナノ秒) Integer
TPS Double
プレイヤー達の名前 List

  • fluid reader
読み取れる情報 値の種類
満タンであるか Boolean
タンクが空か Boolean
タンクが空ではないか Boolean
タンクであるか Boolean
その面の液体保持量 Integer
ブロックの合計液体保持量 Integer
タンクの容量 Integer
タンクの合計容量 Integer
タンクの数 Integer
タンクの埋まっている割合 Double
ブロックに入っている液体 List
ブロック内タンクの容量 List
その面のタンクに入っている液体 fluid
空間に設置してある液体の種類 fluid

  • inventory reader
読み取れる情報 値の種類
インベントリが満タンか Boolean
インベントリが空か Boolean
インベントリが空ではないか Boolean
インベントリであるか Boolean
入っているアイテムの合計個数 Integer
インベントリのスロットの数 Integer
埋まっているスロットの数 Integer
埋まっている割合 Double
インベントリに入っているアイテム List
インベントリの特定のスロットのアイテム item

  • machine reader
読み取れる情報 値の種類
機械であるか Boolean
材料を保持しているか Boolean
稼働可能か Boolean
稼働中か Boolean
熱を持っているか Boolean
熱(K) Double
最高温度(K) Double
最低温度(K) Double
通常温度(K) Double
レシピに対応しているか Boolean
対応しているレシピ List
FEを扱えるか Boolean
FEを受け取れるか Boolean
FEを与えられるか Boolean
FEを抽出できるか Boolean
FEを搬入できるか Boolean
バッファが満タンか Boolean
バッファが空か Boolean
バッファが空ではないか Boolean
保持FE量 Integer
最大保持FE量 Integer
FE充填率 Double

  • network reader
読み取れる情報 値の種類
ネットワークの一部であるか Boolean
ネットワークのパーツ数 Integer
ネットワークのバッテリーの数 Integer
保持されているエネルギー Integer
最大保持エネルギー Integer
エネルギー消費速度 Integer
ライターが出力している値 any

  • redstone reader
読み取れる情報 値の種類
レッドストーン信号がないか Boolean
レッドストーン信号があるか Boolean
レッドストーン信号が15か Boolean
レッドストーン信号の強さ Integer
コンパレーターが出力するであろう信号の強さ Integer
特定のtick周期で真を出力するカード Boolean

  • world reader
読み取れる情報 値の種類
晴れであるか Boolean
雨であるか Boolean
雷雨であるか Boolean
昼か Boolean
夜か Boolean
雨までの時間(tick) Integer
tickの長さ(ミリ秒) Integer
マイクラ内時間(tick) Integer
光レベル Integer
TPS Double
経過した時間(tick) Integer
合計経過時間(tick) Integer
ワールドの名前 String
プレイヤー達 List
ライター
+ ...
  • audio writer
具現化の内容 セットする値の種類
特定の楽器の指定された音 Integer
指定した名前の音 String
文字列読み上げ String

  • effect writer
具現化の内容 セットする値の種類
指定した速度で発射されるパーティクル Double

  • entity writer

IDs単体では何もできません

  • machine reader

IDs単体では何もできません

  • inventory reader

IDs単体では何もできません

  • redstone writer
具現化の内容 セットする値の種類
真のときに発生するレッドストーン信号 Boolean
指定の強さの信号 Integer
値が変化したときに発生するパルス Boolean
値が変化したときに発生するセットした強さのパルス Integer
その他
+ ...
  • logic cable

ロジックケーブルを使うことで処理に必要なネットワークパーツを一つのネットワークに組み込む事ができます。

  • variable store

このブロックに変数カードを入れておくことで関数の処理などに必要な変数カードをネットワークに認識させることができます。

  • static light panel

常に強さ15の光を発します

  • dynamic light panel

セットされた数値の強さの光を発します

  • display panel

セットしたカードの値を表示します。ディスプレイにセットしたカードはネットワークに認識されるので、そのカードを関数の入力に使ってもエラーは起きません。

  • proxy

プロキシ内に入っているカードの値になるカードを作成できます

  • materializer

セットしたカードの値から依存関係を切り、静的な値に変換してから下のカードに書き込みます

  • delayer

セットしたカードの値の履歴をリストとして出力します。

  • facade

ケーブルの見た目を好きなブロックに変えられます

Integrated Tunnels(ITs)

  • interface
インターフェースにはエネルギー、液体、アイテムの三種類あり、対面したブロックの内容物をネットワークが認識できるようにします。優先度やチャンネル、稼働頻度を設定できます。

  • importer/exporter
インポーター、エクスポーターというのはネットワーク目線での挙動です。インポート(搬入)、エクスポート(搬出)する主体がネットワークであり、対面するブロックは動作の対象なのでブロック目線だと挙動は逆になります。右側にある「+」を押せばチャンネル、ラウンドロビン(等量分配)、フィルターの精度などが設定でき、右上のボタンを押すと優先度と稼働頻度が設定できます。また、セットするカードの値の種類によって制御方法が異なります。

制御方法
Export/Import All 〇〇 Boolean 真の場合にすべての物を搬出入します
Export/Import 〇〇 Amount Integer セットされた速度で搬出入します
Export/Importer 〇〇 Item/Fluid セットしたものだけを搬出入します
Export/Import 〇〇s List セットされたリストに含まれるものだけを搬出入します
Export/Import Items Predicate Operator ITsへの応用にて後述
Export/Import 〇〇s NBT NBT セットしたNBTを含む物を搬出入します

  • player interface
エクスポーターの亜種としてプレイヤーインターフェースというものが存在します。これは搬出するアイテムを制御するのではなく、疑似プレイヤーが手に持ったアイテムを制御します。右クリック、左クリック、シフト、オフハンド、長押しなどを設定してシミュレートできます。

  • world系
World Item 〇〇 ドロッパーなどのようにアイテムをエンティティの形で搬出入します
World Fluid ○○ 空間に存在する液体を搬出入します
World Block ○○ 指定されたブロックをを空間に搬出入します

中級編

Operator(関数)

論理プログラマーを使うと、「値に対して操作を行った値」をもったカードを作ることができます。操作の内容を関数といい、操作される値、操作の結果得られる値をそれぞれ入力、出力と呼びます。例えば、「 f(x) = x+5 」という関数があったとき、関数fはx(入力)に対して+5という操作を行って出力する関数であると言えます。「リーダーで読み取った値に関数で操作を重ねていき、目的の値を得る」ということがIDsの本質です。IDsの関数には足し算やand、リストの何番目を取得するなどといった関数が存在し、「自分の目当ての情報を入手するためにどんな情報が必要か?」「その情報をどう操作すればいいか?」を考えるのがIDsを利用する上で重要な考え方になります。

何かしらの関数で処理した値をカードに書き込む場合、まず赤枠の中から使用する関数を選び、青枠に関数に代入する値を持ったカードをセットします。関数に入力できる値の種類は決まっており、それ以外を入力するとエラーを出力します。

関数一覧

+ ...
関数 入力の種類 出力の種類 処理
And Boolean,Boolean Boolean 入力が2つとも真のとき真を出力する
Or Boolean,Boolean Boolean 入力のどちらかが真のとき真を出力する
Not Boolean Boolean 入力の真偽を入れ替える
Nand Boolean,Boolean Boolean 入力が2つとも偽のとき真を出力する
Nor Boolean,Boolean Boolean 入力のどちらかが偽のとき真を出力する
Addition Number,Number Number 足し算
Subtraction Number,Number Number 引き算
Multiplication Number,Number Number 掛け算
Division Number,Number Number 割り算
Maximum Number,Number Number 入力のうち大きい方を出力する
Minimum Number,Number Number 入力のうち小さい方を出力する
Modulus Number,Number Number 入力1を入力2で割ったあまりを出力します
Increment Number Number 入力の1大きい数字を出力します
Decrement Number Number 入力の1小さい数字を出力します
Equals Any,Any Boolean 2つの入力が同じ時に真を出力します
Greater Than Number,Number Boolean 入力1が入力2より大きときに真を出力します
Less Than Number,Number Boolean 入力1が入力2より小さいときに真を出力します
Greater Than or Equal Any,Any Boolean 入力1が入力2より大きときか、同じ時に真を出力します
Less Than or Equal Any,Any Boolean 入力1が入力2より小さいときか、同じ時に真を出力します
And Integer,Integer Integer 編集中
Or Integer,Integer Integer 編集中
Xor Integer,Integer Integer 編集中
Complement Integer,Integer Integer 編集中
Left Shift Integer,Integer Integer 編集中
Right Shift Integer,Integer Integer 編集中
Right Zero Shift Integer,Integer Integer 編集中
Length String Integer Stringの文字数を出力します
Concat String,String String 入力1、入力2の順番で2つのStringを1つのStringにまとめます
String Contains String,String Boolean 入力1が入力2の中に含まれていれば真を出力します
Contains Regex String,String Boolean 編集中
Matches Regex String,String Boolean 編集中
Index Of String,String Integer 編集中
Index Of Regex String,String Integer 編集中
Starts With String,String Boolean 編集中
Ends With String,String Boolean 編集中
Split On String,String List 編集中
Split On Regex String,String List 編集中
Substring Integer,Integer,String String 編集中
Regex Group String,Integer,String String 編集中
Regex Groups String,String List 編集中
Regex Scan String,Integer,String String 編集中
Replace String,String,String String 編集中
Replace Regex String,String,String String,String,String 編集中
Join String,List String 編集中
To String Named String String以外の値をStirngに変換します
Unique Name Uniquely Named String 編集中
Round Number Integer 数字を整数に四捨五入します
Cell Number Integer 数字を整数に切り上げます
Floor Number Integer 数字を整数に切り捨てます
Is Null Any Boolean 入力の値が無の場合に真を出力します
Is Not Null Any Boolean 入力が無ではない場合に真を出力します
Empty List Boolean リストの中身が空のみの場合に真を出力します
Not Empty List Boolean リストの中身が空ではない場合に真を出力します
Get List,Integer Any リストの入力2番目の値を出力します
Get Or Default List,Integer,Any Any リストの「入力2」番目の値を出力し、リストに「入力2」番目がない場合、「入力3」を出力します
Contains List,Any Boolean リストの中に「入力2」が入っている場合に真を出力します
Contains Predicate List,Operator Boolean 述語の利用にて後述
Count List,Any Integer リストの中に何個入力2があるかを出力します
Count Predicate List,Operator Integer 述語の利用にて後述
Append List Any 入力したリストの中に入力2を追加したリストを出力します
Concat List,List List 2つのリストをまとめたリストを出力します
Lazy List Builder Any,Operator List 値としての関数の利用にて後述
Head List Any リストの一番最初の値を出力します
Tail List List 一番最後の値を取り除いたリストを出力します
Unique Predicate List,Operator List 述語の利用にて後述
Uniq List List リストの中にある同じ値を消したリストを出力します
Slice List,Integer,Integer List 編集中
Opaque Block Boolean 入力したブロックが不透過の場合真を出力します
Item Block Item ブロック型の値をアイテム型に変換します
Mod Block String 入力したブロックを追加するモッドの名前を出力します
Block Break Sound Block String 編集中
Block Place Sound Block String 編集中
Block Step Sound Block String 編集中
Block Is Shearable Block Boolean 編集中
Block Is Plant Block Boolean 指定したブロックが植物であれば真・それ以外なら偽を出力します
Block Plant Type Block String 編集中
Block Plant Block Block 編集中
Block Plant Age Block Integer 指定した植物の成長度合いを出力します
Size Item Integer 入力したアイテムが何個スタックしているかを出力します
Stackable Item Boolean アイテムがスタック可能な場合に真を出力します
Damageable Item Boolean 入力したアイテムに耐久値が設定されている場合に真を出力します
Damage Item Integer 入力したアイテムの現在の耐久値を出力します
Max Damage Item Integer アイテムの最大耐久値を出力します
Enchanted Item Boolean 入力したアイテムがエンチャントされていた場合に真を出力します
Enchantable Item Boolean 入力したアイテムがエンチャント可能な場合に真を出力します
Repair Cost Item Integer アイテムを金床で修理する際のリペアコストを表示します
Rarity Item String 編集中
Strength vs Block Item,Block Double 指定したツールで指定したブロックを採掘できるかの真偽を出力します
Can Harvest Item,Block Boolean 編集中
Block Item Block アイテム型の値をブロック型に変換します
Has Fluid Item Boolean アイテムが液体を保持していた場合に真を出力します
Fluid Item Fluid アイテム型の値を液体型に変換します
Fluid Capacity Item Integer アイテムが最大何mBの液体保持できるかを出力します
NBT equals Iten,Item Boolean アイテムのNBTが同じ時に真を出力します
Raw Item Equals no NBT Item,Item Boolean 編集中
Raw Item equals Item,Item Boolean 編集中
Mod Item String 入力したアイテムを追加するmodの名前を出力します
Fuel Burn Time Item Integer アイテムが何 tick 燃焼するかを出力します
Is Fuel Item Boolean アイテムが燃料になる場合に真を出力します
Tag Names Item List 編集中
Tag Values String List 編集中
Item With Stacksize Iten,Integer Item 入力したアイテム型の値にスタック数を追加します
Is FE Container Item Boolean アイテムがFEの保持が可能な場合に真を出力します
FE Stored Item Integer アイテムが保持しているFEを出力します
FE Capacity Item Integer アイテムが保持できるFE量を出力します
Item Has Inventory Item Boolean アイテムがインベントリを持つものなら真を出力します
Item Is Plant Item Boolean アイテムが植物の場合に真を出力します
Item Inventory Size Item Integer アイテムのインベントリサイズを出力します
Item Plant Type Item String 編集中
Item By Name String Item アイテムの名前をアイテム型にして出力します
Item List Count List,Item Integer リスト内にあるアイテムの数を出力します
Item NBT Item NBT アイテムのNBTを出力します
Has NBT Item Boolean アイテムがNBTを持っていた場合に真を出力します
Is Mob Entity Boolean エンティティがモブの場合に真を出力します
Is Animal Entity Boolean エンティティが動物の場合に真を出力します
Is Item Entity Boolean エンティティがアイテムの場合に真を出力します
Is Player Entity Boolean エンティティがプレイヤーの場合に真を出力します
Is Minecart Entity Boolean エンティティがトロッコの場合に真を出力します
Item Entity Item エンティティ型の値をアイテム型にして出力します
Health Entity Double エンティティの体力を出力します
Width Entity Double エンティティの幅を出力します
Height Entity Double エンティティの高さを出力します
Is Burning Entity Boolean エンティティが燃えている場合に真を出力します
Is Wet Entity Boolean エンティティが濡れている場合に真を出力します
Is Crouching Entity Boolean エンティティがしゃがんでいる場合に真を出力します
Is Eating Entity Boolean エンティティが食事中の場合に真を出力します
Armor Inventory Entity List エンティティが装備しているアイテムをリストにして出力します
Player Inventory Entity List プレイヤーのが持っているアイテムをリストにして出力します
Mod Entity String 入力したエンティティを追加するmodを出力します
Target Block Entity Block エンティティが見ているブロックを出力します
Target Entity Entity Entity エンティティが見ているエンティティを出力します
Has GUI Open Entity Boolean プレイヤーがGUIを開いていた場合に真を出力します
Held Item Mainhand Entity Item プレイヤーが利き手に持っているアイテムを出力します
Held Item Offhand Entity Item プレイヤーがオフハンドに持っているアイテムを出力します
Mounted Entity Entity List 入力したエンティティに乗っているエンティティを出力します
Item Frame Contents Entity Item 額縁に入っているアイテムを出力します
Item Frame Rotation Entity Integer 額縁に入っているアイテムの向きを出力します
Entity Hurt Sound Entity String 編集中
Entity Death Sound Entity String 編集中
Entity Age Entity Integer エンティティの齢を出力します
Entity Is Child Entity Boolean エンティティが子供の場合に真を出力します
Entity Can Breed Entity Boolean エンティティが繁殖可能な場合に真を出力します
Entity Is In Love Entity Boolean エンティティが発情している場合に真を出力します
Entity Can Breed With Entity,Entity Boolean 入力した二体のエンティティで繁殖できる場合に真を出力します
Entity Is Shearable Entity Boolean エンティティにハサミを使うことが可能な場合に真を出力します
Entity NBT Entity NBT エンティティのNBTを出力します
Entity Type Entity String 編集中
Entity Items Entity List ドロップアイテムをリストで出力します
Entity Fluids Entity List 編集中
Entity Energy Stored Entity Integer 編集中
Entity Energy Capacity Entity Integer 編集中
Amount Fluid Integer 液体型の値に保存されている液体の量を出力します
Block Fluid Block 液体型の値をブロック型に変換します
Luminosity Fluid Integer 液体が発している光を出力します
Density Fluid Integer 編集中
Viscosity Fluid Integer 編集中
Is Gaseous Fluid Boolean 編集中
Rarity Fluid String 編集中
Raw Fluid Equals Fluid,Fluid Boolean 編集中
Mod Fluid String 入力した液体を追加するmodを出力します
Fluid NBT Fluid NBT 液体のNBTを出力します
Fluid with Amount Fluid,Integer Fluid 液体型の値に量を追加します
Apply Operator,Any Any 関数の編集にて後述
Apply 2 Operator,Any,Any Any 関数の編集にて後述
Apply 3 Operator,Any,Any,Any Any 関数の編集にて後述
Map Operator,List List 値としての関数の利用にて後述
Filter Operator,List List 述語の利用にて後述
Conjunction Operator,Operator Operator 関数の編集にて後述
Disjunction Operator,Operator Operator 関数の編集にて後述
Negation Operator Operator 関数の編集にて後述
Pipe Operator,Operator Operator 関数の編集にて後述
Pipe 2 Operator,Operator,Operator Operator 関数の編集にて後述
Flip Operator Operator 関数の編集にて後述
Reduce Operator,List,Any Any 値としての関数の利用にて後述
Reduce 1 Operator,List Any 値としての関数の利用にて後述
Operator By Name String Operator 入力した名前の関数を出力します
NBT Compound Size NBT Integer 複合NBTの中に含まれるNBTの数を出力します
NBT Compound Keys NBT List 複合NBTに含まれるNBTのタグ名のリストを出力します
NBT Compound Has Key NBT,String Boolean 複合NBTに入力した名称のNBTタグが含まれていた場合に真を出力します
NBT Compound Entry Type NBTNBT,String String 編集中
NBT Compound Value NBT,String NBT 複合NBT内の入力したタグのNBTを出力します
NBT Compound Value Boolean NBT,String Boolean 複合NBT内の入力したタグのBooleanを出力します
NBT Compound Value Integer NBT,String Integer 複合NBT内の入力したタグのIntegerを出力します
NBT Compound Value Long NBT,String Long 複合NBT内の入力したタグのLongを出力します
NBT Compound Value Double NBT,String Double 複合NBT内の入力したタグのNBTを出力します
NBT Compound Value String NBT,String String 複合NBT内の入力したタグのStringを出力します
NBT Compound Value Compound NBT,String NBT 複合NBT内の入力したタグの複合NBTを出力します
NBT Compound Value List NBT NBT,String List 複合NBT内の入力したタグのリストを出力します
NBT Compound Value Byte Array NBT,String List 編集中
NBT Compound Value Integer Array NBT,String List 編集中
NBT Compound Value Long Array NBT,String List 編集中
NBT Compound Without NBT,String NBT 複合NBT内の入力したタグ以外の複合NBTのコピーを出力します
NBT Compound With Boolean NBT,String,Boolean NBT 複合NBT内の入力したタグかつ入力したBooleanを持った複合NBTのコピーをを出力します
NBT Compound With Sort NBT,String,Integer NBT 編集中
NBT Compound With Integer NBT,String,Integer NBT 複合NBT内の入力したタグかつ入力したIntegerを持った複合NBTのコピーをを出力します
NBT Compound With Long NBT,String,Long NBT 複合NBT内の入力したタグかつ入力したLongを持った複合NBTのコピーをを出力します
NBT Compound With Float NBT,String,Float NBT 複合NBT内の入力したタグかつ入力したFloatを持った複合NBTのコピーをを出力します
NBT Compound With String NBT,String,String NBT 複合NBT内の入力したタグかつ入力したStringを持った複合NBTのコピーをを出力します
NBT Compound With NBT NBT,String,NBT NBT 複合NBT内の入力したタグかつ入力したNBTを持った複合NBTのコピーをを出力します
NBT Compound WIth NBT List NBT,String,List NBT 編集中
NBT Compound With Byte List NBT,String,List NBT 編集中
NBT Compound With Int List NBT,String,List NBT 編集中
NBT Compound With Long List NBTmString,List NBT 編集中
NBT Compound Subset NBT,NBT Boolean 最初の複合NBTの値が2つ目の複合NBTの部分集合または同じ場合に真を出力します
NBT Compound Union NBT,NBT NBT 入力した2つの複合NBTの和集合を出力します
NBT Compound Intersection NBT,NBT NBT 入力した2つの複合NBTの共通部分を出力します
NBT Compound Minus NBT,NBT NBT 入力した2つの複合NBTの差分を出力します
NBT Boolean As Booelan NBT Integer NBTのIntegerをBoolean型にして出力します
NBT Byte As Integer NBT Integer 編集中
NBT Short As Integer NBT Integer 編集中
NBT Integer As Integer NBT Integer NBTのIntegerをInteger型にして出力します
NBT Long As Long NBT Long NBTのLongをLong型にして出力します
NBT Double As Double NBT Double NBTのDoubleをDouble型にして出力します
NBT Float As Double NBT Double NBTのFloatをDouble型にして出力します
NBT String As String NBT String NBTのStringをString型にして出力します
NBT List As List NBT List NBTのListをList型にして出力します
NBT Byte Array As Byte List NBT List 編集中
NBT Integer Array As Integer List NBT List 編集中
NBT Long Array As Long List NBT List 編集中
NBT Byte From Boolean Boolean NBT 入力したBooleanの値を持ったNBTを出力します
NBT Short From Integer Integer NBT 編集中
NBT Byte From Integer Integer NBT 編集中
NBT Integer From Integer Integer NBT 入力したIntegerの値を持ったNBTを出力します
NBT Long From Long Long Integer 入力したLongの値を持ったNBTを出力します
NBT Double From Double Double NBT 入力したDoubleの値を持ったNBTを出力します
NBT String From String String NBT 入力したStringの値を持ったNBTを出力します
NBT List From Tag List List NBT 入力したNBTタグのリストの値を持ったNBTを出力します
NBT Byte Array From Byte List List NBT 編集中
NBT Integer Array From Integer List List NBT 編集中
NBT Long Array From Long List List NBT 編集中
NBT Path Match First String,NBT NBT 編集中
NBT Path Test String,NBT Boolean 編集中
Ingredient Items Ingredients List 編集中
Ingredient fluids Ingredients List 編集中
Ingredient energy Elements Ingredients List 編集中
Ingredients With Item Ingredients,Integer,Item Ingredients 編集中
Ingredients With Fluid Ingredients,Integer,Fluid Ingredients 編集中
Ingredients With Energy Ingredients,Integer,Integer Ingredients 編集中
Ingredients With Items Ingredients,List Ingredients 編集中
Ingredients With Fluids Ingredients,List Ingredients 編集中
Ingredients With Energy Elements Ingredients,List Ingredients 編集中
Recipe Input Ingredients Recipe Ingredients 編集中
Recipe Output Ingredients Recipe Ingredients 編集中
Recipe With Input Ingredients Recipe,Ingredients Recipe 編集中
Recipe With Output Ingredients Recipe,Ingredients Recipe 編集中
Recipe With Input and Output Ingredients Ingredients,Ingredients Recipe 編集中
Parse String Boolean StringをBooleanに変換します
Parse String Double StringをDoubleに変換します
Parse String Integer StringをIntegerに変換します
Parse String Long StringをLongに変換します
Parse String NBT StringをNBTに変換します
Choice Boolean,Any,Any Any 入力が真の場合、入力2を出力し、偽の場合は入力3を出力します
Identity Any Any 入力と同じ値を出力します
Constant Any,Any Any 入力1を出力します
Cast Integer Double 型を変換します
Cast Integer Long 型を変換します
Cast Double Integer 型を変換します
Cast Double Long 型を変換します
Cast Long Integer 型を変換します
Cast Long Double 型を変換します

小技・テクニックなど

Labeller
IDsで何か装置を作ろうとすると、変数カードたくさん使うのでカードの役割が分かりづらくなります。Labellerを使うとカードに名前をつけられるようになり、カードの整理が簡単になります。インベントリにLabellerがある状態だと論理プログラマーのGUIに名前を入力する欄が出てくるのでいちいちLabellerを開く必要のありません。また、Labellerは経験値を消費せずにアイテムの名付けができるので、AE2のMEインタフェースなどの名付けにも使えます
再帰
IDsでは直接再帰構造を実装する方法がありません。無理やり実装してもエラーを吐いてしまうので、少し工夫する必要があります。

1.ディレイヤー
ディレイヤーの上部スロットに再帰的参照をするカードを入れ、値の履歴を関数に組み込むことで数tick後の値を処理することになり、本質的には違う値となるのでエラーを吐きません。また、初期値が必要になるので履歴の中の要素を取得する際はgetではなくgetOrDefaultを使うのが良いでしょう。

2.レッドストーンリーダーライター
レッドストーンリーダーとレッドストーンライターを向かい合わせに設置することで、ライターが具現化した値がリーダーの方で読み取らせることができます。ライターにセットする関数にリーダーが読み取った値を使えるので再帰的な処理が行えます。しかし、booleanとintegerでしか使えないのでカウンターやフリップフロップ以外の実装にはあまり使えません。
レッドストーン
バニラの論理制御要素であるレッドストーン。一部のmodのブロックは特定の状況でレッドストーン信号を発したり、逆にレッドストーン信号を受け取ることで制御できることがあります。これを活用すれば自動化が楽になることがあります(特にBotania)。自動化機構を考える前に加工設備や導管の仕様について知っておきましょう。
ピックアップディレイフィルタリング
アイテムを拾えるようになるまでの時間をピックアップディレイといい、World Item Exporterはこの時間を自由にいじることができます。これを活用するとワールド上でアイテムエンティティを加工する設備を簡単に自動化できます(特にBotania)。

セットアップ
Ignore Pickup DelayをオフにしたWorld Item Importerと、ピックアップディレイを加工時間より長く設定したWorld Item Exporterをアイテムが加工される場所に向けて設置します。Importerには素のvariable cardをセットし、Exporterを加工のトリガーと同時にアイテムを搬出するようにすればセットアップは完了です。

仕組み
最初に材料がExporterから搬出されます。Exporterから搬出されたアイテムはピックアップディレイがあるのでImporterに搬入されず、そのまま加工設備によって加工されます。そして加工されたときに出現する成果物はピックアップディレイがリセットされるので、Importerに回収されます。これにより加工後のアイテムだけを回収する仕組みが作れます。特にBotaniaのRunic Altarは下位ルーンが上位ルーンの素材になるため成果物のリストを使わずにフィルタリングを行うことで上位ルーン用と下位ルーン用で自動化設備を共有できます。

上級編

NBT

アイテム、ブロック、エンティティなどが何かしらの個性(エンチャント、保持電力、体力など)を持つ場合、その個性の情報はNBTに記録されます。NBTとはいわば表で、値(タグ)とそれに紐づいた名前(タグネーム)の集まりです。IDsはブロックリーダーやitem NBT関数等を使ってゲーム上に存在するNBTを取得でき、NBTの中からNBT compound value ~関数を使って目当ての値を取り出すことができます。NBTに対して特定のタグネームを持った値を取得することでブロックの状態に基づいた制御が可能になります(特にBotania)。

関数の編集

中級編では関数とは操作であるという認識でも問題ありませんでしたが、より深く理解するために中級編での関数の定義をもう一度見てみましょう。
操作の内容を関数といい、操作される値、操作の結果得られる値をそれぞれ入力、出力と呼びます。
初級編の値の種類にOperatorがあったり、関数の定義で薄々察することができますが、操作の内容を情報として扱うことで関数を値の中の一種とすることができ、IntegerやItemと同じように値として関数に入力することも出力されることもできます。ここから先は言語化が難しいので説明に擬似コード(抽象化した大まかなプログラム)や図を用いることがあります。

変数カードに保存した関数は特定の関数を使うことで編集することが可能です。独自の関数を作成し、さらに複雑な処理を行うことができます。
関数 入力の種類 出力の種類 処理
Apply Operator,Any Any 入力した関数に入力した値を代入します。
f = ( a, x, y, z ) -> { ... }   とすると、
apply( f, value1 ) ≒ ( x, y, z ) -> f( value, x, y, z )
Apply 2 Operator,Any,Any Any 入力した関数に2つ値を代入します。
f = ( a, x, y, z ) -> { ... }   とすると、
apply( f, value1, value2 ) ≒ ( y, z ) -> f( value, value2, y, z )
Apply 3 Operator,Any,Any,Any Any 入力した関数に3つ値を代入します。
f = ( a, x, y, z ) -> { ... }   とすると、
apply( f, value1, value2, value3 ) ≒ ( z ) -> f( value, value2, value3, z )
Pipe Operator,Operator Operator 1つ目の関数の出力を2つ目の関数の入力に流します。
f = ( a ) -> { ... },
g = ( x, y ) -> { ... }   とすると、
pipe( f, g ) ≒ ( x, y ) -> g( f( x ), y )
Pipe 2 Operator,Operator,Operator Operator 1つ目、2つ目の関数の出力を3つ目の関数の入力に流します。
f = ( a ) -> { ... },
g = ( b ) -> { ... },
h = ( x, y ) -> { ... }   とすると、
pipe2(f, g, h) ≒ ( x ) -> h( f( x ), g( x ) )
Flip Operator Operator 最初の2つの入力の順番を入れ替えます。
f = ( a, b ) -> { ... }   とすると、
flip( f ) ≒ ( x, y ) -> f( y, x )
Conjunction Operator,Operator Operator 入力された関数をANDに流します。
conjunction( f, g ) == ( x, y ) -> f( x ) && g( y ) )
Disjunction Operator,Operator Operator 入力された関数をORに流します。
disjunction( f, g ) == ( x, y ) -> f( x ) ‖ g( y ) )
Negation Operator Operator 入力された関数をNOTに流します。
negation( f ) == ( x ) -> !f( x )

値としての関数の利用

Lazy List Builder Any,Operator List 漸化式の要領でリストをを生成します。
lazyListBuilder( x, f ) == [ x, f( x ), f( f( x ) ), f( f( f( x ) ) ), ...]
Map Operator,List List リストの値を順に関数に代入していき、入力した結果リストを出力します。
map( f, list ) == [ f( list[0] ), f( list[1] ), f( list[2] ), ...]
Reduce Operator,List,Any Any
Reduce 1 Operator,List Any

Predicate(述語)

関数の中でも出力の種類がBooleanの関数のことをPredicate(述語)と言います。IDsに置いては大抵の場合入力の数が1つのものを指します。何かしらの入力があったときに、それが条件を満たしているかを判別する事ができます。前述した関数編集をを行うことで用途に合わせた条件を持った述語を作成できます。

述語の利用

Contains Predicate List,Operator Boolean リストの中に述語が真を出力するような要素があれば真を出力します
Count Predicate List,Operator Integer リストの中の述語が真を返す要素の数を返します
Unique Predicate List,Operator List 入力が2つある述語を「2つの値を同一とみなすか」の判断に使い、その結果見つかった固有な要素のみを含むリストを出力します。
Filter Operator,List List リストの要素に対して、「取り除くべき要素であるか」の判断に述語を使い、該当する要素を取り除いたリストを出力します。
ITsへの応用
様々なmodのアイテムパイプや液体パイプが色々なフィルタリング機能を持っている中、フィルタリングという機能の本質は「どれが通って良いかを決める」という判断に集約します。この判断を述語に任せることで、ただのホワイトリストやブラックリストはもちろん、鉱石辞書に特定の文字列を含むなどの複雑かつ強力なフィルタリングが可能になります。ITsの各種インポーター、エクスポーターのGUIの一番下には述語をセットできるスロットがあるのでそこに適切な型を入力に持った述語のカードをセットすることで述語を利用したフィルタリングができます。
「Integrated Dynamics」をウィキ内検索
LINE
シェア
Tweet
添付ファイル
  • 2022-01-17_08.19.15.png
  • audio reader.png
  • audio writer.png
  • block reader.png
  • delayer.png
  • display panel.png
  • dynamic light panel.png
  • effect writer.png
  • energy exporter.png
  • energy importer.png
  • energy interface.png
  • entity reader.png
  • entity writer.png
  • extra dimentional reader.png
  • facade.png
  • fluid exporter.png
  • fluid importer.png
  • fluid interface.png
  • fluid reader.png
  • image.webp
  • inventory writer.png
  • inventroy reader.png
  • item exporter.png
  • item importer.png
  • item interface.png
  • machine reader.png
  • machine writer.png
  • materializer.png
  • mono-directional connector.png
  • network reader.png
  • omni-directional connector.png
  • player interface.png
  • proxy.png
  • redstone reader.png
  • redstone writer.png
  • reduce 1.png
  • reduce.png
  • static light panel.png
  • variable store.png
  • world block exporter.png
  • world block importer.png
  • world energy exporter.png
  • world energy importer.png
  • world fluid exporter.png
  • world fluid importer.png
  • world item exporter.png
  • world item importer.png
  • world reader.png
FTB Interactions v2.0.9 Wiki
記事メニュー

メイン

  • トップページ
  • 全体の流れ
  • 自動化・輸送
  • マルチブロック抜粋
  • 日本語化について

mod別解説

Actually Additions
Blood Magic
Botania
Ender IO
GregTech
Integrated Dynamics
Mekanism
Reliquary
Super Factory Manager
Thermal Expansion
Tinkers Construct
Wizardry


簡易解説

序盤

中盤

終盤



ゲームプレイ

装備関連
豆知識
ディメンションに関して
ハードコアモードでの注意点
プレイ動画リンク

関連サイト

FTB Interactions ver 1.9.1 のWiki
記事メニュー2

更新履歴

取得中です。
人気記事ランキング
  1. 日本語化について
  2. Integrated Dynamics
  3. 導入方法
  4. 鉱脈
  5. Reliquary
  6. プレイ動画リンク
  7. Botania
  8. 豆知識
もっと見る
最近更新されたページ
  • 455日前

    Integrated Dynamics
  • 778日前

    電力
  • 929日前

    Magic Energy Absorber(MEA)
  • 973日前

    日本語化について
  • 1036日前

    Tinkers Construct
  • 1036日前

    Mekanism
  • 1036日前

    Blood Magic
  • 1037日前

    メニュー
  • 1037日前

    Botania
  • 1037日前

    Wizardry
もっと見る
人気記事ランキング
  1. 日本語化について
  2. Integrated Dynamics
  3. 導入方法
  4. 鉱脈
  5. Reliquary
  6. プレイ動画リンク
  7. Botania
  8. 豆知識
もっと見る
最近更新されたページ
  • 455日前

    Integrated Dynamics
  • 778日前

    電力
  • 929日前

    Magic Energy Absorber(MEA)
  • 973日前

    日本語化について
  • 1036日前

    Tinkers Construct
  • 1036日前

    Mekanism
  • 1036日前

    Blood Magic
  • 1037日前

    メニュー
  • 1037日前

    Botania
  • 1037日前

    Wizardry
もっと見る
ウィキ募集バナー
新規Wikiランキング

最近作成されたWikiのアクセスランキングです。見るだけでなく加筆してみよう!

  1. VCR GTA3まとめウィキ
  2. R.E.P.O. 日本語解説Wiki
  3. ガンダムGQuuuuuuX 乃木坂46部@wiki
  4. ドタバタ王子くん攻略サイト
  5. ありふれた職業で世界最強 リベリオンソウル @ ウィキ
  6. STAR WARS ジェダイ:サバイバー攻略 @ ウィキ
  7. 機動戦士ガンダム EXTREME VS.2 INFINITEBOOST wiki
  8. アサシンクリードシャドウズ@ ウィキ
  9. パズル&コンクエスト(Puzzles&Conquest)攻略Wiki
  10. SYNDUALITY Echo of Ada 攻略 ウィキ
もっと見る
人気Wikiランキング

atwikiでよく見られているWikiのランキングです。新しい情報を発見してみよう!

  1. アニヲタWiki(仮)
  2. ストグラ まとめ @ウィキ
  3. ゲームカタログ@Wiki ~名作からクソゲーまで~
  4. 初音ミク Wiki
  5. 検索してはいけない言葉 @ ウィキ
  6. 機動戦士ガンダム バトルオペレーション2攻略Wiki 3rd Season
  7. oblivion xbox360 Wiki
  8. Grand Theft Auto V(グランドセフトオート5)GTA5 & GTAオンライン 情報・攻略wiki
  9. 発車メロディーwiki
  10. SDガンダム ジージェネレーションクロスレイズ 攻略Wiki
もっと見る
全体ページランキング

最近アクセスの多かったページランキングです。話題のページを見に行こう!

  1. 魔獣トゲイラ - バトルロイヤルR+α ファンフィクション(二次創作など)総合wiki
  2. 参加者一覧 - ストグラ まとめ @ウィキ
  3. サーヴァント/一覧/クラス別 - Fate/Grand Order @wiki 【FGO】
  4. ロスサントス救急救命隊 - ストグラ まとめ @ウィキ
  5. 大量発生型相変異バッタオーグ - アニヲタWiki(仮)
  6. 発車メロディー変更履歴 - 発車メロディーwiki
  7. RqteL - ストグラ まとめ @ウィキ
  8. ロスサントス警察 - ストグラ まとめ @ウィキ
  9. 雑談・交流掲示板 - 星の翼(Starward) 日本語wiki @ ウィキ
  10. 鬼レンチャン(レベル順) - 鬼レンチャンWiki
もっと見る

  • このWikiのTOPへ
  • 全ページ一覧
  • アットウィキTOP
  • 利用規約
  • プライバシーポリシー

2019 AtWiki, Inc.