AdvancedSensitiveWords
🟡 Updated this yearPreview

🔍 Analysis
- 👍 0.3% endorsement rate
- 🏆 #482 of 1560 bukkit mods in this game by downloads
📋 About This Mod
# AdvancedSensitiveWords AdvancedSensitiveWords is a Paper moderation plugin built around DFA word matching, event-based content inspection, modular violation levels, and optional LLM-assisted chat review. > **2.x is a breaking release.** It targets Paper only, uses Gradle with Kotlin DSL, and generates a new kebab-case configuration model. Do not reuse pre-2.0 configuration files without reviewing every setting. ## Requirements | Component | Requirement | | --- |--------------------------------------------------------| | Server | Paper 1.21.11 or higher | | Java | Java 21 | | Proxy (optional) | Velocity with the matching Velocity jar | | Optional integrations | TrChat, PacketEvents, PlaceholderAPI, floodgate, AuthMe | Spigot, CraftBukkit, and BungeeCord are not supported since version 2.x. ## Installation 1. Download the Paper artifact from the release, or build `paper:shadowJar` locally. 2. Put the Paper jar in the server `plugins/` directory and start Paper once. 3. Configure `plugins/AdvancedSensitiveWords/config.yml` and the generated `messages_en.yml` or `messages_zhcn.yml`. 4. Run `/asw reload all` after changing dictionaries or `/asw reload config` after changing only configuration. For Velocity notifications and proxy commands, install the Velocity artifact on the proxy, set `plugin.hook-velocity: true` on Paper, then restart both sides. The proxy module does not filter chat by itself. ## What 2.x Filters - **Chat and commands**: Paper `AsyncChatEvent`, command preprocessing, cross-message chat context, configurable replacement or cancellation, fake messages on cancellation, and TrChat fake-message/shadowban compatibility. - **Books**: event-based writable-book checking, optional cross-page checking in cancel mode, and a bounded cache for processed book content. - **Signs**: per-line, multi-line, and recent-sign context checking. In cancel mode, optional PacketEvents fake view can show the author their attempted text while other players retain the real, clean sign view. - **Anvils and items**: rename-result filtering plus item display-name and lore filtering using Adventure components. - **Player names and broadcasts**: login rejection for blocked names and optional broadcast filtering. - **Optional LLM chat review**: asynchronous, cost-gated review for messages that did not match DFA or chat context. It is disabled by default and never retracts chat; it can notify, record, increment the separate AI VL, and run configured actions after a validated response. ## Quick Configuration Configuration is generated in lower kebab-case. The generated file is the authoritative list of defaults and inline comments. ```yaml plugin: language: en enable-chat-check: true enable-sign-edit-check: true chat: method: CANCEL # REPLACE or CANCEL fake-message-on-cancel: false context-check: true ``` `REPLACE` changes matched text with the configured replacement. `CANCEL` rejects the affected interaction. Fake chat messages and sign fake view are cancellation-only features. ### Command Argument Rules `chat.command-white-list` also defines which command arguments are inspected. With the default `invert-command-white-list: true`, listed command paths are inspected and commands outside the list are skipped. ```yaml chat: invert-command-white-list: true command-white-list: - " /msg " - " /bc " - " /mail send " ``` Arguments are numbered after the command path, starting at `1`. `-1` is the final argument; `2..` means the second argument through the end. `include` and `ignore` directives are processed in order. Ignored arguments split detection segments, so a blocked word cannot match across a skipped player name, server name, count, or other parameter. ### Punishments and Violation Levels Each filter module has its own `punishment` list and its own VL: `CHAT`, `AI`, `BOOK`, `SIGN`, `ANVIL`, and `ITEM`. Commands share the `CHAT` VL. The manual default list at `plugin.manual-punishment` is the exception: its `VL` conditions use the total across modules. ```yaml chat: punishment: - "COMMAND|kick %player% Blocked content|VL>2" - "SHADOW|60|VL>5" ``` Supported action types are `COMMAND`, `COMMAND_PROXY`, `DAMAGE`, `HOSTILE`, `EFFECT`, and `SHADOW`. Use `%player%` or `%PLAYER%` in command actions. Empty lists keep detection, logging, notification, and VL counting active while disabling automatic actions. ## Optional LLM Moderation Enable LLM review only after configuring a compatible provider and API key. Paper loads LangChain4j libraries through `plugin.yml`, so the server needs network access or an existing Paper library cache during the first startup. ```yaml ai: enabled: true base-url: https://api.deepseek.com api-mode: CHAT_COMPLETION
# AdvancedSensitiveWords
AdvancedSensitiveWords is a Paper moderation plugin built around DFA word matching, event-based content inspection, modular violation levels, and optional LLM-assisted chat review.
> 2.x is a breaking release. It targets Paper only, uses Gradle with Kotlin DSL, and generates a new kebab-case configuration model. Do not reuse pre-2. 0 configuration files without reviewing every setting.
## Requirements
| Component | Requirement | | --- |--------------------------------------------------------| | Server | Paper 1. 21. 11 or higher | | Java | Java 21 | | Proxy (optional) | Velocity with the matching Velocity jar | | Optional integrations | TrChat, PacketEvents, PlaceholderAPI, floodgate, AuthMe |
Spigot, CraftBukkit, and BungeeCord are not supported since version 2.x.
## Installation
1. Download the Paper artifact from the release, or build `paper:shadowJar` locally. 2. Put the Paper jar in the server `plugins/` directory and start Paper once. 3. Configure `plugins/AdvancedSensitiveWords/config.yml` and the generated `messages_en.yml` or `messages_zhcn.yml`. 4. Run `/asw reload all` after changing dictionaries or `/asw reload config` after changing only configuration.
For Velocity notifications and proxy commands, install the Velocity artifact on the proxy, set `plugin.hook-velocity: true` on Paper, then restart both sides. The proxy module does not filter chat by itself.
## What 2.x Filters
- Chat and commands: Paper `AsyncChatEvent`, command preprocessing, cross-message chat context, configurable replacement or cancellation, fake messages on cancellation, and TrChat fake-message/shadowban compatibility.
- Books: event-based writable-book checking, optional cross-page checking in cancel mode, and a bounded cache for processed book content.
- Signs: per-line, multi-line, and recent-sign context checking. In cancel mode, optional PacketEvents fake view can show the author their attempted text while other players retain the real, clean sign view.
- Anvils and items: rename-result filtering plus item display-name and lore filtering using Adventure components.
- Player names and broadcasts: login rejection for blocked names and optional broadcast filtering.
- Optional LLM chat review: asynchronous, cost-gated review for messages that did not match DFA or chat context. It is disabled by default and never retracts chat; it can notify, record, increment the separate AI VL, and run configured actions after a validated response.
## Quick Configuration
Configuration is generated in lower kebab-case. The generated file is the authoritative list of defaults and inline comments.
```yaml plugin: language: en enable-chat-check: true enable-sign-edit-check: true
chat: method: CANCEL # REPLACE or CANCEL fake-message-on-cancel: false context-check: true ```
`REPLACE` changes matched text with the configured replacement. `CANCEL` rejects the affected interaction. Fake chat messages and sign fake view are cancellation-only features.
### Command Argument Rules
`chat.command-white-list` also defines which command arguments are inspected. With the default `invert-command-white-list: true`, listed command paths are inspected and commands outside the list are skipped.
```yaml chat: invert-command-white-list: true command-white-list: - " /msg " - " /bc " - " /mail send " ```
Arguments are numbered after the command path, starting at `1`. `-1` is the final argument; `2..` means the second argument through the end. `include` and `ignore` directives are processed in order. Ignored arguments split detection segments, so a blocked word cannot match across a skipped player name, server name, count, or other parameter.
### Punishments and Violation Levels
Each filter module has its own `punishment` list and its own VL: `CHAT`, `AI`, `BOOK`, `SIGN`, `ANVIL`, and `ITEM`. Commands share the `CHAT` VL. The manual default list at `plugin.manual-punishment` is the exception: its `VL` conditions use the total across modules.
```yaml chat: punishment: - "COMMAND|kick %player% Blocked content|VL>2" - "SHADOW|60|VL>5" ```
Supported action types are `COMMAND`, `COMMAND_PROXY`, `DAMAGE`, `HOSTILE`, `EFFECT`, and `SHADOW`. Use `%player%` or `%PLAYER%` in command actions. Empty lists keep detection, logging, notification, and VL counting active while disabling automatic actions.
## Optional LLM Moderation
Enable LLM review only after configuring a compatible provider and API key. Paper loads LangChain4j libraries through `plugin.yml`, so the server needs network access or an existing Paper library cache during the first startup.
```yaml ai: enabled: true base-url: https://api.deepseek.com api-mode: CHAT_COMPLETION
📊 Mod Details
- Game
- Minecraft Plugins
- Author
- Undefined_0721
- Version
- 2.3.0
- Downloads
- 5,874
- Endorsements
- 19
- Category
- bukkit
- Created
- 3/10/2024
- Updated
- 7/25/2026
- Game Versions
- 1.8, 1.8.1, 1.8.2, 1.8.3, 1.8.4
- Tags
- management, social, utility
🔧 How to Install Minecraft Plugins Mods
Download from Modrinth. Use Prism Launcher or drop into your mods folder.
📖 Full step-by-step install guide for Minecraft Plugins →
Visit the official mod page for specific installation instructions for this mod.
🎮 Need cheat codes or console commands? Check ur gaming wiki for Minecraft Plugins commands, item IDs, and more.
❓ Frequently Asked Questions
Which Minecraft Plugins versions does AdvancedSensitiveWords support?
The author lists 1.8, 1.8.1, 1.8.2, 1.8.3, 1.8.4, 1.8.5. Other versions may work but are untested by the author.
What is the latest version of AdvancedSensitiveWords?
Version 2.3.0, published 2026-07-25 with 5,874 downloads recorded at the source.
Keep browsing — more Minecraft Plugins mods await