All versions
1.0.0
Release
ChatLimiter 1.0.03 months ago 17
Compatibility
Minecraft: Java Edition
1.21.x
1.20.x
Platform
Paper
Changes
🚦 Chat Cooldown
- Set minimum intervals between messages (per-message and per-duplicate-content)
- Players are shown remaining cooldown time
- Separate cooldown for repeating identical messages
🛡️ Smart Spam Detection
- Detects repeated identical messages within a configurable time window
- Case-insensitive comparison, trim, and special character filtering options
- Configurable threshold before triggering actions
⚡ VL (Violation Level) System
- Each spam violation increases a player's VL score
- VL decays automatically over time
- Threshold-based actions — configure different actions at different VL levels:
- Warning messages
- Temporary or permanent mute
- Kick from server
- Execute custom console commands (LiteBans, ban plugins, etc.)
- Full placeholder support:
{player},{uuid},{vl},{total},{duration},{duration-seconds}
🔇 Auto-Mute with Escalation
- Progressive punishment: mute durations increase with repeat offenses
- Configurable escalation factor (e.g., 2×, 3× longer each time)
- Warn-before-mute mode with configurable warning count
- Offline mute persistence (players remain muted across sessions)
- Custom mute command support for integration with punishment plugins like LiteBans
🎯 Permission Bypass System
- Disable bypass by default — even OP players are restricted!
- Optionally enable permission-based bypass for trusted staff
- Three separate permission nodes: cooldown, spam detection, and mute immunity
👮 Admin Notifications
- Real-time notifications for staff with the
chatlimiter.notifypermission - Console logging of all violations
🌐 Internationalization
- Built-in English (
en_us) and Chinese (zh_cn) language files - Easy to edit or extend with custom language files
- Messages can also be overridden directly in
config.yml
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:bVuFDGLJ:snWERJVL"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:bVuFDGLJ:snWERJVL"
}

