我的世界(Minecraft)。可查询 MC 版本、服务器信息、玩家皮肤信息以及四大平台资源;支持管理服务器,功能梭哈
npm install koishi-plugin-mc-tools
我的世界(Minecraft)。可查询 MC 版本、服务器信息、玩家皮肤信息以及四大平台资源;支持管理服务器,功能梭哈
- 资源查询:查询 MCWiki、MCMOD 百科、CurseForge 和 Modrinth 上的内容
- 链接解析:自动识别并解析聊天中的 Minecraft 相关资源链接
- 玩家信息:查询玩家 UUID、皮肤、渲染 3D 模型和头像
- 版本功能:查询最新版本,自动推送 Minecraft 版本更新通知
- 状态功能:查询官方服务状态,自动推送服务状态变更通知
- 服务器信息:查询 Java 版和基岩版服务器状态、玩家、模组和插件列表
- 服务器交互:通过 WebSocket 连接服务器、执行 RCON 命令、发送游戏内消息
- 通知功能:接收游戏内玩家加入、退出、聊天等事件并推送到群组
- mc.ver - 查询 Minecraft 最新版本
- mc.status - 查询 Minecraft 官方服务状态
- mc.info [server] - 查询 Java 版服务器信息
- mc.info.be [server] - 查询基岩版服务器信息
mc.info 命令支持在服务器映射群组(serverMaps)中配置对应群组,以直接查询对应服务器。
- mc.player - 查询玩家信息
- mc.player.skin - 获取玩家皮肤预览
- -e, --elytra: 显示鞘翅
- -c, --cape: 不显示披风
- mc.player.head - 获取玩家大头娃娃
- mc.player.raw - 获取玩家原始皮肤
渲染图像均支持使用 -b, --bg 设置背景颜色 (HEX 格式)
所有命令均支持使用 -s, --server 选项指定服务器 ID:
- mc.server.say - 发送聊天消息到服务器
- mc.server.run - 执行服务器命令
- mc.server.bind [username] - 白名单管理
- -r, --remove: 解绑指定用户名
mc.search命令在不指定任何选项时,会使用提供的关键词,在 Modrinth 和 CurseForge 平台进行搜索。
如果指定了 -p 平台选项,则会覆盖默认配置,只使用指定的平台进行搜索。
结果会进行合并,并提供交互式选择,允许用户选择查看特定结果的详情,或翻页查看更多结果。
如果缓存中结果已全部显示完毕,会自动应用偏移量进行第二次搜索并继续显示内容。
- mc.search - 聚合搜索
- -p : 指定平台 (modrinth, curseforge, mcmod, mcwiki, 可用逗号分隔)
- -s : 排序方式 (视平台支持)
- -v : 支持版本
- -l : 加载器
- -k : 跳过结果数
- -t : 资源类型 (视平台支持,例如: mod, modpack, resourcepack, shader等)
- -mrf : [Modrinth] 高级过滤 (JSON 字符串,例如 [["versions:1.19.2"],["project_type:mod"]])
- -cfo : [CurseForge] 升降序 (asc/desc)
- -ww : [MCWiki] 搜索范围 (例如: title, text, nearmatch)
- -mm: [MCMOD] 启用复杂搜索模式
- -d: 下载模式 (视平台支持)
以下命令会使用提供的关键词,在对应平台进行搜索,并直接展示第一个搜索结果的详细信息。
支持 -s 截图选项,使用该选项会将输出结果的网页进行截图并逐条发送。这需要 Puppeteer 服务。
- mc.mcwiki - 查询 MCWiki 内容
- -k : 跳过结果数
- -w : 搜索范围 (例如: title, text, nearmatch)
- -e: 精确匹配关键词
- mc.mcmod - 查询 MCMOD 百科
- -t : 资源类型 (例如: mod, modpack, item, post, author, user, community)
- -m: 启用复杂搜索模式
- -c: 获取社区信息 (用于模组和整合包)
- -r: 获取关联模组信息 (用于模组和整合包)
- -o: 获取额外信息 (用于教程和物品)
- -p : 指定结果页码
以下命令在支持 -s 截图选项的基础上,还支持 -d 下载选项,使用该选项会获取资源的文件列表。可以选择具体文件进行下载。
- mc.modrinth - 查询 Modrinth 资源
- -t : 资源类型 (例如: mod, modpack, resourcepack, shader)
- -v : 支持版本
- -l : 加载器 (例如: fabric, forge, quilt)
- -f : 高级过滤 (JSON 字符串或逗号分隔的 key:value 对)
- -k : 跳过结果数
- -sort : 排序方式 (例如: relevance, downloads, follows, new, updated)
- -dep: 显示依赖关系
- mc.curseforge - 查询 CurseForge 资源
- -t : 资源类型 (例如: mod, modpack, resourcepack, shader等)
- -v : 支持版本
- -l : 加载器 (例如: forge, fabric, quilt, neoforge等)
- -k : 跳过结果数
支持自动识别和解析聊天消息中的以下 Minecraft 相关资源链接:
- Modrinth 链接:modrinth.com/mod/project-id 等
- CurseForge 链接:curseforge.com/minecraft/mc-mods/project-name 等
- MCMOD 百科 链接:mcmod.cn/class/123.html 等
- Minecraft Wiki 链接:minecraft.wiki/w/Page_Name 等
当用户在群聊中发送这些链接时,插件会自动获取并展示对应资源的详细信息。
- 查询开关配置:
- linkParserEnabled: 启用链接解析 ('disable'/'text'/'shot')
- disable: 禁用链接解析功能
- text: 启用链接解析,以文本形式返回结果
- shot: 启用链接解析,以截图形式返回结果(需要 Puppeteer 服务)
- mcwikiEnabled: 启用 MC Wiki 查询 (布尔值)
- modrinthEnabled: 启用 Modrinth 查询 (布尔值)
- mcmodEnabled: 启用 MCMOD 查询 (布尔值或API字符串)
- curseforgeEnabled: 启用 CurseForge 查询 (布尔值或API密钥字符串)
用于控制各个资源查询功能的开启或关闭。
CurseForge API 密钥需自行申请,也可加入 QQ 群 855571375 获取作者申请的 Key 进行使用。
MC 百科内容处理调用了作者自行编写的 API,由于使用了 CloudFlare Worker,国内访问可能会受影响。
- 资源查询配置:
- useForward: 启用合并转发 (布尔值)
- useScreenshot: 启用网页截图 (布尔值)
- useFallback: 启用发送回退 (布尔值)
- maxParagraphs: 详情段数限制 (数字)
- maxDescLength: 每段字数限制 (数字)
用于调整资源查询命令的行为和显示效果。
合并转发功能仅在 onebot 平台可用,其余平台会自动以纯文本形式发送,网页截图功能需要 Puppeteer 服务支持。maxParagraphs 和 maxDescLength 默认限制为合并转发所允许的最大长度,一般情况下无需调整。
- 版本&玩家查询配置:
- playerEnabled: 启用玩家信息查询 (布尔值)
- verEnabled: 启用最新版本查询 (布尔值)
- updInterval: 更新检查间隔(分钟) (数字)
- noticeTargets: 版本更新推送目标 (对象数组)
- platform: 平台 ID (字符串)
- channelId: 频道 ID (字符串)
- type: 推送类型 ('release'/'snapshot'/'both')
配置是否启用玩家信息查询和最新版本查询功能。
可以设置版本更新的检查频率和自动推送通知的目标群组或频道。
- 服务状态通知配置:
- statusUpdInterval: 状态检查间隔(分钟) (数字)
- statusNoticeTargets: 服务状态变更推送目标 (对象数组)
- platform: 平台 ID (字符串)
- channelId: 频道 ID (字符串)
配置服务状态变更的检查频率和自动推送通知的目标群组或频道。
- 服务器查询配置:
- infoEnabled: 启用服务器查询 (布尔值)
- serverApis: 服务器查询 API (对象数组)
- type: API 类型 ('java'/'bedrock')
- url: API URL (字符串, 使用 ${address} 指代地址)
- serverTemplate: 服务器信息模板 (字符串)
用于控制服务器信息查询功能。可以自定义查询结果的显示格式。
已预先添加多个查询 API,一般情况下无需另行配置。
#### 信息模板变量
服务器信息模板支持以下变量:
- {ip} - 服务器IP地址
- {srv} - SRV记录信息
- {icon} - 服务器图标
- {motd} - 服务器描述信息
- {version} - 服务器版本
- {online} - 在线玩家数
- {max} - 最大玩家数
- {ping} - 延迟时间
- {software} - 服务器软件
- {edition} - 服务器版本类型(Java/基岩/教育版)
- {gamemode} - 游戏模式
- {eulablock} - EULA封禁状态
- {serverid} - 服务器ID
- {playerlist:n} - 在线玩家列表(限制显示n个)
- {playercount} - 在线玩家总数
- {pluginlist:n} - 插件列表(限制显示n个)
- {plugincount} - 插件总数
- {modlist:n} - 模组列表(限制显示n个)
- {modcount} - 模组总数
同一行内所有变量均为空时会跳过该行显示
- bindEnabled: 启用白名单管理 (布尔值)
- 服务器映射群组 (serverMaps):设置群组与服务器的关联 (对象数组)
- serverId: 服务器 ID (数字, 必填)
- platform: 平台 ID (字符串)
- channelId: 频道 ID (字符串)
- serverAddress: 服务器地址 (字符串)
允许将特定群组关联特定 Minecraft 服务器。这样在对应群组中使用相关命令时,可无需手动指定服务器 ID 或地址。
如果开启 RCON 和bindEnabled选项,可支持用户自行绑定白名单,绑定列表会以文件形式保存在data目录下。
- RCON配置 (rconServers):配置RCON连接参数 (对象数组)
- id: 服务器 ID (数字, 必填)
- rconAddress: RCON地址 (字符串, 如 localhost:25575)
- rconPassword: RCON密码 (字符串)
RCON 是一种允许远程执行服务器命令的协议。
在此处配置服务器的 RCON 地址和密码后,可以使用命令通过 RCON 与服务器交互。
使用 Docker 部署时可能会出现渲染问题和字体问题。
原因:koishijs/koishi 镜像中的 Chromium 不支持 WebGL,需要安装 chromium-swiftshader。
如果插件出现皮肤渲染失败或仅显示背景,截图文字显示异常等情况,可按照以下步骤进行解决:
``bash删除原有 Chromium(latest-lite 镜像用户可跳过此步)
docker exec -it <容器ID> apk del chromium
完成上述步骤后重启 Puppeteer 插件即可正常使用,无需添加
--disable-gpu` 参数