简介
用于 MC 客户端的 JavaScript 执行器 —— 通过 JS 脚本自动操控玩家:移动、建造、战斗、背包管理、世界查询,并支持 Baritone 配合使用。面向人类玩家和 AI 代理双场景设计。
此模组的部分灵感来源于 Playwright.js —— 让 AI 代理通过 JavaScript 控制浏览器。
Pendulum 将同样的能力带入 MC,通过简洁的 JS API 实现复杂的自动化与 AI 集成。
功能
🧑 面向玩家
/pendulum execute — 在聊天框直接运行 JavaScript;
/pendulum file — 运行 .minecraft/pendulum/ 目录下的 .js 脚本;
mc.* — 80+ API 函数:mc.player.forward()、mc.world.findBlocks()、mc.inv.hasItem()、mc.gui.click() 等;
pendulum.* — 日志输出(pendulum.log/warn/error)、模组检测(pendulum.isModLoaded)、权限查询(pendulum.getPermission);
br.* — 45 个 Baritone 函数:寻路、采矿、农耕、蓝图建造。
🤖 面向 AI 代理
提供两种模式供代理控制:数据模式和视觉模式。
数据模式提供直接的 JavaScript API 控制,视觉模式允许代理通过截图和模拟输入与游戏交互。
快速上手
// 前进 1 秒(20 tick)
/pendulum execute mc.player.forward(20)
// 开采附近所有南瓜
/pendulum execute for(let p of mc.world.findBlocks('minecraft:pumpkin',4)){ mc.player.breakBlockAt(p.x,p.y,p.z) }
// 运行脚本文件
/pendulum file farm.js
// AI 代理工作流:截图 → 点击 → 输入
gui/screenshot → gui/clickButton("Done") → simulate/typeText("Hello", true)
MCP 服务器(AI 代理用)
/pendulum mcp start # 启动 (默认端口 25566)
/pendulum mcp stop # 停止
/pendulum mcp status # 查看状态
将 MCP 客户端连接到 localhost:25566 即可使用。支持在配置界面中设置自动启动。
版本支持情况
| MC版本 | Fabric | Forge | NeoForge |
|---|
| 1.20.1 | 完全支持 | 完全支持 | 完全支持 |
| 1.21.1 | 完全支持 | 不支持 | 完全支持 |
| 26.1.2 | 开发中 | 不支持 | 开发中 |