{"id":8121,"date":"2026-05-31T18:06:16","date_gmt":"2026-05-31T15:06:16","guid":{"rendered":"https:\/\/vpesports.com\/minecraft\/mods\/aerochat\/"},"modified":"2026-05-31T18:06:16","modified_gmt":"2026-05-31T15:06:16","slug":"aerochat","status":"publish","type":"mod","link":"https:\/\/vpesports.com\/minecraft\/mods\/aerochat\/","title":{"rendered":"AeroChat"},"content":{"rendered":"<p>## AeroChat \u2014 ultra\u2011light chat for Paper, Purpur &#038; Forks 1.21.X<\/p>\n<p>AeroChat is a tiny, fast chat formatter focused on simplicity and modern color features.<\/p>\n<p>### Highlights<br \/>\n&#8211; Paper 1.21.x only (requires Java 21)<br \/>\n&#8211; LuckPerms integration (group\/prefix) and PlaceholderAPI support<br \/>\n&#8211; MiniMessage + gradients + legacy `&#038;` and HEX (`&#038;#RRGGBB`)<br \/>\n&#8211; Configurable join messages (private and broadcast)<br \/>\n&#8211; Commands: reload and clear chat<br \/>\n&#8211; Designed to be extremely low overhead<\/p>\n<p>&#8212;<\/p>\n<p>## Screenshots \/ Gallery<br \/>\n![Join message example](https:\/\/cdn.modrinth.com\/data\/cached_images\/1109453d3eed077384cd80dd908091fa6d18b6e6.png)<br \/>\n![Clearing Chat](https:\/\/cdn.modrinth.com\/data\/cached_images\/7dd64f12a1b52083cc351c63965b1ac3bf67656c.png)<br \/>\n![Chat Format Example](https:\/\/cdn.modrinth.com\/data\/cached_images\/8e858150f39311a501f8a92b49ed3d1dbe07fe30.png)<br \/>\n![AeroChat Command Show](https:\/\/cdn.modrinth.com\/data\/cached_images\/d50a036aa82d3039d9a851aa9afdde2d9146258c.png)<br \/>\n&#8212;<\/p>\n<p>## Requirements<br \/>\n&#8211; Java 21 (JDK 21)<br \/>\n&#8211; Paper 1.21.x (not compatible with 1.19\/1.20)<br \/>\n&#8211; Optional (recommended): PlaceholderAPI and LuckPerms<\/p>\n<p>## Installation<br \/>\n1) Download the built JAR (or build from source).<br \/>\n2) Drop it into your server&#8217;s `plugins\/` folder.<br \/>\n3) Start Paper. A default `config.yml` will be generated.<\/p>\n<p>## Commands &#038; permissions<br \/>\n&#8211; `\/aerochat reload` (alias: `\/aec`)<br \/>\n\t&#8211; Permission: `aerochat.reload` (default: op)<br \/>\n&#8211; `\/clearchat [lines]` (alias: `\/cc`)<br \/>\n\t&#8211; Permission: `aerochat.clearchat` (default: op)<\/p>\n<p>## Configuration guide (config.yml)<br \/>\nTokens you can use in templates:<br \/>\n&#8211; `{prefix}` \u2014 resolved from group mapping or LuckPerms meta<br \/>\n&#8211; `{player}` \u2014 player name (colorized via `player_color`)<br \/>\n&#8211; `{message}` \u2014 the original chat component from Paper<\/p>\n<p>What you can write in text parts:<br \/>\n&#8211; Legacy colors `&#038;a`, bold `&#038;l`, etc.<br \/>\n&#8211; HEX as `&#038;#ff8800`<br \/>\n&#8211; MiniMessage tags, e.g. `<#ff8800>Hello<\/#ffaa00>` or `<gradient:#ff8800:#ffaa00>Hello<\/gradient>`<br \/>\n\t&#8211; Shortcut: `<#AAAAAA>Your text<\/#BBBBBB>` becomes a gradient between those two colors (simple open\/close only)<\/p>\n<p>Key options:<br \/>\n&#8211; `player_color`: default color for `{player}`<br \/>\n&#8211; `groups`: list of group names in priority order (LuckPerms primary is used)<br \/>\n&#8211; `prefix.<group>`: prefix per group (accepts `&#038;`, HEX, MiniMessage)<br \/>\n&#8211; `chat-format`: chat template combining the tokens above<br \/>\n&#8211; `join.welcome` \/ `join.broadcast`: enable and customize join messages<br \/>\n&#8211; `clearchat.lines` and `clearchat.broadcast` for `\/clearchat`<\/p>\n<p>Minimal example:<br \/>\n&#8220;`yaml<br \/>\nplayer_color: &#8220;&#038;f&#8221;<br \/>\ngroups: [admin, mod, default]<br \/>\nprefix:<br \/>\n\tadmin: &#8220;<b><gradient:#C3613A:#E28787>ADMIN<\/gradient><\/b>&#8221;<br \/>\n\tmod: &#8220;<b><gradient:#5732C4:#7779C4>MOD<\/gradient><\/b>&#8221;<br \/>\n\tdefault: &#8220;<b><gradient:#857D7D:#D6D6D6>PLAYER<\/gradient><\/b>&#8221;<br \/>\nchat-format: &#8220;{prefix} &#038;7{player}&#038;7: &#038;f{message}&#8221;<br \/>\njoin:<br \/>\n\twelcome:<br \/>\n\t\tenabled: true<br \/>\n\t\tmessage: &#8220;&#038;aWelcome, {player}&#038;a!&#8221;<br \/>\n\tbroadcast:<br \/>\n\t\tenabled: true<br \/>\n\t\tmessage: &#8220;<#f5a623>{player}<\/#f5a623> &#038;ejoined the server&#8221;<br \/>\n&#8220;`<\/p>\n<p>## Compatibility<br \/>\n&#8211; Built against `paper-api:1.21.1-R0.1-SNAPSHOT`<br \/>\n&#8211; `api-version: &#8216;1.21&#8217;` \u2014 it will not load on older major versions<\/p>\n<p>## Performance<br \/>\nAeroChat only runs on chat\/join events and command invocations. It keeps no large caches and performs minimal string\/component work per message. Expect negligible CPU and memory impact, even with MiniMessage. ClearChat sends N blank lines by design (brief burst of messages).<\/p>\n<p>## Troubleshooting<br \/>\n&#8211; \u201cUnsupported API version &#8216;1.21&#8217;\u201d \u2192 Your server isn\u2019t 1.21.x.<br \/>\n&#8211; \u201cJava 21 required\u201d or class version errors \u2192 Update your JDK\/server to Java 21.<br \/>\n&#8211; Placeholders aren\u2019t resolving \u2192 Verify PlaceholderAPI is installed and the specific expansion you use is present.<br \/>\n&#8211; Gradients\/tags not applying \u2192 Ensure you\u2019re using MiniMessage syntax in the static parts (tokens like `{message}` are kept as components and not reparsed).<\/p>\n<p>\u2014<\/p>\n<p>Main class: `me.sanepe.aerochat.PaperBasePlugin`<\/p>\n<p>## License<br \/>\nMIT \u2014 see `LICENSE` for details.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ultra\u2011light chat plugin for Paper 1.21.x with LuckPerms\/PlaceholderAPI, MiniMessage gradients, and configurable join\/clear chat.<\/p>\n","protected":false},"featured_media":8122,"template":"","meta":{"_minecraft_slug":"aerochat","_minecraft_project_id":"6KwqhoZl","_minecraft_author":"sanepe","_minecraft_license":"MIT","_minecraft_downloads":206,"_minecraft_follows":3,"_minecraft_client_side":"unsupported","_minecraft_server_side":"required","_minecraft_storage_type":"zip","_minecraft_archive_name":"aerochat.zip","_minecraft_size_bytes":84878,"_minecraft_version_count":4,"_minecraft_updated_at":"2026-05-16T12:37:21.398548Z","_minecraft_date_created":"2025-11-02T06:23:35.004521Z","_minecraft_date_modified":"2025-11-13T17:30:50.984305Z","_minecraft_project_url":"https:\/\/modrinth.com\/mod\/aerochat","_minecraft_icon_attachment_id":8122,"_minecraft_imported_at":"2026-05-31T15:06:16+00:00","_minecraft_import_hash":"f926b3aca98da51b14a7da13b9c905c1","_minecraft_versions":"","_minecraft_links":"","_minecraft_gallery":"","_minecraft_api_metadata":""},"mod_category":[90,127,128,867,92],"mod_loader":[132,133],"minecraft_version":[62,37,40,73,74,38,78,79,80,81,82],"class_list":["post-8121","mod","type-mod","status-publish","has-post-thumbnail","hentry","mod_category-optimization","mod_category-paper","mod_category-purpur","mod_category-social","mod_category-utility","mod_loader-paper","mod_loader-purpur","minecraft_version-1-21","minecraft_version-1-21-1","minecraft_version-1-21-10","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>AeroChat - 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\/aerochat\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"AeroChat - Minecraft\" \/>\n<meta property=\"og:description\" content=\"Ultra\u2011light chat plugin for Paper 1.21.x with LuckPerms\/PlaceholderAPI, MiniMessage gradients, and configurable join\/clear chat.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vpesports.com\/minecraft\/mods\/aerochat\/\" \/>\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=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/aerochat\\\/\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/aerochat\\\/\",\"name\":\"AeroChat - Minecraft\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/aerochat\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/aerochat\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/aerochat-icon-96e4988968017e0d9a7a3c02803d4323b9648e2e_96.webp\",\"datePublished\":\"2026-05-31T15:06:16+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/aerochat\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/aerochat\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/aerochat\\\/#primaryimage\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/aerochat-icon-96e4988968017e0d9a7a3c02803d4323b9648e2e_96.webp\",\"contentUrl\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/aerochat-icon-96e4988968017e0d9a7a3c02803d4323b9648e2e_96.webp\",\"width\":96,\"height\":96},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/aerochat\\\/#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\":\"AeroChat\"}]},{\"@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":"AeroChat - 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\/aerochat\/","og_locale":"en_US","og_type":"article","og_title":"AeroChat - Minecraft","og_description":"Ultra\u2011light chat plugin for Paper 1.21.x with LuckPerms\/PlaceholderAPI, MiniMessage gradients, and configurable join\/clear chat.","og_url":"https:\/\/vpesports.com\/minecraft\/mods\/aerochat\/","og_site_name":"Minecraft","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/vpesports.com\/minecraft\/mods\/aerochat\/","url":"https:\/\/vpesports.com\/minecraft\/mods\/aerochat\/","name":"AeroChat - Minecraft","isPartOf":{"@id":"https:\/\/vpesports.com\/minecraft\/#website"},"primaryImageOfPage":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/aerochat\/#primaryimage"},"image":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/aerochat\/#primaryimage"},"thumbnailUrl":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/05\/aerochat-icon-96e4988968017e0d9a7a3c02803d4323b9648e2e_96.webp","datePublished":"2026-05-31T15:06:16+00:00","breadcrumb":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/aerochat\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vpesports.com\/minecraft\/mods\/aerochat\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/vpesports.com\/minecraft\/mods\/aerochat\/#primaryimage","url":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/05\/aerochat-icon-96e4988968017e0d9a7a3c02803d4323b9648e2e_96.webp","contentUrl":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/05\/aerochat-icon-96e4988968017e0d9a7a3c02803d4323b9648e2e_96.webp","width":96,"height":96},{"@type":"BreadcrumbList","@id":"https:\/\/vpesports.com\/minecraft\/mods\/aerochat\/#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":"AeroChat"}]},{"@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\/8121","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\/8122"}],"wp:attachment":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/media?parent=8121"}],"wp:term":[{"taxonomy":"mod_category","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_category?post=8121"},{"taxonomy":"mod_loader","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_loader?post=8121"},{"taxonomy":"minecraft_version","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/minecraft_version?post=8121"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}