{
  "name": "程式設計師",
  "icon": "pneumaticcraft:programmer",
  "category": "pneumaticcraft:programming",
  "advancement": "pneumaticcraft:printed_circuit_board",
  "pages": [
    {
      "type": "text",
      "text": "$(item)程式設計師/$ 是用於程式設計 $(l:tools/drone)無人機/$ 的機器，使用一個視覺化程式設計系統，其中 $(l:programming/puzzle_pieces)拼圖塊/$ 在程式設計 GUI 中組合。$(thing)程式設計師/$ 不需要 $(l:base_concepts/pressure)壓力/$ 來操作。$(thing)程式設計/$ 類別的其餘部分有更多關於如何編寫無人機程式的資訊。"
    },
    {
      "type": "crafting",
      "text": "製作程式設計師",
      "recipe": "pneumaticcraft:programmer"
    },
    {
      "type": "image",
      "images": [
        "pneumaticcraft:textures/patchouli/programmer_gui.png"
      ],
      "text": "$(italic)程式設計師 GUI：檢視以下頁面以獲取每個部分的資訊/$"
    },
    {
      "type": "text",
      "text": "$(bold)1. 主程式設計區域/$$(p)該區域是您實際構建程式的地方。小部件從 $(thing)小部件托盤 (區域 2)/$ 拖動到此處並“拼接”在一起以形成程式。$(p)您可以使用滑鼠滾輪或右側的捲軸放大和縮小程式設計區域。"
    },
    {
      "type": "text",
      "text": "$(bold)2. 小部件托盤/$$(p)該區域存放您將用於構建程式的小部件。它儲存比顯示的更多小部件；您可以透過托盤下的箭頭按鈕迴圈瀏覽頁面，或透過 $(thing)空格/$ 或 $(thing)Tab/$ 擴充套件托盤以顯示所有小部件。$(p)當擴充套件時，托盤還將顯示一個文字框，您可以在其中輸入篩選字串以搜尋小部件。"
    },
    {
      "type": "text",
      "text": "$(bold)3. 無人機插槽/$$(p)將要程式設計的 $(l:tools/drone)無人機/$（或 $(l:components/network_components)網路儲存/API/$）放置在此處。當準備好為無人機程式設計時，按下 $(thing)⟶/$ 按鈕以寫入程式。您也可以使用左側的文字框為無人機命名（如果願意）。成功時會聽到聲音反饋。$(p)您還可以使用 $(thing)⟵/$ 按鈕從無人機（或網路儲存/API）匯入程式。"
    },
    {
      "type": "text",
      "text": "$(bold)4. 難度選擇/$$(p)這些單選按鈕控制小部件托盤中可用的程式設計小部件的種類。它們還啟用/停用一些高階功能，例如 $(l:programming/coordinate_operator)變數/$。$(p)$(bold)5. 玩家庫存/$$(p)您的個人庫存；如果您有任何 $(l:tools/gps_tool)GPS 工具/$ 或 $(l:tools/gps_area_tool)GPS 區域工具/$，則可以單擊它們以將其設定轉移到 $(l:programming/area)區域/$ 或 $(l:programming/coordinate)座標/$ 小部件。"
    },
    {
      "type": "text",
      "text": "$(bold)6. 導航和顯示選項/$$(p)您可以使用這些按鈕來：$(li)導航到程式的 $(l:programming/start)開始/$ 小部件$(li)導航到您放置的最後一個小部件$(li)切換是否顯示每個小部件的額外資訊$(li)切換是否顯示 $(l:programming/jump)跳轉/$ 和 $(l:programming/label)標籤/$ 小部件之間的連線線"
    },
    {
      "type": "text",
      "text": "$(bold)7. 其他按鈕/$$(p)GUI 左邊緣的按鈕允許（按順序）：$(li)$(thing)撤銷/$ 最近的 20 次操作$(li)$(thing)重做/$ 上一個撤銷操作$(li)$(thing)匯入或匯出/$ 您的程式作為 JSON 檔案到 $(l:https://pastebin.com)pastebin.com/$（可選登入）$(li)$(thing)刪除/$ 您的整個程式（可以撤銷）$(li)$(thing)轉換/$ 您的程式為 $(thing)相對/$ 座標（有關更多資訊，請參見 $(l:programming/programmer#convert_relative)此頁面/$）"
    },
    {
      "type": "text",
      "anchor": "ids",
      "title": "Progwidget IDs",
      "text": "如果您使用 $(thing)F3+H/$ 切換到擴充套件工具提示資訊，您會注意到每個程式設計小部件的工具提示最後也包含內部小部件 ID。如果您打算透過 $(l:machines/drone_interface)無人機介面/$ 進行任何無人機程式設計，這主要是有益的 - $(thing)setAction()/$ Lua 方法在無人機介面中將這些 ID（$(thing)pneumaticcraft:/$ 字首是可選的）作為引數。"
    },
    {
      "type": "text",
      "title": "共享程式",
      "text": "如果您想與其他玩家共享您的程式，有幾種選擇：$(li)您可以使用 $(thing)Pastebin/$ 按鈕將您的程式匯出到 $(l:https://pastebin.com)pastebin.com/$$(li)$(thing)Pastebin/$ GUI 還允許將程式寫入剪貼簿以進行復制和黏貼$(li)您可以將程式儲存到 $(l:tools/drone)無人機/$ 或 $(l:components/network_components)網路儲存/網路 API/$ 並將該物品交給您伺服器上的另一個玩家。"
    },
    {
      "type": "text",
      "anchor": "convert_relative",
      "title": "轉換為相對",
      "text": "假設您設計了一個執行自動化農場的程式，並想要分享這個程式。其他人在不同的世界中農場的位置會不同，因此他們必須更改每一個 $(l:programming/area)區域/$ 小部件；這太麻煩了。$(p)$(thing)轉換為相對/$ 按鈕使這變得更簡單；它還提供工具提示，指示您需要做些什麼來轉換程式。"
    },
    {
      "type": "text",
      "anchor": "convert_relative",
      "title": "轉換為相對（續）",
      "text": "您需要新增一個固定的 $(l:programming/coordinate_operator)座標運算子/$ 小部件，以及一個包含 $(thing)基位置/$ （例如輸入箱的位置）的 $(l:programming/coordinate)座標/$ 小部件。然後，它將您程式中使用的任何絕對位置（區域或座標）轉換為相對於該基位置的座標。$(p)現在，程式的使用者只需調整一個座標即可使用您的程式！"
    },
    {
      "type": "text",
      "flag": "mod:jei",
      "anchor": "jei",
      "title": "JEI 整合",
      "text": "如果安裝了 JEI，您會注意到在開啟程式設計師 GUI 的同時，如果開啟 JEI 配方顯示，會有一個“+”（移動物品）按鈕。單擊它將為食譜中的每個輸入專案新增 $(l:programming/item_filter)專案過濾器/$ 小部件。如果您在程式設計區域中有一個 $(l:programming/crafting)製作/$ 小部件，沒有附加專案過濾器，則會將專案過濾器新增到製作小部件，以快速方便地設定食譜。否則，它們將被新增到程式設計區域的左上角的一行。"
    },
    {
      "type": "text",
      "flag": "mod:jei",
      "title": "JEI 整合（續）",
      "text": "預設情況下，僅為每種唯一物品型別新增一個專案過濾器（例如，對於 $(item)石板/$ 食譜，僅會建立一個 $(item)石頭/$ 過濾器，而不是三個）。請記住，可以透過中間單擊和拖動來複制小部件。如果您想為食譜中的每個物品（包括重複項）新增一個專案過濾器，請在單擊 JEI 中的“+”按鈕時按住 Shift。"
    }
  ]
}