工具
读完本页,你就能使用界面里为制作包的人准备的四个工具:创建 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 关闭对话框。