{"id":38880,"date":"2026-06-01T23:16:16","date_gmt":"2026-06-01T20:16:16","guid":{"rendered":"https:\/\/vpesports.com\/minecraft\/mods\/chatmoderator\/"},"modified":"2026-06-01T23:16:16","modified_gmt":"2026-06-01T20:16:16","slug":"chatmoderator","status":"publish","type":"mod","link":"https:\/\/vpesports.com\/minecraft\/mods\/chatmoderator\/","title":{"rendered":"ChatModerator"},"content":{"rendered":"<p># ChatModerator &#8211; AI-Powered Minecraft Chat Moderation Plugin<\/p>\n<p>A sophisticated Minecraft plugin that automatically moderates chat messages using AI, keeping your server safe and friendly. ChatModerator now supports **both OpenAI and Gemini AI providers** for content analysis, giving you flexibility and reliability.<\/p>\n<p>## Features<\/p>\n<p>* **AI-Powered Moderation**: Analyze chat messages with OpenAI or Gemini APIs to detect inappropriate content.<br \/>\n* **Universal Compatibility**: Works seamlessly on Spigot, Paper, Folia, and Luminol servers with automatic detection.<br \/>\n* **Configurable Word Filter**: Block specific words with a customizable blacklist.<br \/>\n* **Flexible AI Thresholds**: Adjust sensitivity for different categories like hate speech, harassment, sexual content, and violence.<br \/>\n* **Admin Tools**: Manage the plugin, word lists, and moderation behavior via commands.<br \/>\n* **Permission System**: Allow trusted players to bypass moderation.<br \/>\n* **Real-time Notifications**: Alert administrators when violations occur.<br \/>\n* **Comprehensive Logging**: Track all moderation actions and AI decisions.<br \/>\n* **AI Test Command**: Quickly test your API key with sample messages.<br \/>\n* **Folia\/Luminol Scheduler Support**: Ensures tasks run correctly on threaded server implementations.<\/p>\n<p>## Installation<\/p>\n<p>1. Download the plugin JAR file.<br \/>\n2. Stop your server.<br \/>\n3. Place the JAR in your server&#8217;s `plugins\/` folder.<br \/>\n4. Start your server to generate configuration files.<br \/>\n5. Configure your OpenAI or Gemini API key in `plugins\/ChatModerator\/config.yml`.<br \/>\n6. Restart your server or run `\/chatmod reload`.<\/p>\n<p>## Configuration<\/p>\n<p>### AI Provider Setup<\/p>\n<p>* **OpenAI**: Get an API key from OpenAI and replace `your-openai-api-key-here` in the config.<br \/>\n* **Gemini**: Get an API key from Gemini and replace `your-gemini-api-key-here` in the config.<\/p>\n<p>### Blocked Words<\/p>\n<p>Add words to the blocked list in the configuration:<\/p>\n<p>&#8220;`yaml<br \/>\nmoderation:<br \/>\n  blocked-words:<br \/>\n    &#8211; &#8220;badword1&#8221;<br \/>\n    &#8211; &#8220;inappropriate&#8221;<br \/>\n    &#8211; &#8220;spam&#8221;<br \/>\n&#8220;`<\/p>\n<p>### AI Moderation Thresholds<\/p>\n<p>Adjust sensitivity for different categories:<\/p>\n<p>&#8220;`yaml<br \/>\nmoderation:<br \/>\n  thresholds:<br \/>\n    hate: 0.3          # Lower = more sensitive<br \/>\n    harassment: 0.3<br \/>\n    sexual: 0.5<br \/>\n    violence: 0.3<br \/>\n&#8220;`<\/p>\n<p>## Commands<\/p>\n<p>* `\/chatmod reload` &#8211; Reload configuration<br \/>\n* `\/chatmod status` &#8211; Show plugin status<br \/>\n* `\/chatmod toggle` &#8211; Enable\/disable moderation<br \/>\n* `\/chatmod add-word <word>` &#8211; Add word to block list<br \/>\n* `\/chatmod remove-word <word>` &#8211; Remove word from block list<br \/>\n* `\/chatmod unmute <player>` &#8211; Unmute a player after a blocked word<br \/>\n* `\/chatmod aitest <message>` &#8211; Test your API key with a sample message<\/p>\n<p>## Permissions<\/p>\n<p>* `chatmoderator.admin` &#8211; Access to all commands (default: op)<br \/>\n* `chatmoderator.bypass` &#8211; Bypass chat moderation (default: false)<\/p>\n<p>## How It Works<\/p>\n<p>1. **Message Interception**: Listens to all chat messages.<br \/>\n2. **Server Detection**: Detects Folia\/Luminol and uses appropriate schedulers.<br \/>\n3. **Word Filter Check**: Checks messages against your custom blocked words.<br \/>\n4. **AI Analysis**: Sends message to OpenAI or Gemini for content analysis.<br \/>\n5. **Action Execution**: Blocks inappropriate messages, notifies admins, and logs actions.<\/p>\n<p>## Requirements<\/p>\n<p>* Minecraft Server 1.20+<br \/>\n* Spigot, Paper, Folia, or Luminol<br \/>\n* Java 17+<br \/>\n* OpenAI or Gemini API key (optional for AI moderation)<br \/>\n* Internet connection<\/p>\n<p>## Building from Source<\/p>\n<p>&#8220;`bash<br \/>\ngit clone <repository-url><br \/>\ncd chat-moderator<br \/>\nmvn clean package<br \/>\n&#8220;`<\/p>\n<p>The compiled JAR will be in the `target\/` directory.<\/p>\n<p>## Support<\/p>\n<p>For issues or feature requests, create an issue in the repository or contact the plugin developer.<\/p>\n<p>## License<\/p>\n<p>This project is licensed under the MIT License.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>An AI powered chat moderation minecraft plugin for Bukkit\/Spigot\/Paper\/Folia<\/p>\n","protected":false},"featured_media":38881,"template":"","meta":{"_minecraft_slug":"chatmoderator","_minecraft_project_id":"TFJpizSO","_minecraft_author":"Hihelloy","_minecraft_license":"MIT","_minecraft_downloads":171,"_minecraft_follows":0,"_minecraft_client_side":"unsupported","_minecraft_server_side":"required","_minecraft_storage_type":"zip","_minecraft_archive_name":"chatmoderator.zip","_minecraft_size_bytes":33663739,"_minecraft_version_count":3,"_minecraft_updated_at":"2026-05-16T13:07:37.811476Z","_minecraft_date_created":"2025-08-31T21:54:27.780177Z","_minecraft_date_modified":"2025-09-16T05:20:33.758881Z","_minecraft_project_url":"https:\/\/modrinth.com\/mod\/chatmoderator","_minecraft_icon_attachment_id":38881,"_minecraft_imported_at":"2026-06-01T20:16:18+00:00","_minecraft_import_hash":"36492412f7152ab9ce0a0075de90a94f","_minecraft_versions":"","_minecraft_links":"","_minecraft_gallery":"","_minecraft_api_metadata":""},"mod_category":[124,125,126,127,867,129,123,92],"mod_loader":[130,131,132,134],"minecraft_version":[59,36,60,93,94,101,102,62,37,73,74,38,78,79,80,81],"class_list":["post-38880","mod","type-mod","status-publish","has-post-thumbnail","hentry","mod_category-bukkit","mod_category-folia","mod_category-management","mod_category-paper","mod_category-social","mod_category-spigot","mod_category-technology","mod_category-utility","mod_loader-bukkit","mod_loader-folia","mod_loader-paper","mod_loader-spigot","minecraft_version-1-20","minecraft_version-1-20-1","minecraft_version-1-20-2","minecraft_version-1-20-3","minecraft_version-1-20-4","minecraft_version-1-20-5","minecraft_version-1-20-6","minecraft_version-1-21","minecraft_version-1-21-1","minecraft_version-1-21-2","minecraft_version-1-21-3","minecraft_version-1-21-4","minecraft_version-1-21-5","minecraft_version-1-21-6","minecraft_version-1-21-7","minecraft_version-1-21-8"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>ChatModerator - Minecraft<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/vpesports.com\/minecraft\/mods\/chatmoderator\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"ChatModerator - Minecraft\" \/>\n<meta property=\"og:description\" content=\"An AI powered chat moderation minecraft plugin for Bukkit\/Spigot\/Paper\/Folia\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vpesports.com\/minecraft\/mods\/chatmoderator\/\" \/>\n<meta property=\"og:site_name\" content=\"Minecraft\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/chatmoderator\\\/\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/chatmoderator\\\/\",\"name\":\"ChatModerator - Minecraft\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/chatmoderator\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/chatmoderator\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/chatmoderator-icon-e13bf6899edb2aff25c6c2aaebb2dc67c513483c_96.webp\",\"datePublished\":\"2026-06-01T20:16:16+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/chatmoderator\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/chatmoderator\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/chatmoderator\\\/#primaryimage\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/chatmoderator-icon-e13bf6899edb2aff25c6c2aaebb2dc67c513483c_96.webp\",\"contentUrl\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/chatmoderator-icon-e13bf6899edb2aff25c6c2aaebb2dc67c513483c_96.webp\",\"width\":96,\"height\":96},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/chatmoderator\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Mods\",\"item\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"ChatModerator\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/#website\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/\",\"name\":\"Minecraft\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"ChatModerator - Minecraft","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/vpesports.com\/minecraft\/mods\/chatmoderator\/","og_locale":"en_US","og_type":"article","og_title":"ChatModerator - Minecraft","og_description":"An AI powered chat moderation minecraft plugin for Bukkit\/Spigot\/Paper\/Folia","og_url":"https:\/\/vpesports.com\/minecraft\/mods\/chatmoderator\/","og_site_name":"Minecraft","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/vpesports.com\/minecraft\/mods\/chatmoderator\/","url":"https:\/\/vpesports.com\/minecraft\/mods\/chatmoderator\/","name":"ChatModerator - Minecraft","isPartOf":{"@id":"https:\/\/vpesports.com\/minecraft\/#website"},"primaryImageOfPage":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/chatmoderator\/#primaryimage"},"image":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/chatmoderator\/#primaryimage"},"thumbnailUrl":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/chatmoderator-icon-e13bf6899edb2aff25c6c2aaebb2dc67c513483c_96.webp","datePublished":"2026-06-01T20:16:16+00:00","breadcrumb":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/chatmoderator\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vpesports.com\/minecraft\/mods\/chatmoderator\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/vpesports.com\/minecraft\/mods\/chatmoderator\/#primaryimage","url":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/chatmoderator-icon-e13bf6899edb2aff25c6c2aaebb2dc67c513483c_96.webp","contentUrl":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/chatmoderator-icon-e13bf6899edb2aff25c6c2aaebb2dc67c513483c_96.webp","width":96,"height":96},{"@type":"BreadcrumbList","@id":"https:\/\/vpesports.com\/minecraft\/mods\/chatmoderator\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/vpesports.com\/minecraft\/"},{"@type":"ListItem","position":2,"name":"Mods","item":"https:\/\/vpesports.com\/minecraft\/mods\/"},{"@type":"ListItem","position":3,"name":"ChatModerator"}]},{"@type":"WebSite","@id":"https:\/\/vpesports.com\/minecraft\/#website","url":"https:\/\/vpesports.com\/minecraft\/","name":"Minecraft","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/vpesports.com\/minecraft\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"_links":{"self":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod\/38880","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod"}],"about":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/types\/mod"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/media\/38881"}],"wp:attachment":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/media?parent=38880"}],"wp:term":[{"taxonomy":"mod_category","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_category?post=38880"},{"taxonomy":"mod_loader","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_loader?post=38880"},{"taxonomy":"minecraft_version","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/minecraft_version?post=38880"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}