{"id":173673,"date":"2026-06-10T01:56:40","date_gmt":"2026-06-09T22:56:40","guid":{"rendered":"https:\/\/vpesports.com\/minecraft\/mods\/zealouschat\/"},"modified":"2026-06-10T01:56:40","modified_gmt":"2026-06-09T22:56:40","slug":"zealouschat","status":"publish","type":"mod","link":"https:\/\/vpesports.com\/minecraft\/mods\/zealouschat\/","title":{"rendered":"ZealousChat"},"content":{"rendered":"<p># ZealousChat<br \/>\n*A modern, MiniMessage-powered chat formatter for Paper &#038; Spigot servers*<\/p>\n<details>\n<summary>Technical introduction<\/summary>\n<p>ZealousChat replaces Vanilla chat with a fully configurable system built on the Paper&#8217;s high performance **AsyncChatEvent** and **MiniMessage** components.  It ships with rank\/world specific formats, private messaging, inventory placeholders and a granular permission model \u2013 all while remaining light-weight and production ready.<\/p>\n<p>&#8212;<\/p>\n<p>## Features<br \/>\n&#8211; **MiniMessage everywhere** \u2013 gradients, hex colours, hover\/click events<br \/>\n&#8211; **Rank, world &#038; permission based formats** with priority system<br \/>\n&#8211; **Private messaging** (`\/msg`, `\/reply`) with social-spy &#038; cooldowns<br \/>\n&#8211; **Cross-server private messaging** (optional, **MySQL required**) for networks running multiple servers<br \/>\n&#8211; **Chat \/ Message toggles** per-player or server-wide (with staff bypass)<br \/>\n&#8211; **Inventory placeholders** `[inv]`, `[ender]`, `[armor]`, `[hand]`, `[pos]`, `[health]`<br \/>\n&#8211; **URL auto-linking** &#038; **@mentions** (configurable)<br \/>\n&#8211; **Advanced swear filter** with regex and fuzzy matching, with a tiered punishment system.<br \/>\n&#8211; **Database-backed infraction tracking** with caching for performance<br \/>\n&#8211; **PlaceholderAPI bridge** (optional soft-depend)<br \/>\n&#8211; **Hot-reloadable** plugin configurations (`\/zchat reload`)<br \/>\n&#8211; **Customizable Messages** for all messages used within the plugin.<\/p>\n<\/details>\n<p>ZealousChat is a high performance, 1.20.4+ chat formatting plugin that uses configurable MiniMessage-based chat formats to format chat messages. ZealousChat includes many extra features other plugins leave out, like the ability to send a read-only view of your inventory\/hand\/armor\/enderchest in chat, formatted \/msg and \/reply commands, click\/hover messages on messages, @mentions and more.<br \/>\nZealousChat also has special features for server networks, such as cross-server private messaging, and cross server chat channels (for staffchat and similar).<\/p>\n<p>ZealousChat implements all of its features using the Paper API, and is designed to be as efficient as possible.<\/p>\n<p>Showcase Images<\/p>\n<p>## Commands<\/p>\n<p>### Plugin Core<br \/>\n&#8211; `\/zealouschat` (`\/chatplugin`, `\/zchat`) \u2014 Base command for ZealousChat<br \/>\n  &#8211; Permission: `zchat.admin`<br \/>\n  &#8211; This command is not an actual command, but rather the base for all sub-commands.<\/p>\n<p>### Configuration Commands<br \/>\n&#8211; `\/zealouschat reload` \u2014 Reload plugin configurations<br \/>\n  &#8211; Permission: `zchat.admin.reload`<br \/>\n&#8211; `\/zealouschat info` \u2014 Display current plugin settings and enabled features<br \/>\n  &#8211; Permission: `zchat.admin.info`<br \/>\n&#8211; `\/zealouschat test <message>` \u2014 Preview chat formatting<br \/>\n  &#8211; Permission: `zchat.admin.test`<br \/>\n  &#8211; Parameters:<br \/>\n    &#8211; `<message>`: Text to format and display<\/p>\n<p>### Format Management<br \/>\n&#8211; `\/zealouschat format set default <format>` \u2014 Set default chat format<br \/>\n  &#8211; Permission: `zchat.admin.format`<br \/>\n  &#8211; Parameters:<br \/>\n    &#8211; `<format>`: MiniMessage format string<br \/>\n&#8211; `\/zealouschat format set group <group> <format>` \u2014 Define group-specific format<br \/>\n  &#8211; Permission: `zchat.admin.format`<br \/>\n  &#8211; Parameters:<br \/>\n    &#8211; `<group>`: Permission group name<br \/>\n    &#8211; `<format>`: MiniMessage format string<br \/>\n&#8211; `\/zealouschat format set world <world> <format>` \u2014 Define world-specific format<br \/>\n  &#8211; Permission: `zchat.admin.format`<br \/>\n  &#8211; Parameters:<br \/>\n    &#8211; `<world>`: World name<br \/>\n    &#8211; `<format>`: MiniMessage format string<br \/>\n&#8211; `\/zealouschat format list` \u2014 List all current chat formats<br \/>\n  &#8211; Permission: `zchat.admin.format`<\/p>\n<p>### Feature Toggles<br \/>\n&#8211; `\/zealouschat toggle colors` \u2014 Enable\/disable color codes in chat<br \/>\n  &#8211; Permission: `zchat.admin.toggle`<br \/>\n&#8211; `\/zealouschat toggle formatting` \u2014 Enable\/disable text formatting<br \/>\n  &#8211; Permission: `zchat.admin.toggle`<br \/>\n&#8211; `\/zealouschat toggle mentions` \u2014 Enable\/disable player @mentions<br \/>\n  &#8211; Permission: `zchat.admin.toggle`<br \/>\n&#8211; `\/zealouschat toggle cooldown` \u2014 Enable\/disable chat cooldown<br \/>\n  &#8211; Permission: `zchat.admin.toggle`<\/p>\n<p>### Private Messaging<br \/>\n&#8211; `\/msg <player> <message>` \u2014 Send a private message (aliases: `\/message`, `\/tell`, `\/whisper`, `\/w`)<br \/>\n  &#8211; Permission: `zchat.message`<br \/>\n  &#8211; Parameters:<br \/>\n    &#8211; `<player>`: Recipient player name<br \/>\n    &#8211; `<message>`: Message text<br \/>\n&#8211; `\/reply <message>` \u2014 Reply to the last private message sender (aliases: `\/r`, `\/respond`)<br \/>\n  &#8211; Permission: `zchat.message`<br \/>\n  &#8211; Parameters:<br \/>\n    &#8211; `<message>`: Reply text<\/p>\n<p>#### Cross-server private messages<\/p>\n<p>When you enable cross-server messaging in storage.conf (requires a MySQL or Redis database), ZealousChat can deliver private messages across multiple Paper servers on the same network.<\/p>\n<p>&#8211; `\/msg` will attempt cross-server delivery when the target is online on another server<br \/>\n&#8211; `\/reply` also supports cross-server targets<br \/>\n&#8211; Recipients that have private messages toggled off will not receive cross-server messages<\/p>\n<p>### Chat &#038; Social Spy Toggles<br \/>\n&#8211; `\/zealouschat toggle chat` \u2014 Toggle your public chat on\/off<br \/>\n  &#8211; Permission: `zchat.toggle.chat`<br \/>\n&#8211; `\/zealouschat toggle messages` \u2014 Toggle your private messages on\/off<br \/>\n  &#8211; Permission: `zchat.toggle.messages`<br \/>\n&#8211; `\/zealouschat toggle socialspy` \u2014 Enable\/disable social spy for private messages<br \/>\n  &#8211; Permission: `zchat.socialspy`<br \/>\n&#8211; `\/zealouschat alerts` \u2014 Toggle alerts on\/off<br \/>\n  &#8211; Permission: `zchat.alerts.toggle`<br \/>\n&#8211; `\/zealouschat toggle status` \u2014 View your current chat &#038; private message status<br \/>\n  &#8211; Permission: `zchat.status`<\/p>\n<p>### Channel Commands<br \/>\n&#8211; `\/channel list` \u2014 List all available channels<br \/>\n  &#8211; Permission: `zchat.channel.use.list`<br \/>\n&#8211; `\/channel join <channel>` \u2014 Join a channel<br \/>\n  &#8211; Permission: `zchat.channel.use.join`<br \/>\n  &#8211; Parameters:<br \/>\n    &#8211; `<channel>`: Channel name<br \/>\n&#8211; `\/channel leave <channel>` \u2014 Leave a channel<br \/>\n  &#8211; Permission: `zchat.channel.use.leave`<br \/>\n  &#8211; Parameters:<br \/>\n    &#8211; `<channel>`: Channel name<br \/>\n&#8211; `\/channel focus <channel>` \u2014 Set a channel as the active channel (where your messages go by default)<br \/>\n  &#8211; Permission: `zchat.channel.use.focus`<br \/>\n  &#8211; Parameters:<br \/>\n    &#8211; `<channel>`: Channel name<br \/>\n&#8211; `\/channel who <channel>` \u2014 List members in a channel<br \/>\n  &#8211; Permission: `zchat.channel.use.who`<br \/>\n  &#8211; Parameters:<br \/>\n    &#8211; `<channel>`: Channel name<\/p>\n<p>## Swear Filter System<\/p>\n<p>The swear filter provides advanced profanity detection with configurable punishment tiers, database persistence, and bypass permissions for trusted staff.<br \/>\n*This system is currently experimental. There will be (mostly small) issues here. Please report any bugs you find.*<\/p>\n<p>### Filter Types<\/p>\n<p>**Regex Matching**<br \/>\n&#8211; Uses regular expressions for precise pattern matching<br \/>\n&#8211; Case-insensitive by default (e.g., `(?i)badword`)<br \/>\n&#8211; Supports complex patterns and word boundaries<br \/>\n&#8211; Automatically caches compiled patterns for performance<\/p>\n<p>**Levenshtein Distance Matching**<br \/>\n&#8211; Fuzzy matching based on character distance between words<br \/>\n&#8211; Configurable distance threshold (default: 2-3 characters)<br \/>\n&#8211; Detects misspellings and variations of filtered words<br \/>\n&#8211; Splits messages into individual words for comparison<\/p>\n<p>### Punishment System<\/p>\n<p>&#8211; **Infraction Tracking**: Each filter group tracks infractions independently<br \/>\n&#8211; **Tiered Punishments**: Map infraction counts to command lists<br \/>\n&#8211; **Command Placeholders**: Use `{player}` for the offending player&#8217;s name<br \/>\n&#8211; **Console Execution**: All punishment commands run as console<br \/>\n&#8211; **Database Persistence**: Infraction counts persist across server restarts<\/p>\n<p>### Performance Features<\/p>\n<p>&#8211; **Caching**: Online player infractions cached in memory for instant access<br \/>\n&#8211; **Async Processing**: Infraction handling runs asynchronously to prevent chat delays<br \/>\n&#8211; **Database Optimization**: Efficient queries with proper indexing<br \/>\n&#8211; **Regex Caching**: Compiled patterns cached to avoid recompilation<\/p>\n<p>### Administrator Controls<br \/>\n&#8211; `\/zealouschat admin clear <type>` \u2014 Clear various chat-related data<br \/>\n  &#8211; Permission: `zchat.admin.clear`<br \/>\n  &#8211; Parameters:<br \/>\n    &#8211; `<type>`: One of: `toggles` (resets all chat toggles), `socialspy` (resets all social spy states), `cooldowns` (clears message cooldowns), `blocks` (clears all block lists), `alerts` (clears all alert states), or `all` (clears all data)<br \/>\n&#8211; `\/zealouschat admin gtoggle <type>` \u2014 Toggle global chat features (aliases: `\/gtoggle`, `\/chatplugin admin gtoggle`, `\/zealouschat admin gtoggle`, `\/zchat admin gtoggle`)<br \/>\n  &#8211; Permission: `zchat.admin.gtoggle`<br \/>\n  &#8211; Parameters:<br \/>\n    &#8211; `<type>`: One of: `chat`, `privatemessages`, `both`, `all`<br \/>\n&#8211; `\/zealouschat admin toggle chat <player> <true|false>` \u2014 Force toggle public chat for a player<br \/>\n  &#8211; Permission: `zchat.admin.toggle.chat`<br \/>\n  &#8211; Parameters:<br \/>\n    &#8211; `<player>`: Target player name<br \/>\n    &#8211; `<true|false>`: Enable or disable chat<br \/>\n&#8211; `\/zealouschat admin toggle messages <player> <true|false>` \u2014 Force toggle private messages for a player<br \/>\n  &#8211; Permission: `zchat.admin.toggle.messages`<br \/>\n  &#8211; Parameters:<br \/>\n    &#8211; `<player>`: Target player name<br \/>\n    &#8211; `<true|false>`: Enable or disable private messages<br \/>\n&#8211; `\/zealouschat admin toggle all <player> <true|false>` \u2014 Force toggle both chat &#038; private messages<br \/>\n  &#8211; Permission: `zchat.admin.toggle.all`<br \/>\n  &#8211; Parameters:<br \/>\n    &#8211; `<player>`: Target player name<br \/>\n    &#8211; `<true|false>`: Enable or disable both<br \/>\n&#8211; `\/zealouschat admin socialspy <player> <true|false>` \u2014 Force toggle social spy for a player<br \/>\n  &#8211; Permission: `zchat.admin.socialspy`<br \/>\n  &#8211; Parameters:<br \/>\n    &#8211; `<player>`: Target player name<br \/>\n    &#8211; `<true|false>`: Enable or disable social spy<br \/>\n&#8211; `\/zealouschat admin stats` \u2014 Display server-wide chat and private message toggle statistics<br \/>\n  &#8211; Permission: `zchat.admin.stats`<br \/>\n&#8211; `\/zealouschat admin alerts <player> <true|false>` \u2014 Force toggle alerts for a player<br \/>\n  &#8211; Permission: `zchat.admin.alerts`<br \/>\n  &#8211; Parameters:<br \/>\n    &#8211; `<player>`: Target player name<br \/>\n    &#8211; `<true|false>`: Enable or disable alerts<br \/>\n&#8211; `\/zealouschat admin block <player> <target>` \u2014 Force a player to block another player<br \/>\n  &#8211; Permission: `zchat.admin.block`<br \/>\n  &#8211; Parameters:<br \/>\n    &#8211; `<player>`: Player who will do the blocking<br \/>\n    &#8211; `<target>`: Player to be blocked<br \/>\n&#8211; `\/zealouschat admin unblock <player> <target>` \u2014 Force a player to unblock another player<br \/>\n  &#8211; Permission: `zchat.admin.block`<br \/>\n  &#8211; Parameters:<br \/>\n    &#8211; `<player>`: Player who will do the unblocking<br \/>\n    &#8211; `<target>`: Player to be unblocked<br \/>\n&#8211; `\/zealouschat admin clearblocks <player>` \u2014 Clear all blocks for a player<br \/>\n  &#8211; Permission: `zchat.admin.block`<br \/>\n  &#8211; Parameters:<br \/>\n    &#8211; `<player>`: Player whose block list will be cleared<\/p>\n<p>## Quick Start<br \/>\n1. Drop the built jar into `plugins\/` and restart.<br \/>\n2. Edit `plugins\/ZealousChat\/config.conf` \u2013 changes can be reloaded with `\/zealouschat reload`.<br \/>\n3. (Optional) Configure database settings in `plugins\/ZealousChat\/database.conf` and messages in `plugins\/ZealousChat\/messages.conf`.<br \/>\n4. Grant players a format permission such as `zchat.format.vip` or allow colours with `zchat.color`.<br \/>\n5. Send `[inv]`, `[hand]`, `[ender]`, `[health]` and `[pos]` in chat messages to display inventory information.<\/p>\n<p>## Placeholders<br \/>\nAll Chat, PM and config strings support MiniMessage plus any PlaceholderAPI tags when the plugin is present.<\/p>\n<p>## Supported Versions \/ Dependencies<br \/>\n&#8211; PaperMC \/ Spigot **1.20+** (may work on older versions, untested)<br \/>\n&#8211; Java 17+<br \/>\n&#8211; (Optional) PlaceholderAPI for external placeholders<\/p>\n<p>## Permissions<\/p>\n<details>\n<summary>Click to view permission nodes<\/summary>\n<p>| Node                                | Default | Description                         |<br \/>\n|&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-|&#8212;&#8212;&#8212;|&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-|<br \/>\n| `zchat.*`                      | op      | Grant everything                    |<br \/>\n| `zchat.admin`                  | op      | Access root\/admin commands          |<br \/>\n| `zchat.admin.reload`           | op      | Reload configuration                |<br \/>\n| `zchat.admin.info`             | op      | View plugin info                    |<br \/>\n| `zchat.admin.test`             | op      | Test formatting                     |<br \/>\n| `zchat.admin.format`           | op      | Manage chat formats                 |<br \/>\n| `zchat.admin.toggle`           | op      | Toggle plugin features              |<br \/>\n| `zchat.admin.block`            | op      | Manage player block lists           |<br \/>\n| `zchat.color`                  | true    | Use colour codes in chat            |<br \/>\n| `zchat.formatting`             | true    | Use text formatting codes           |<br \/>\n| `zchat.url`                    | true    | Send clickable URLs                 |<br \/>\n| `zchat.mention`                | true    | Use @mentions                       |<br \/>\n| `zchat.bypass.cooldown`        | op      | Bypass chat\/message cooldowns       |<br \/>\n| `zchat.bypass.swearfilter`     | op      | Bypass swear filter restrictions    |<br \/>\n| `zchat.format.admin`           | op      | Use **Admin** chat format           |<br \/>\n| `zchat.format.moderator`       | false   | Use **Moderator** chat format       |<br \/>\n| `zchat.format.vip`             | false   | Use **VIP** chat format             |<br \/>\n| `zchat.message`                | true    | Send &#038; receive private messages     |<br \/>\n| `zchat.channel.use.list`       | true    | Use the `\/channel list` command     |<br \/>\n| `zchat.channel.use.join`       | true    | Use the `\/channel join` command     |<br \/>\n| `zchat.channel.use.leave`      | true    | Use the `\/channel leave` command    |<br \/>\n| `zchat.channel.use.focus`      | true    | Use the `\/channel focus` command    |<br \/>\n| `zchat.channel.use.who`        | true    | Use the `\/channel who` command      |<br \/>\n| `zchat.toggle`                 | true    | Parent of chat\/message toggle perms |<br \/>\n| `zchat.toggle.chat`            | true    | Toggle public chat                  |<br \/>\n| `zchat.toggle.messages`        | true    | Toggle private messages             |<br \/>\n| `zchat.status`                 | true    | View own chat status                |<br \/>\n| `zchat.alerts.toggle`          | true    | Toggle alerts on\/off               |<br \/>\n| `zchat.socialspy`              | op      | Monitor private messages            |<br \/>\n| `zchat.commandspy`             | op      | Monitor player commands             |<br \/>\n| `zchat.bypass.chattoggle`      | op      | Chat even when disabled             |<br \/>\n| `zchat.bypass.messagetoggle`   | op      | PM even when disabled               |<br \/>\n| `zchat.bypass.globalchat`       | op      | Bypass global chat toggle           |<br \/>\n| `zchat.bypass.globalmessages`   | op      | Bypass global message toggle        |<br \/>\n| `zchat.viewinventory`          | true    | View shared inventories             |<br \/>\n| `zchat.inventory.placeholders` | true    | Use inventory placeholders          |<br \/>\n| `zchat.admin.toggle.chat`      | op      | Force toggle chat for a player      |<br \/>\n| `zchat.admin.toggle.messages`  | op      | Force toggle messages for a player  |<br \/>\n| `zchat.admin.toggle.all`       | op      | Force toggle both chat &#038; messages    |<br \/>\n| `zchat.admin.gtoggle`         | op      | Toggle global chat features          |<br \/>\n| `zchat.admin.socialspy`        | op      | Force toggle social spy for player   |<br \/>\n| `zchat.admin.stats`            | op      | View server-wide statistics         |<br \/>\n| `zchat.admin.alerts`           | op      | Force toggle alerts for a player     |<br \/>\n| `zchat.admin.clear`            | op      | Clear various chat-related data     |<\/p>\n<\/details>\n<p>&#8212;<\/p>\n<p>### Need help?<br \/>\n\u2022 Discord: Join Discord<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A powerful, mini-message plugin for chat formatting and beyond.<\/p>\n","protected":false},"featured_media":173674,"template":"","meta":{"_minecraft_slug":"zealouschat","_minecraft_project_id":"IjAw24Ve","_minecraft_author":"bruhmoment69","_minecraft_license":"AGPL-3.0-or-later","_minecraft_downloads":406,"_minecraft_follows":0,"_minecraft_client_side":"unsupported","_minecraft_server_side":"required","_minecraft_storage_type":"zip","_minecraft_archive_name":"zealouschat.zip","_minecraft_size_bytes":82306865,"_minecraft_version_count":11,"_minecraft_updated_at":"2026-05-16T10:58:49.180761Z","_minecraft_date_created":"2025-07-18T03:12:07.985783Z","_minecraft_date_modified":"2025-12-25T07:30:22.576761Z","_minecraft_project_url":"https:\/\/modrinth.com\/mod\/zealouschat","_minecraft_icon_attachment_id":173674,"_minecraft_imported_at":"2026-06-09T22:56:40+00:00","_minecraft_import_hash":"c0a2b60e5e2098daa78771f17240c66a","_minecraft_versions":"","_minecraft_links":"","_minecraft_gallery":"","_minecraft_api_metadata":""},"mod_category":[156,125,89,126,127,128,867,91,869,92],"mod_loader":[131,132,133],"minecraft_version":[59,36,60,93,94,101,102,62,37,40,41,73,74,38,78,79,80,81,82],"class_list":["post-173673","mod","type-mod","status-publish","has-post-thumbnail","hentry","mod_category-decoration","mod_category-folia","mod_category-game-mechanics","mod_category-management","mod_category-paper","mod_category-purpur","mod_category-social","mod_category-storage","mod_category-transportation","mod_category-utility","mod_loader-folia","mod_loader-paper","mod_loader-purpur","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-10","minecraft_version-1-21-11","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","minecraft_version-1-21-9"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>ZealousChat - 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\/zealouschat\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"ZealousChat - Minecraft\" \/>\n<meta property=\"og:description\" content=\"A powerful, mini-message plugin for chat formatting and beyond.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vpesports.com\/minecraft\/mods\/zealouschat\/\" \/>\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=\"9 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/zealouschat\\\/\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/zealouschat\\\/\",\"name\":\"ZealousChat - Minecraft\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/zealouschat\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/zealouschat\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/zealouschat-icon-eecbf761ea69ad485de124085becabebeea6eba7_96.webp\",\"datePublished\":\"2026-06-09T22:56:40+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/zealouschat\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/zealouschat\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/zealouschat\\\/#primaryimage\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/zealouschat-icon-eecbf761ea69ad485de124085becabebeea6eba7_96.webp\",\"contentUrl\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/zealouschat-icon-eecbf761ea69ad485de124085becabebeea6eba7_96.webp\",\"width\":96,\"height\":96},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/zealouschat\\\/#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\":\"ZealousChat\"}]},{\"@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":"ZealousChat - 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\/zealouschat\/","og_locale":"en_US","og_type":"article","og_title":"ZealousChat - Minecraft","og_description":"A powerful, mini-message plugin for chat formatting and beyond.","og_url":"https:\/\/vpesports.com\/minecraft\/mods\/zealouschat\/","og_site_name":"Minecraft","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/vpesports.com\/minecraft\/mods\/zealouschat\/","url":"https:\/\/vpesports.com\/minecraft\/mods\/zealouschat\/","name":"ZealousChat - Minecraft","isPartOf":{"@id":"https:\/\/vpesports.com\/minecraft\/#website"},"primaryImageOfPage":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/zealouschat\/#primaryimage"},"image":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/zealouschat\/#primaryimage"},"thumbnailUrl":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/zealouschat-icon-eecbf761ea69ad485de124085becabebeea6eba7_96.webp","datePublished":"2026-06-09T22:56:40+00:00","breadcrumb":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/zealouschat\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vpesports.com\/minecraft\/mods\/zealouschat\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/vpesports.com\/minecraft\/mods\/zealouschat\/#primaryimage","url":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/zealouschat-icon-eecbf761ea69ad485de124085becabebeea6eba7_96.webp","contentUrl":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/zealouschat-icon-eecbf761ea69ad485de124085becabebeea6eba7_96.webp","width":96,"height":96},{"@type":"BreadcrumbList","@id":"https:\/\/vpesports.com\/minecraft\/mods\/zealouschat\/#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":"ZealousChat"}]},{"@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\/173673","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\/173674"}],"wp:attachment":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/media?parent=173673"}],"wp:term":[{"taxonomy":"mod_category","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_category?post=173673"},{"taxonomy":"mod_loader","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_loader?post=173673"},{"taxonomy":"minecraft_version","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/minecraft_version?post=173673"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}