Mineflayer
使用强大、稳定、高级的 JavaScript API 来开发 Minecraft 机器人,同时支持 Python。
第一次使用 node.js ?你可以先看看 使用教程 。了解过 Python?这里有一些 Python 实例,同时你也可以在谷歌 Colab 中运行 Mineflayer 来体验一下。
特点
- 支持版本:Minecraft 1.8, 1.9, 1.10, 1.11, 1.12, 1.13, 1.14, 1.15, 1.16, 1.17, 1.18, 1.19 和 1.20
- 实体感知与追踪
- 方块感知,你可以在几毫秒内查找到bot周围的任何方块
- 物理和运动引擎 - 支持所有的碰撞箱
- 攻击实体,使用交通工具
- 背包管理
- 使用工作台、箱子、酿造台、附魔台
- 挖掘和建造
- 各种各样的的信息接口,比如查看你的血量或是否下雨
- 激活方块和使用物品
- 进行聊天
路线图
点这里 看看目前我们有哪些实用的项目
安装
首先,从 nodejs.org 安装 nodejs(版本要求 >= 18),
然后在你创建的bot项目目录中,使用命令行运行:
npm install mineflayer
文档
链接 | 描述 |
使用教程 | node.js 和 mineflayer 入门 |
FAQ | 使用中出现问题?先看看这个文档吧 |
api、不稳定的api | 完整的接口参考文档 |
更新日志 | mineflayer 的更新日志 |
示例/ | 我们为你准备的 mineflayer 使用实例 |
参与贡献
请参阅 为本项目贡献,以及为 Prismarine 贡献
如何使用
视频(Youtube)
这里 是一个解释bot基本设置过程的教程视频。
如果你想了解更多,更多的视频教程可以在 这里 找到,视频的相应的源码在 这里 。
开始使用
如果没有指定特定版本,使用的服务器版本将自动判断并使用。
如果没有指定登录类型,默认使用 mojang 账户认证登录。
例子:复读机
const mineflayer = require('mineflayer')
const bot = mineflayer.createBot({
host: 'localhost', // minecraft 服务器的 IP 地址
username: 'email@example.com', // minecraft 用户名
password: '12345678' // minecraft 密码, 如果你玩的是不需要正版验证的服务器,请注释掉。
// port: 25565, // 默认使用 25565,如果你的服务器端口不是这个请取消注释并填写。
// version: false, // 如果需要指定使用一个版本或快照时,请取消注释并手动填写(如:"1.8.9" 或 "1.16.5"),否则会自动设置。
// auth: 'mojang' // 如果需要使用微软账号登录时,请取消注释,然后将值设置为 'microsoft',否则会自动设置为 'mojang'。
})
bot.on('chat', (username, message) => {
if (username === bot.username) return
bot.chat(message)
})
// 记录错误和被踢出服务器的原因:
bot.on('kicked', console.log)
bot.on('error', console.log)
看看你的 bot 在做什么
感谢 prismarine-viewer项目,它可以在浏览器窗口显示你的机器人正在做什么。
只需要运行 npm install prismarine-viewer
并将其添加到你的 bot 代码中。
const { mineflayer: mineflayerViewer } = require('prismarine-viewer')
bot.once('spawn', () => {
mineflayerViewer(bot, { port: 3007, firstPerson: true }) // port 是本地网页运行的端口 ,如果 firstPerson: false,那么将会显示鸟瞰图。
})
然后你会得到一个看起来像这样的实时视图:
更多示例
还有更多的例子在 examples 文件夹中
模块
很多活跃的开发都发生在 mineflayer 所使用的小型 npm 包内
The Node Way & trade;
子模块
这些是 构成 mineflayer 的主要模块:
调试
您可以使用 DEBUG
环境变量启用某些协议调试输出:
DEBUG="minecraft-protocol" node [...]
在 windows 上:
set DEBUG=minecraft-protocol
node your_script.js
第三方插件
mineflayer 支持插件;任何人都可以创建一个插件,在 mineflayer 之上添加更高级别的 API。
最新和最有用的有:
也可以看看这些 :
正在使用 mineflayer 的项目
测试
完整测试
运行
npm test
测试指定版本
运行
npm mocha_test -- -g <version>
其中 <version>
表示 minecraft 版本号 如 1.12
, 1.15.2
…
测试指定测试脚本
运行
npm mocha_test -- -g <test_name>
其中 <test_name>
是测试名称,例如 bed
, useChests
, rayTrace
…
示例
npm run mocha_test -- -g "1.18.1.*BlockFinder"
进行 1.18.1 寻路测试
许可证
MIT
原文(本文有为兼容NL排版而改动):https://raw.github.com/PrismarineJS/mineflayer/refs/heads/master/docs/zh/README_ZH_CN.md