Links
Tags
Creators
Details
1.0.0+1.21.11
Compatibility
Changes
📖 简介
Codex Client Control 是一款专为 Minecraft 1.21.11 设计的客户端控制模组,支持 Fabric 和 NeoForge 双平台。它在本地启动一个仅监听 127.0.0.1 的 HTTP/WebSocket 服务器,为外部脚本和程序提供安全、便捷的客户端控制接口。
无论你是想实现自动化农场、批量建造、自动采集,还是需要开发复杂的 AI 控制逻辑,Codex Client Control 都能为你提供强大的底层支持。
🌟 核心优势
- 🔒 安全可靠 - 仅监听本地回环地址,内置 Token 认证机制
- ⚡ 双模通信 - HTTP REST API + WebSocket 实时推送
- 🎮 完整控制 - 支持移动、视角、GUI 操作、物品栏管理等全功能
- 🤖 智能托管 - 内置动作序列和托管任务系统
- 🔧 灵活扩展 - 配套 LAN Bot 子项目,支持更流畅的连续动作
- 📊 状态同步 - 实时获取游戏状态、聊天、屏幕、容器等信息
✨ 核心功能与特色
🔌 HTTP REST API
提供完整的 RESTful 接口,支持所有核心控制功能:
状态查询
GET /status- 获取客户端基本状态GET /full-state- 获取完整状态(状态 + 聊天 + 屏幕 + 目标 + 容器 + 玩家列表)GET /chat- 读取聊天缓存GET /screen- 读取当前 GUI 信息和可见控件GET /target- 读取准星目标信息GET /container- 读取容器内容GET /players- 读取玩家列表GET /debug/fake-player- 读取本地调试假人列表
控制操作
POST /chat- 发送聊天消息POST /command- 执行游戏命令POST /look- 转动视角POST /key- 按住/松开按键POST /input- 应用综合控制状态(按键 + 视角 + 快捷栏)POST /tap- 轻点按键POST /hotbar- 切换快捷栏POST /release-all- 松开所有控制键
GUI 操作
POST /gui/close- 关闭当前 GUIPOST /gui/click- 点击 GUI 坐标POST /gui/release- 松开 GUI 鼠标按键POST /gui/scroll- 滚动 GUIPOST /gui/key- 向 GUI 发送按键POST /gui/type- 向 GUI 输入文本POST /gui/click-widget- 按控件索引点击按钮
高级功能
POST /screenshot- 截图POST /sequence- 执行动作序列POST /action/run- 运行托管动作POST /action/cancel- 取消托管动作POST /debug/fake-player/*- 本地调试假人管理
🔌 WebSocket 实时通信
连接到 ws://127.0.0.1:47862/ws,支持实时双向通信:
- 心跳检测 -
ping保持连接活跃 - 状态订阅 - 订阅特定事件,实时接收推送
- 全功能支持 - 所有 HTTP 接口功能均可通过 WebSocket 调用
- 低延迟 - 适合需要快速响应的实时控制场景
🤖 托管动作系统
内置智能托管动作,解放你的双手:
- 动作序列 - 执行预定义的动作序列
- 托管任务 - 运行后台托管动作(如自动寻路、批量操作)
- 可取消 - 随时取消正在执行的托管动作
🎭 本地调试假人
支持生成和管理本地调试假人实体:
- 生成假人到指定位置
- 移动假人
- 移除假人
- 清空所有假人
🤖 LAN Bot 配套项目(可选)
仓库包含独立的 lan-bot 子项目,作为第二个玩家加入你开放的局域网世界:
- 更流畅的连续动作 - 独立客户端,不受主客户端性能影响
- 自动寻路系统 - 基于 mineflayer-pathfinder
- 物品栏管理 - 完整的物品栏操作支持
- 批量操作 - 支持批量放置、种植、采集等任务
- 托管动作 - 内置种植催熟、建造小屋等高级动作
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:YVoB66CZ:s7agb5mh"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:YVoB66CZ:s7agb5mh"
}

