🎹 MIDI Plugin Message Mod
This Minecraft mod adds support for sending MIDI actions from the client to the server using custom plugin messages. It can be used to control in-game instruments, sound systems, lighting effects, or other MIDI-reactive features.
📦 Plugin Message: midi:action
The plugin message is based on a custom payload called MidiAction, sent via the CustomPayload system.
MidiAction Payload Structure
record MidiAction(
String name,
int command,
int channel,
int data1,
int data2
)
| Field | Type | Description |
|---|---|---|
name |
String |
Name of the MIDI device (e.g., "Launchpad") |
command |
int |
MIDI command (e.g., 144 = Note On) |
channel |
int |
MIDI channel (0–15) |
data1 |
int |
First data value (e.g., note number) |
data2 |
int |
Second data value (e.g., velocity) |
🛠 Example Usage
Sending from the Client
ClientPlayNetworking.send(
new MidiAction("Launchpad", 144, 0, 60, 127)
);
Receiving on the Server
Register a global receiver in your server mod:
ServerPlayNetworking.registerGlobalReceiver(
MidiAction.ID,
(payload, context) -> {
System.out.println("Received MIDI action from device: " + payload.name());
}
);
⚙️ Technical Details
- Packet ID:
midi:action - Codec: Custom implementation using
FriendlyByteBuf - Minecraft Version: 1.20.5+ (uses
CustomPacketPayloadAPI)
✅ Requirements
- Minecraft 1.20.5 or higher
- Fabric (or another compatible mod loader)
- A server mod that handles incoming
MidiActionpayloads
Got questions or suggestions? Feel free to open an issue or reach out directly!
| Version | Minecraft | Loader | Download |
|---|---|---|---|
|
midi-1.21+1.0.0 1.0.0 |
1.21
|
fabric
|
Download |
|
midi-1.21.6+1.0.0 1.0.0 |
1.21.6
|
fabric
|
Download |
|
midi-1.21.3+1.0.0 1.0.0 |
1.21.3
|
fabric
|
Download |
|
midi-1.21.4+1.0.0 1.0.0 |
1.21.4
|
fabric
|
Download |
|
midi-1.20.5+1.0.0 1.0.0 |
1.20.5
|
fabric
|
Download |
|
midi-1.21.7+1.0.0 1.0.0 |
1.21.7
|
fabric
|
Download |
|
midi-1.21.5+1.0.0 1.0.0 |
1.21.5
|
fabric
|
Download |
|
midi-1.21.8+1.0.0 1.0.0 |
1.21.8
|
fabric
|
Download |
|
midi-1.21.2+1.0.0 1.0.0 |
1.21.2
|
fabric
|
Download |
|
midi-1.21.1+1.0.0 1.0.0 |
1.21.1
|
fabric
|
Download |
|
midi-1.20.6+1.0.0 1.0.0 |
1.20.6
|
fabric
|
Download |
|
midi-1.20.6+1.0.0 1.0.0 |
1.20.6
|
fabric
|
Download |
|
midi-1.21.2+1.0.0 1.0.0 |
1.21.2
|
fabric
|
Download |
|
midi-1.21.3+1.0.0 1.0.0 |
1.21.3
|
fabric
|
Download |
|
midi-1.21.1+1.0.0 1.0.0 |
1.21.1
|
fabric
|
Download |
|
midi-1.21.7+1.0.0 1.0.0 |
1.21.7
|
fabric
|
Download |
|
midi-1.21.6+1.0.0 1.0.0 |
1.21.6
|
fabric
|
Download |
|
midi-1.21.4+1.0.0 1.0.0 |
1.21.4
|
fabric
|
Download |
|
midi-1.21+1.0.0 1.0.0 |
1.21
|
fabric
|
Download |
|
midi-1.21.5+1.0.0 1.0.0 |
1.21.5
|
fabric
|
Download |
|
midi-1.20.5+1.0.0 1.0.0 |
1.20.5
|
fabric
|
Download |