Skip to content

About

基于 Mineflayer 的音符盒演奏机器人

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

4 Commits

Folders and files

Repository files navigation

MC Notebot - Minecraft 音符盒机器人

基于 Node.js 和 Mineflayer 的 Minecraft 音符盒机器人,实现了类似 Meteor Client Notebot 模块的功能。支持 NBS 格式的歌曲文件,自动扫描周围音符盒并调音,通过 Web 界面控制。

功能特性

  • 🎵 自动扫描音符盒 - 扫描机器人周围的音符盒,识别乐器和音高
  • 🎹 自动调音 - 自动将音符盒调整到歌曲需要的音高
  • 🎼 多种歌曲格式 - 支持 .nbs(Note Block Studio)和 .txt 格式
  • 🎮 Web 控制面板 - 浏览器访问,直观易用
  • 💬 聊天/命令 - 支持机器人发送聊天消息和执行命令
  • 🔌 版本兼容 - 支持多种 Minecraft 版本(通过 mineflayer)
  • ⚙️ 高度可配置 - 扫描范围、调音速度、播放模式等均可配置

展示

音符盒机器人展示

安装

# 克隆仓库
git clone https://github.com/SilonGJ/MC_Notebot.git
cd MC_Notebot

# 安装依赖
npm install

使用

1. 配置

编辑 config.js 文件:

module.exports = {
  server: {
    host: 'localhost',      // 服务器地址
    port: 25565,            // 服务器端口
    username: 'notebot',    // 机器人用户名
    auth: 'offline',        // 认证方式: offline / microsoft
    version: '1.21.11'      // MC 版本(留空自动检测)
  },
  notebot: {
    scanRange: 10,          // 音符盒扫描范围
    mode: 'ExactInstruments', // 播放模式: ExactInstruments / AnyInstrument
    tickDelay: 1,           // 调音间隔(tick)
    concurrentTuneBlocks: 1, // 同时调音的方块数
    autoRotate: true,       // 自动转向
    swingArm: true          // 挥手动画
  },
  songs: {
    directory: './songs'    // 歌曲目录
  },
  webUi: {
    port: 3000              // Web 界面端口
  }
};

2. 添加歌曲

将 .nbs 或 .txt 格式的歌曲文件放入 songs 目录。

3. 启动

npm start

启动后在浏览器打开 http://localhost:3000 访问 Web 控制面板。

4. 操作

  1. 在 Web 界面填写服务器信息,点击"连接"
  2. 从左侧歌曲列表选择一首歌
  3. 点击"播放"按钮,机器人会自动扫描音符盒并调音,然后开始播放

歌曲格式

NBS 格式(推荐)

Note Block Studio 格式,支持多轨道、多种乐器。

TXT 格式

每行一个音符,格式:<tick> <note> [instrument]

0 0 0
0 4 0
2 7 0
4 0 1

项目结构

MC_Notebot/
├── src/
│   ├── bot/           # 机器人连接模块
│   ├── decoder/       # 歌曲解码器
│   ├── notebot/       # 音符盒核心逻辑
│   ├── song/          # 歌曲数据结构
│   ├── webui/         # Web 界面
│   ├── tui/           # 终端界面
│   └── index.js       # 主入口
├── songs/             # 歌曲目录
├── config.js          # 配置文件
└── package.json

技术栈

  • Node.js - 运行环境
  • Mineflayer - Minecraft 机器人库
  • Express - Web 服务器
  • WebSocket - 实时通信
  • prismarine-world - 世界数据处理

注意

值得注意的是,此项目虽然全程由 AI 编写,但是底层的音调校准、演奏逻辑参考的是 Meteor Cilent 的实现,不过 AI 仅仅作为参考,因为两者的底层不一致

许可证

GNU General Public License v3.0

About

基于 Mineflayer 的音符盒演奏机器人

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages