# 🎼 MIDIReceiver (Spigot 插件)
**MIDIReceiver** 插件监听 `midi:action` 插件消息并在实时中播放匹配的 Minecraft 音符方块声音。
## 📡 传入插件消息:`midi:action`
插件从客户端模组接收 `MidiAction` 数据包并触发相应的声音。
### `MidiAction` 数据结构
```java
record MidiAction(
String name,
int command,
int channel,
int data1,
int data2
)
```
| 字段 | 类型 | 描述 |
| --------- | -------- | ------------------------------------ |
| `name` | `String` | MIDI 设备的名称 |
| `command` | `int` | MIDI 命令 (例如,`144` = Note On) |
| `channel` | `int` | MIDI 通道 (0–15) |
| `data1` | `int` | 音符编号 |
| `data2` | `int` | 速度 |
## 🔊 MIDI 到 Minecraft
如果 `command == 144` 且 `velocity > 0`,则插件将 `data1` (MIDI 音符) 映射到 Minecraft 音符方块音高 `0–24` 并使用 `player.playNote(...)` 播放音符。
## ✅ 要求
* 一个 Spigot/Paper 服务器 (建议 1.20+)
* 一个发送 `midi:action` 插件消息的客户端模组
---
需要帮助或想贡献?请查看 [存储库](https://github.com/uebliche/midireciever) 或打开一个问题!