compass-bot/README.md
2023-11-05 21:49:15 +08:00

72 lines
2.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Compass Bot
## 安装
运行下面命令安装 Node.JS 的依赖包并应用补丁:
```sh
npm i
npx patch-package
```
## 配置认证数据
在项目根目录下创建 `credentials.json`,包含如下内容:
```json
{
"endpoint": "Yggdrasil API 调用点",
"endpoint_auth": "Yggdrasil API 用户服务器调用点(可选)",
"endpoint_session": "Yggdrasil API 会话服务器调用点(可选)",
"accounts": [{
"handle": "登录名(在支持非邮箱登录的 Yggdrasil 服务器上可选)",
"password": "密码",
"profiles": ["角色名1", "角色名2"]
}]
}
```
## 运行
运行下面命令启动:
```sh
node index.mjs profile@hostname[:port]
```
参数含义:
+ `profile`:表示连接到服务器使用的角色名
+ `hostname`:服务器地址
+ `port`:服务器端口(可选,默认值为 25565
命令行选项:
+ `--offline`:使用离线模式启动
+ `--credentials-lib <file>`:指定登录凭据文件(可选,默认值:`credentials.json`
+ `--no-local-repl`:禁用终端内 REPL
+ `--protocal`:指定服务器版本(可选,不指定时自动检测)
+ `--owner`: 指定 REPL 上下文内 `owner()` 函数返回的玩家
+ `--enable-tcp-repl`:启用基于 TCP 连接的远程 REPL
* `--tcp-repl-port`TCP 远程 REPL 的服务端口(可选,默认值 2121
+ `--remote-repl-passcode-length`:远程 REPL 的服务口令强度(可选,默认值 8
## REPL
REPL 上下文内预先定义了如下变量/函数/类型:
+ `PI`:常数,等于 `Math.PI`
+ `bot`:机器人对象
+ `Vec3`3 维向量类型
+ `debug`:调试日志模块
+ `mineflayer`: mineflayer 模块默认导出
+ `lib.utils`: compass-utils 模块导出
+ `lib.control`: mineflayer-control 模块导出
+ `lib.flyctl`: mineflayer-fly-control 模块导出
+ `sc.pos()`: 缩写,返回 `bot.entity.position`
+ `sc.debug_mfc()`:缩写,等价于 `debug.enable('mineflayer-control')`
+ `sc.debug_mff()`:缩写,等价于 `debug.enable('mineflayer-fly-control')`
+ `sc.sleep`:缩写,等价于 `lib.utils.asyncSleep`
+ `sc.tossHeld()`:缩写,等价于 `bot.tossStack(bot.heldItem)`
+ `bb`:所有 REPL 实例的共享数据