Compatibility
Minecraft: Java Edition
Platforms
Links
Tags
Creators
Details
📢 VoiceChatMegaphone (VCM)
A Paper plugin that adds a megaphone item to your server. When activated, it broadcasts the player's voice to all online players through Simple Voice Chat with realistic DSP effects - high-pass/low-pass filters, presence EQ, soft-clip distortion, noise, and optional reverb.
Requirements
| Dependency | Version |
|---|---|
| Paper | 1.21.10 |
| Simple Voice Chat | 2.6.13+ |
| Java | 21+ |
Installation
- Download the latest
VoiceChatMegaphone-*.jarfrom the releases page. - Drop it into your server's
plugins/folder. - Make sure Simple Voice Chat is already installed.
- Start (or restart) the server —
plugins/VoiceChatMegaphone/config.ymlwill be generated automatically. - Configure the plugin to your liking and run
/vcm reload.
Commands
| Command | Description | Permission |
|---|---|---|
/vcm |
Show available commands | — |
/vcm give [player] |
Give a megaphone to yourself or another player | vcm.admin |
/vcm reload |
Reload config.yml |
vcm.admin |
Permissions
| Permission | Description | Default |
|---|---|---|
vcm.use |
Allows using the megaphone | op |
vcm.admin |
Allows admin commands | op |
Usage
- Get a megaphone via
/vcm giveor by any other means (shop plugin, loot table, etc.). - Hold the item in your main hand and right-click to activate.
- Your voice will be broadcast to everyone on the server through the Megaphone volume category.
- Right-click again to deactivate. The megaphone also turns off automatically when you switch items, drop it, die, or leave the server.
The action bar shows the names of all currently active megaphone users.
Configuration
The full config.yml with comments is generated on first launch. Key sections:
Item appearance
megaphone:
material: CARROT_ON_A_STICK
name: "<gold>Megaphone"
lore:
- "<gray>Amplifies your voice."
custom-model-data: 7641
Supports MiniMessage formatting for name and lore.
Audio effects
process-voice: true # Master toggle for all DSP
effects:
highpass-enabled: true
highpass-freq: 300.0 # Cut rumble below 300 Hz
lowpass-enabled: true
lowpass-freq: 4500.0 # Cut hiss above 4500 Hz
peak-enabled: true
peak-freq: 2000.0 # Presence boost centre
peak-gain-db: 8.0
peak-q: 1.0
distortion-enabled: true
distortion-drive: 2.2 # 1.0 = clean, 3.0 = heavy crunch
noise-enabled: true
noise-level: 0.008 # Subtle background hiss
reverb-enabled: false
reverb-wet: 0.22
After changing effects, run /vcm reload. Players who already have the megaphone active must toggle it off and on again for the new settings to apply.
Action bar
action-bar:
enabled: true
text: "<green>Now in live: {players}"
{players} is replaced with a comma-separated list of active users. Supports MiniMessage.
🎨 Custom Megaphone Texture
VCM uses Minecraft's Custom Model Data system to apply a custom texture to the megaphone item. The default value is 7641 and the base item is CARROT_ON_A_STICK.
Step-by-step guide
1. Prepare your texture
Create a 32×32 (or 64×64) PNG image for the megaphone. Name it, for example, megaphone.png.
2. Set up a resource pack structure
my_resourcepack/
├── pack.mcmeta
└── assets/
└── minecraft/
├── models/
│ └── item/
│ ├── carrot_on_a_stick.json ← override file
│ └── megaphone.json ← your model
└── textures/
└── item/
└── megaphone.png ← your texture
3. Create pack.mcmeta
{
"pack": {
"pack_format": 46,
"description": "VCM Megaphone texture"
}
}
4. Create megaphone.json (a simple flat item model)
{
"parent": "item/handheld",
"textures": {
"layer0": "item/megaphone"
}
}
5. Override carrot_on_a_stick.json
Add a custom_model_data override that points to your model when the value matches what is set in config.yml (default 7641):
{
"parent": "item/handheld",
"textures": {
"layer0": "item/carrot_on_a_stick"
},
"overrides": [
{
"predicate": { "custom_model_data": 7641 },
"model": "item/megaphone"
}
]
}
6. Zip and apply
Compress the my_resourcepack/ folder into a .zip file and put it on your server (via server.properties → resource-pack) or distribute it to players manually.
7. Match the value in config
Make sure custom-model-data in config.yml matches the predicate value you used in the model override:
megaphone:
custom-model-data: 7641 # Must match the override predicate
Tip: If you want to use a different base item (e.g.
STICK), changemegaphone.materialinconfig.ymland create the override file for that item instead.
License
MIT © 2026 litkoit1003


