
PureFilter
PureFilter is a lightweight, advanced chat filter for Paper 26.1.2+ (Java 25) that uses a Fuzzy-Matching engine to instantly block profanity disguised with spaces, leet-speak, or unicode, featuring full HEX color support and automated console punishments.
Tags
Creators
Details
v1.1.0
Compatibility
Changes
1.1.0 - Standard Protection Update
Added
- Added tested support for the Paper 26.2 runtime while keeping Paper 26.1.2 as the minimum API target.
- Added
filter.protection-modewithSTANDARDas the new default mode. - Added the legacy
AGGRESSIVEprotection mode for servers that still prefer substring-based matching. - Added optional allowed-word list support under
filter.allow-list. - Added automatic generation of
plugins/PureFilter/words/allowed.txt. - Added
PureFilteras the default allowed-word example. - Added command completions for
/purefilter reload,/purefilter rl,/purefilter info, and/purefilter status. - Added
/purefilter rlas an alias for the reload command. - Added unit tests for the new protection behavior.
Changed
STANDARDprotection now blocks banned words only when they appear as standalone words after normalization.- Short banned words no longer cause normal words to be blocked.
- Bypass detection still catches common separated and leetspeak variants.
Notes
- In the Paper 26 console,
purefilter:purefilter reloadsuccessfully reloads the plugin. During local console smoke tests, plainpurefilter reloadwas rejected by Paper's command dispatcher before reaching the plugin, while thestatusandinfocommands worked normally.
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:jtN3aYSz:iWdxxsJm"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:jtN3aYSz:iWdxxsJm"
}
