Compatibility
Minecraft: Java Edition
1.21.x
1.20.x
1.19.x
1.18.x
Platforms
Creators
Details
Licensed MIT
Published last month
Updated last month
Simple Voice Mechanics
Realistic mob reactions to voice in Minecraft. Uses Simple Voice Chat for dynamic audio detection with volume and distance-based behavior.
Features
- Real-time Audio Analysis: Opus decoding with dB calculation
- Dynamic Range: Louder voices heard from further away (40%-220% of base range)
- Environmental Modifiers: Biome & time-based acoustics (caves echo, forests dampen, night = more sensitive)
- Mob Group Alerts: Hostile mobs call reinforcements (zombies summon hordes, wolves hunt in packs)
- Natural Behavior: Probabilistic reactions, cooldowns, eye contact system
- 4 Mob Categories: Hostile (attack), Neutral (look), Peaceful (look/flee/follow), Warden (anger system)
- Sculk Sensors: GameEvent-based activation on loud voices
Mob Behavior
| Category | Reaction | Threshold | Special Features |
|---|---|---|---|
| Hostile | Attack | -40 dB | Target player, alert nearby allies (NEW) |
| Neutral | Look (8s) | -35 dB | 60% reaction chance |
| Peaceful | Look (10s) | -30 dB | Flee at >-20 dB, Follow when sneaking + eye contact |
| Warden | Anger +15-60 | -20 dB | Volume & distance dependent |
| Sculk | Activate | -20 dB | Only on loud voices |
Peaceful Mobs Details:
- Normal speaking: Look at player
- Loud speaking (>-20 dB): Flee 3 blocks away
- Sneaking + Speaking + Eye contact: Follow for 60s
Environmental Effects
| Environment | Range Modifier | Sensitivity | Example |
|---|---|---|---|
| Cave + Night | ~2.0x | -13 dB | VERY DANGEROUS - Mobs hear whispers from far away |
| Forest + Day | 0.75x | +3 dB | Safer - Vegetation dampens sound |
| Nether | 1.3x | Normal | Sound carries in open spaces |
| Mountain + Night | 1.56x | -8 dB | Sound echoes across peaks |
Mob Group Alerts:
- Zombies: Call 5 allies within 16 blocks → Horde attack
- Wolves: Alert pack within 20 blocks → Coordinated hunt
- Piglins: Summon group within 18 blocks → Group combat
Requirements
- Minecraft 1.18+ (Paper or compatible)
- Java 17+
- Simple Voice Chat Plugin
Note: Sculk Sensors require Minecraft 1.19+
Installation
- Install Simple Voice Chat
- Place SimpleVoiceMechanics JAR in
plugins/folder - Restart server
- Adjust
plugins/SimpleVoiceMechanics/config.ymlas needed
Configuration
Global Settings
detection:
max-range: 16.0
min-range: 2.0
falloff-curve: 1.0 # 0.5-2.0 (0.5=linear, 2.0=steep)
Environmental Modifiers
environmental-modifiers:
biome-modifiers:
enabled: true # Caves echo, forests dampen
time-modifiers:
enabled: true # Night = 30% more range, 8 dB more sensitive
Mob Group Alerts
mob-hearing:
hostile-mobs:
group-alert:
enabled: true
max-alerts: 5 # Max mobs to summon per detection
ranges:
zombie: 16.0 # Horde radius
wolf: 20.0 # Pack radius
piglin: 18.0 # Group radius
Per-Category Settings
peaceful-mobs:
enabled: true
volume-threshold-db: -30.0
max-range: 8.0
natural-behavior:
reaction-chance: 0.7 # 70% reaction probability
look-duration: 10 # Look duration in seconds
reaction-cooldown: 3 # Cooldown between reactions
flee-behavior:
enabled: true
flee-volume-db: -20.0
flee-distance: 3.0
flee-duration: 3
follow-when-sneaking:
enabled: true
require-eye-contact: true
eye-contact-range: 4.0
eye-contact-memory: 5
duration: 60
max-distance: 12.0
blacklist: [] # Exclude EntityTypes
Volume Scale (dB)
- -60 dB: Whispering
- -40 dB: Normal speaking (Default Hostile)
- -30 dB: Quiet to normal (Default Peaceful)
- -20 dB: Loud speaking (Default Warden/Sculk)
- -10 dB: Shouting
Commands
/voicelistener reload- Reload config/voicelistener toggle <hostile|neutral|peaceful|warden|sculk>- Toggle category/voicelistener status- Show current config
Aliases: /vl, /voicemechanics
Permissions
voicelistener.admin(default: op)
Preset Examples
Stealth Server
hostile-mobs:
volume-threshold-db: -50.0 # Whispers detected
max-range: 24.0
falloff-curve: 0.8
environmental-modifiers:
biome-modifiers:
enabled: true # Caves are extra dangerous
time-modifiers:
enabled: true # Nights are terrifying
Action Server
hostile-mobs:
volume-threshold-db: -25.0 # Only loud speaking
max-range: 12.0
falloff-curve: 1.5
group-alert:
enabled: true
max-alerts: 8 # Larger mob groups!
Warden Extreme Challenge
warden:
volume-threshold-db: -60.0 # Hears everything!
max-range: 32.0
falloff-curve: 0.5
Hardcore Survival
environmental-modifiers:
biome-modifiers:
enabled: true
time-modifiers:
enabled: true
mob-hearing:
hostile-mobs:
volume-threshold-db: -50.0
group-alert:
enabled: true
max-alerts: 10 # Massive hordes!
Gameplay Examples
Cave Exploration at Night:
- Biome: Cave (1.5x range, -5 dB)
- Time: Night (1.3x range, -8 dB)
- Combined: ~2x range, -13 dB more sensitive
- Result: Whispering attracts zombies from far away. 1 zombie calls 5 more → 6 zombies attack!
Forest Stealth (Day):
- Biome: Forest (0.75x range, +3 dB)
- Time: Day (normal)
- Combined: 0.75x range
- Result: Vegetation dampens sound. Normal speaking is safe.
Nether Fortress:
- Biome: Nether (1.3x range)
- Mobs: Piglins (18 block alert)
- Result: 1 Piglin hears you → alerts 5 nearby Piglins → coordinated group attack
Debug Options
debug:
audio-logging: false
range-logging: false
detection-logging: false
warden-logging: false
sculk-logging: false
peaceful-logging: false
environmental-logging: false
group-alert-logging: false
Technical Details
Detection Flow:
- Audio packet received → Decode Opus → Calculate dB
- NEW: Apply environmental modifiers (biome + time)
- Check category threshold → Calculate effective range
- Probability-based detection → Natural behavior check
- Execute action (Attack/Look/Flee/Follow)
- NEW: If hostile detected, alert nearby allies
Formulas:
Effective Range = Config Range × Biome Mult × Time Mult × (1.0 + (dB - Threshold) / 25.0)
Capped: 0.5× to 2.5×
Detection Probability = (1 - normalized_distance)^falloff_curve
100% at ≤ min-range, 0% at ≥ max-range
Mob Alerts = Dynamic (1-5 based on distance, closer = more alerts)
API Usage
@EventHandler
public void onVoiceDetected(VoiceDetectedEvent event) {
Player player = event.getPlayer();
double decibels = event.getDecibels();
// Custom logic
}
// Access config
ConfigManager config = plugin.getConfigManager();
double threshold = config.getHostileVolumeThresholdDb();
boolean biomeMods = config.isBiomeModifiersEnabled();
// New utility classes
Biome biome = location.getBlock().getBiome();
double rangeMultiplier = BiomeModifier.getRangeMultiplier(biome);
boolean isNight = TimeModifier.isNight(world);
boolean isSocial = MobGroupAlert.isSocialMob(EntityType.ZOMBIE);
Building
git clone https://github.com/yourusername/SimpleVoiceMechanics.git
cd SimpleVoiceMechanics
mvn clean package
License
MIT License
Credits
- Audio calculation adapted from Simple Voice Chat (henkelmax)
- Built for Paper
- SimpleVoiceChat API
- Environmental acoustics inspired by real-world sound propagation



