本篇教程由作者設定使用CC BY-NC-SA協議。

無人機程序拼圖詳解,點擊查看原文檔

作者:AnECanSaiTin

———————分割線———————————

注釋:不影響程序,僅用以注釋文字。

開始:一切程序的起始,必須有一個且只能有一個。

 

標簽類:

氣動工藝:無人機編程拼圖詳解-第1張圖片
 

區域:用于設定坐標區域,可以用gps或是以變量的形式來設置。并且可以調整所選區域低形狀以及更多細節。

文本:用于為其他編程拼圖提供文本信息的補充,如發出紅石信號強度。

物品過濾器:用于設定物品、方塊的信息,可以通過在物品列表或是背包中選擇,也可以通過變量來設定。如果需要匹配同一id下的不同物品或是耐久度則需要勾選第一個復選框并設置相應的數值。如果需要匹配不同的NBT數據,如不同的附魔則勾選第二個。第三個可以匹配礦辭。第四個匹配所選物品所在mod的所有內容。第五個專門用來配合“挖掘區域”拼圖設定方塊,如果某些方塊在標記后無人機無法正確識別,可以試試勾選這個復選框。

物品分配:用于在該編程中設置一個物品類型變量,需配合”物品過濾器”使用。

流體過濾器:用于標記流體。

坐標:標記一個坐標常數或是讀取坐標變量,可以通過GPS導入或是手動輸入。需要與“坐標運算符”、“條件:坐標配合”使用

坐標運算符:對坐標進行計算,計算結果會保存在設置的變量內。可以設置運算符有

+/- ×/÷ 最大/最小 。“/”左邊的運算在拼圖的右邊進行,“/”右邊的運算在拼圖左邊進行。

行動類:

連接在行動類拼圖左側的標簽類拼圖表示忽略該內容,右側為僅以該內容為目標。如在“挖掘區域”標簽左側連接了標記有泥土的“物品過濾器”,則在執行挖掘任務時不會挖掘泥土。若在右側連接了標記有石頭的“物品過濾器”,則只會挖掘石頭。所有的行動類拼圖均需要連接“區域”拼圖來劃定工作區域。

行動類拼圖必須連接“區域”拼圖,若未連接其他用于過濾的拼圖則會對區域內的所有符合條件的方塊/實體/流體執行任務。

  攻擊實體:攻擊設定區域內的所有實體,可以通過“文本”拼圖來設置目標。目標被無人機鎖定,會用一條紅色線條與無人機連接,即便目標離開設定區域無人機依舊會跟蹤并攻擊,直到目標死亡或無人機死亡。無人機的攻擊與玩家相同,無武器時的攻擊傷害與空手相當,當然在使用帶有附魔效果的武器時也能發揮附魔的效果。如果無人機安裝了“實體追蹤”升級則會為無人機裝備一把加特林機槍進行遠程攻擊,注意這需要為無人機提供彈藥,可以通過“從容器中取得物品”拼圖來獲取彈藥。

  挖掘區域:破壞設定區域內的所有方塊,可以通過“物品過濾器”拼圖來設置方塊目標。無人機的挖掘與玩家相同,無工具時的挖掘速度與空手相當,當然在使用帶有附魔效果的工具時也能發揮附魔的效果。可設置挖掘順序,當勾選“需要挖掘工具”復選框則需要在有對應工具的情況下才會挖掘相應的方塊,可以通過“從容器中取得物品”拼圖來獲取工具。如勾選“限制方塊交互”復選框則會在破壞設定數量的方塊后立即執行下一個拼圖任務。

  收獲:收獲設定區域內的所有作物,包括小麥,甘蔗,可可豆以及大部分的其他模組的作物。在一般情況下,該程序僅僅進行收獲,而不進行種植,如果提供了鋤頭則會在收貨后自動補種。可以通過“物品過濾器”拼圖來設置作物目標。可設置收獲順序,當勾選“需要鋤頭”復選框則需要在有鋤頭的情況下才會收獲相應的作物,可以通過“從容器中取得物品”拼圖來獲取鋤頭。如勾選“限制方塊交互”復選框則會在收獲設定數量的作物后立即執行下一個拼圖任務。

  放置:在設定區域內放置方塊,可以通過“物品過濾器”拼圖來設置放置的方塊。可設置放置順序,放置時的方向(即模擬玩家放置方塊時右擊哪個面)。當勾選“限制方塊交互”復選框則在放置設定數量的方塊后立即執行下一個拼圖任務。

  右擊方塊:右擊設定區域內的所有方塊,可以通過“物品過濾器”拼圖來設置目標方塊。可設置右擊的順序,右擊時的方向(即模擬玩家右擊方塊的哪個面)。如勾選“潛行狀態”則會模擬玩家在潛行狀態右擊方塊。勾選“限制方塊交互”復選框則會在右擊設定數量的方塊后立即執行下一個拼圖任務。

  右擊實體:右擊設定區域內的實體,可以通過“文本”拼圖來設置目標實體。

  撿起物品:拾取設定區域內的所有掉落物,可以通過“物品過濾器”拼圖來設置拾取的物品。

  掉落物品:將庫存的物品以掉落物的形式丟出到設定區域,如果指定了一個范圍則只會在一個位置將物品全部丟出。可以通過“物品過濾器”拼圖來設置丟出的物品。當勾選“使用計數”復選框則會丟出設定數量的物品。可以設置丟出物品的形式,Random表示向隨機方向丟出物品,不會精確地掉落在某個點;Straight表示丟出物品精準的落在下方方塊中心。

  輸出物品到容器:將庫存的物品輸出到設定區域的容器內,如果指定了一個范圍則會先填滿其中一個容器才會輸出到下一個容器。可以通過“物品過濾器”拼圖來設置輸出的物品。可以設置于容器交互的面(用于像熔爐這類不同的面代表不同的內部槽位的容器/機器)。如勾選“使用計數”則會輸出所設置的物品數量。

  從容器中取得物品:將設定區域容器內的物品取出到庫存中,如果指定了一個范圍則只會在一個容器的物品全部取出后才會與下一個容器交互。可以通過“物品過濾器”拼圖來設置取出的物品。可以設置于容器交互的面(用于像熔爐這類不同的面代表不同的內部槽位的容器/機器)。如勾選“使用計數”則會取出所設置的物品數量。

  輸出流體:將庫存中的流體輸出到設定區域內的容器內或放置在世界上。如果設定了一個范圍則只會在一個容器無法容納更多流體后才會與下一個容器交互。可以通過“流體過濾器”拼圖來設置輸出的流體。可以設置于容器交互的面(用于不同的面代表不同的內部槽位的容器/機器)。如勾選“使用計數”則會輸出所設置的流體的量(單位:mb)。如勾選“防止流體”復選框則會將流體導出到世界上(流體須達到1000mb)。

  輸入流體:將設定區域容器內的流體取出到庫存中,如果指定了一個范圍則只會在一個容器的流體全部取出后才會與下一個容器交互。可以通過“流體過濾器”拼圖來設置取出的流體。可以設置于容器交互的面(用于不同的面代表不同的內部槽位的容器/機器)。如勾選“使用計數”則會取出所設置的流體的量(單位:mb)。

  搭載實體(當前錯譯為“卸載實體”):將設定區域內的實體搭載到無人機上(只能搭載一個實體),可以通過“文本”拼圖來設置目標實體。

  卸載實體(當前錯譯為“搭載實體”):將搭載的實體卸載到設定區域內,可以通過“文本”拼圖來設置目標實體(然而只能搭載一個實體,沒得選擇)。

  去某位置:移動到設定區域,可設置何時進行下一項拼圖程序。Done when arrived 當到達設定區域時開始下一項拼圖程序。Done when departing 當離開起始點時開始下一項拼圖程序。

  傳送至某位置:以傳送的方式移動到設定區域,可設置何時進行下一項拼圖程序。Done when arrived 當到達設定區域時開始下一項拼圖程序。Done when departing 當離開起始點時開始下一項拼圖程序。

  發出紅石信號:發出紅石信號,需要連接“文本”拼圖來設置信號強度。

  標簽:用來承接程序內的跳轉,如“跳轉”、“條件類”拼圖程序。需要連接“文本”拼圖程序來指定連接的位置,設置成功后有白色線條連接。

  跳轉:用來跳轉到程序內的“標簽”,需要連接“文本”拼圖程序來指定連接的位置,設置成功后有白色線條連接。

  

氣動工藝:無人機編程拼圖詳解-第2張圖片

等待:設置一段時間什么都不做,需要連接“文本”拼圖程序來指定等待的時間。(20 等待20 ticks ;10s 等待10秒 ;5m 等待5分鐘)

  重命名無人機:重命名無人機,需要連接“文本”拼圖程序來指定名稱。

  自毀:如同被扳手右擊,變成掉落物。

  外部程序:執行設定范圍內容器內的無人機、網絡API以及安全站內的網絡API的程序。如果容器內有多個可執行程序,則會以從左往右,從上往下的順序依次讀取程序。如果在范圍內有多個容器,則會以離無人機最近的容器開始讀取程序。如勾選“共享變量”復選框則會在執行各個程序時變量值共享(如上一個程序設置了變量C=5,則在下一個程序中,C的初始值=5)

  合成:將庫存內的物品以設定的合成表合成。需要按照合成表在右側連接物品過濾器,設置成功后會在“合成”拼圖程序中顯示產物。如勾選“使用計數”則會合成設置的次數。

  待機:執行到該程序時,無人機將會停止工作降落到地表以節省壓縮氣體,直到能執行下一個任務。通常會配合“條件類”拼圖進行使用。

  物流:在設定區域執行物流任務,工作方式與物流無人機相同。

  對于每個坐標:將標記的坐標進行循環并將坐標賦予設定賦予變量,如果標記的是一個區域,則會按照從南向北,從東向西,從下向上的方向將整個區域劃分為單個的坐標進行循環(但在一個循環完成后的的下一個取值卻很迷,雖然最后會回到第一個坐標從新開始循環)。如果想要中止循環,只需要插入一個坐標值為0,0,0的坐標,當循環進行到該坐標時就會停止對設定變量的賦值,直到下一輪循環的同一位置不為0,0,0才繼續賦值。該程序拼圖可以與“文本”連接已實現“跳轉”拼圖程序的功能。

對于每個物品:將標記的物品進行循環并將物品設定賦予變量,如果想要中止循環,只需要插入一個空的“物品過濾器”,當循環進行到空的“物品過濾器”時就會停止對設定變量的賦值,直到下一輪循環的同一位置不為空的“物品過濾器”才繼續賦值。該程序拼圖可以與“文本”連接已實現“跳轉”拼圖程序的功能。

編輯告示牌:編輯設定區域的所有告示牌內容,需要連接“文本”拼圖程序來設定文字內容。每個“文本”表現代表一行內容。

  輸出RF:將無人機所儲存的RF能量輸出到設定區域的設備內。如果指定了一個范圍則只會在一個設備無法在導入RF能量時再與下一個設備交互。如勾選“使用計數”則會輸出所設置的RF的量。可以設置檢測方塊的某個面(應對機器/設備不同面訪問不同內部槽位)。

輸出RF:將設定區域的設備的RF能量輸入到無人機內。如勾選“使用計數”則會抽取所設置的RF的量。可以設置檢測方塊的某個面(應對機器/設備不同面訪問不同內部槽位)。

  ComputerCraft 控制:與設定區域的無人機接口交互,以便讓ComputerCraft或是OpenComputers進行控制

條件類:

該類型拼圖分為兩部分上方為條件部分,下方為跳轉部分,功能與“跳轉”相同。當結果為“真”時觸發右下跳轉,“假”則觸發左下跳轉,沒有可以跳轉的文本時觸發下方拼圖程序。

 

條件:坐標 :將設置的坐標進行數值大小比較,不同坐標軸的數值為“與”關系,右上與左中為(x1,y1,z1),左上與又中為(x2,y2,z2)。分為左上右上與左中右中兩組,當兩組坐標同時滿足所設置的條件時為“真”,否則為“假”。

氣動工藝:無人機編程拼圖詳解-第3張圖片
 

 條件:紅石 :將標記區域的紅石信號與設定值進行比較。左上為忽略該程序拼圖內容,右上為以該程序拼圖內容為目標。如果標記的是一個區域,則會依照設置來進行判斷 Any block:范圍內所有紅石信號強度為“或”關系;All blocks:范圍內所有紅石信號強度為“與”關系。可以設置檢測方塊的某個面(應對某些機器不同的面發出不同的紅石信號強度)。當滿足所設置的條件時為“真”,否則為“假”。

條件:亮度等級 :將標記區域的亮度等級與設定值進行比較。左上為忽略該程序拼圖內容,右上為以該程序拼圖內容為目標。如果標記的是一個區域,則會依照設置來進行判斷 Any block:范圍內所有亮度等級為“或”關系;All blocks:范圍內所有亮度等級為“與”關系。可以設置檢測方塊的某個面(應對不同的面亮度等級不同)。當滿足所設置的條件時為“真”,否則為“假”。

條件:物品 :檢測標記區域容器內的物品并與設定物品比較。左上為忽略該程序拼圖內容,右上為以該程序拼圖內容為目標。如果標記的是一個區域,則會依照設置來進行判斷 Any block:范圍內所有容器為“或”關系;All blocks:范圍內所有容器為“與”關系。可以設置檢測方塊的某個面(應對機器/設備不同面訪問不同內部槽位)。

條件:物品 真值表

輸入

輸出

左中

右中


無輸入

無輸入

無輸入

無輸入

  

條件:方塊 :檢測標記區域方塊并與設定方塊比較。左上為忽略該程序拼圖內容,右上為以該程序拼圖內容為目標。如果標記的是一個區域,則會依照設置來進行判斷 Any block:范圍內所有方塊為“或”關系;All blocks:范圍內所有方塊為“與”關系。 如勾選“檢查空氣”則可以檢測空氣方塊(對應空的“物品過濾器”), 如勾選“流體”則可以檢測流體方塊(對應選擇了流體方塊的“物品過濾器”)。

條件:方塊 真值表

輸入

輸出

左中

右中


無輸入

無輸入

無輸入

無輸入


 條件:流體 :檢測標記區域容器內的流體并與設定流體比較。左上為忽略該程序拼圖內容,右上為以該程序拼圖內容為目標。如果標記的是一個區域,則會依照設置來進行判斷 Any block:范圍內所有容器為“或”關系;All blocks:范圍內所有容器為“與”關系。可以設置檢測方塊的某個面(應對機器/設備不同面訪問不同內部槽位)。(設置單位為mb)

條件:流體 真值表

輸入

輸出

左中

右中


無輸入

無輸入

無輸入

無輸入


 條件:實體 :檢測標記區域實體并與設定實體比較。左上為忽略該程序拼圖內容,右上為以該程序拼圖內容為目標。左中、右中需連接“文本”拼圖程序來設置實體目標。

條件:實體 真值表

輸入

輸出

左中

右中


無輸入

無輸入

無輸入

無輸入


 條件:壓力 :檢測標記區域壓力值并與所設置的設壓力值比較。左上為忽略該程序拼圖內容,右上為以該程序拼圖內容為目標。如果標記的是一個區域,則會依照設置來進行判斷 Any block:范圍內所有壓力值為“或”關系;All blocks:范圍內所有壓力值為“與”關系。可以設置檢測方塊的某個面(應對不同面壓力值不同)。當滿足所設置的條件時為“真”,否則為“假”。

條件:物品過濾器 :用于比較“物品過濾器”,通常用于設置了變量的“物品過濾器”。右上與有中進行比較,左上:忽略右上拼圖內左上拼圖所設置的物品;左中:忽略右中拼圖內左中拼圖所設置的物品。當滿足所設置的條件時為“真”,否則為“假”。

無人機條件:物品 :檢測無人機的庫存并與右上所連接的“物品過濾器”比較,忽略左上所連接的“物品過濾器”標記的物品。當滿足所設置的條件時為“真”,否則為“假”。

無人機條件:流體 :檢測無人機的庫存并與右上所連接的“流體過濾器”比較,忽略左上所連接的“流體過濾器”標記的流體。當滿足所設置的條件時為“真”,否則為“假”(單位為mb)。

無人機條件:實體 :檢測無人機所搭載的實體并與右上所連接的“文本”比較,忽略左上所連接的“文本”標記的實體。當滿足所設置的條件時為“真”,否則為“假”。

無人機條件:壓力 :檢測無人機的壓力值并與所設置的壓力值比較。當滿足所設置的條件時為“真”,否則為“假”。

條件:RF :檢測標記區域設備RF的量并與所設置的值比較。左上為忽略該程序拼圖內容,右上為以該程序拼圖內容為目標。如果標記的是一個區域,則會依照設置來進行判斷 Any block:范圍內所有設備為“或”關系;All blocks:范圍內所有設備為“與”關系。可以設置檢測方塊的某個面(應對設備不同面RF值不同)。當滿足所設置的條件時為“真”,否則為“假”。

無人機條件:RF :檢測無人機存儲的RF的量并與所設置的RF值比較。當滿足所設置的條件時為“真”,否則為“假”。