工具
讀完本頁,你就能使用介面裡為製作套件的人準備的四個工具:建立 lip.toml、移轉舊的 tooth.json、封裝 ZIP,以及檢視任意一個套件的套件檔。
如果你只是執行伺服器,用不到這個頁面。想了解什麼是套件、怎樣發佈套件,請閱讀建立套件。
頁面
這些工具在目前工作區裡操作。要處理你自己的模組,請在模組的資料夾裡啟動 lip,或者在工作區頁新增那個資料夾。
開啟頁面:在側邊欄移到工具,按 Enter。
- 所選操作的作用。用
↑↓移動,按Enter執行。 - 目前工作區:這些操作所在的資料夾。
- 這個資料夾裡有沒有
lip.toml和tooth.json:已存在或不存在。lip 每兩秒檢視一次,所以這兩行會跟上你在 lip 之外做的改動。 - 灰色的操作:按資料夾現在的情況做不了的操作。見灰色的操作。
| 操作 | 作用 | 命令 |
|---|---|---|
| 建立 lip.toml | 為新的套件寫出套件檔。 | lip pkg init |
| 移轉 tooth.json | 把 lip 0.x 的套件檔轉換為 lip.toml。 | lip pkg migrate |
| 封裝 ZIP… | 把一個資料夾封裝成 ZIP 壓縮檔。 | lip pkg pack |
| 檢視套件資訊… | 顯示一個套件的套件檔和可用版本。 | lip pkg view |
名稱以 … 結尾的操作會先詢問,然後才動手。
灰色的操作
哪些操作做得了,由狀態行裡的兩個檔案決定。被它們排除的操作顯示為灰色。選取這樣的操作時,說明下面會多出一行原因,螢幕最下面一行也不再列出 Enter。
- 原因。
| 操作 | 何時變灰 | 頁面上的說明 |
|---|---|---|
| 建立 lip.toml | 資料夾裡已有 lip.toml。lip 不會取代它。 | 這裡已有 lip.toml。 |
| 移轉 tooth.json | 資料夾裡已有 lip.toml。 | 這裡已有 lip.toml。 |
| 移轉 tooth.json | 資料夾裡沒有 tooth.json。 | 這裡沒有 tooth.json。 |
**封裝 ZIP…和檢視套件資訊…**從不變灰。伺服器是否在執行對這個頁面沒有影響:四個操作都不會改動伺服器。
檔案的情況一變,操作就恢復可用。想用新的 lip.toml 重新開始,就在檔案管理器裡刪掉舊的;兩秒之內頁面會顯示 lip.toml 不存在,建立 lip.toml 又可以選擇了。
建立 lip.toml
-
移到建立 lip.toml,按
Enter。lip 會詢問套件 ID。 -
輸入 ID,按
Enter。ID 就是套件的儲存庫地址,例如github.com/owner/repo。不是這種地址的回答會被重新詢問。按Esc取消,不寫入任何內容。問題本身是命令的原話,是英文。 -
lip 在工作區裡寫出
lip.toml並告知。按Enter。
檔案裡有你給的 ID、版本 0.1.0,以及一個針對 Windows x64 伺服器的條目:
format = 4
id = "github.com/steve/WelcomeMod"
version = "0.1.0"
[[variants.""]]
side = "server"
platform = "win-x64"之後請用文字編輯器編輯它;每個欄位的含義見 lip.toml。
檔案有了之後,這個操作就變灰了:
- lip 不會取代已有的
lip.toml。
移轉 tooth.json
lip 0.x 的套件用 tooth.json 描述自己。這個操作寫出內容相同的 lip.toml,並刪除 tooth.json。
-
移到移轉 tooth.json。狀態行是
lip.toml不存在、tooth.json已存在時,它才可以選擇。- 讓這個操作可以進行的狀態行。
-
按
Enter。如果tooth.json缺少lip.toml需要的內容,lip 會逐項詢問。這裡舊檔案沒有寫明適用的平臺:輸入回答,按
Enter。無效的回答會被重新詢問。 -
lip 顯示結果。按
Enter。- 以
⚠標出的提示:新檔案裡換了一種寫法的內容,或者新檔案裡沒有位置放的內容。請逐條閱讀,並檢查lip.toml裡對應的部分。提示是英文。 - 結果:
lip.toml已寫入,tooth.json已刪除。
- 以
-
狀態行現在反過來了,這個操作也變灰了:已經沒有可移轉的東西。
兩種格式之間有哪些變化,見移轉套件。
封裝 ZIP…
這個操作把一個資料夾封裝成 ZIP 壓縮檔,用來附在套件的發行版上。它會問兩件事:封裝哪個資料夾,以及寫到哪個檔案。
-
移到封裝 ZIP…,按
Enter。資料夾瀏覽器從工作區開啟,標題是要封裝的資料夾。- 將被封裝的資料夾。要封裝工作區本身就不用動;否則開啟別的資料夾。
- 按
Tab到按鈕,在選擇此資料夾上按Enter。
-
第二個瀏覽器開啟,標題是儲存 ZIP。它預設使用工作區裡的
package.zip這個名字。- ZIP 寫入的資料夾。想存到別處,就開啟別的資料夾。
- ZIP 的檔案名稱。按
Tab到這裡可以改名;沒寫.zip會自動補上。在這個輸入框裡按Enter就是儲存。
按
Esc回到第一步。 -
如果同名檔案已經存在,lip 會先詢問再取代。
Enter預設按下的是取消,它會回到檔案名稱那一步;要取代,先按←再按Enter。 -
lip 寫出壓縮檔並顯示它的路徑。按
Enter。
壓縮檔裡是資料夾中的所有檔案,路徑與在資料夾裡相同;壓縮檔自身,以及資料夾頂層的 .git 和 .lip 兩個資料夾除外。
瀏覽器的完整用法見資料夾和檔案瀏覽器。
檢視套件資訊…
這個操作在安裝之前顯示 lip 對一個套件的瞭解:它的套件檔,以及有哪些版本。它不會改動工作區。
移到檢視套件資訊…,按 Enter。lip 會問套件在哪裡:
在這三項裡按 Esc 都會回到這個選擇。
已安裝的模組
-
在**已安裝的模組…**上按
Enter。lip 列出工作區裡安裝的內容:先是你安裝的模組,然後是它們的相依,最後是遊戲和載入器。- 已安裝的版本。
- 灰色的行:只是因為別的套件需要才安裝的套件。
太長的名稱會從中間截斷,清單下面的一行顯示完整名稱。
-
在某個套件上按
Enter。lip 讀取它的套件檔(可能需要聯網)並顯示結果。按Esc停止等待。manifest:已安裝版本的套件檔,以 JSON 顯示。再往下,versions列出儲存庫裡的所有版本。
用
↑、↓、PgUp、PgDn、Home、End捲動,按Esc關閉檢視器。
沒有安裝任何套件的工作區裡沒有可列出的內容:
輸入一個套件
在**輸入套件…**上按 Enter,像在命令行裡那樣輸入套件:一個儲存庫(想看特定版本就加上 @ 和版本號)、一個 ZIP 檔案的網址,或者一個路徑。
按 Enter。結果的顯示方式與已安裝的模組相同。
磁碟上的檔案或資料夾
在**瀏覽…**上按 Enter。瀏覽器列出資料夾和 .zip 檔案。
- ZIP 檔案:按
Enter顯示其中的套件。 - 選擇此資料夾把地址欄裡的資料夾當作套件來顯示:也就是含有
lip.toml的資料夾,比如你自己模組的資料夾。 - 清單顯示的檔案類型。
操作失敗時
頁面只根據兩個狀態行來判斷操作要不要變灰。操作仍然可能因為別的原因失敗:tooth.json 寫壞了、找不到套件、資料夾剛剛被刪掉。這時 lip 會顯示一個對話方塊,標題是操作的名稱加上失敗,並且不改動任何東西。
- 錯誤:出了什麼問題,通常還有該怎麼辦。每一行 caused by: 都把原因再往深處說一層,最後一行往往最具體。這裡是
tooth.json裡沒有version。這段文字來自命令,是英文。 - 完整報告:記錄詳細資訊的檔案,位於工作區的
.lip/logs下。求助時請附上它,見故障排除。
按 Enter 或 Esc 關閉對話方塊。