\n \u003Ca href=\"https://github.com/WiIIiam278/HuskChat/actions/workflows/ci.yml\">\n \u003Cimg src=\"https://img.shields.io/github/actions/workflow/status/WiIIiam278/HuskChat/ci.yml?branch=master&logo=github\"/>\n \u003C/a> \n \u003Ca href=\"https://repo.william278.net/#/releases/net/william278/huskchat/\">\n \u003Cimg src=\"https://repo.william278.net/api/badge/latest/releases/net/william278/huskchat?color=00fb9a&name=Maven&prefix=v\" />\n \u003C/a> \n \u003Ca href=\"https://discord.gg/tVYhJfyDWG\">\n \u003Cimg src=\"https://img.shields.io/discord/818135932103557162.svg?label=&logo=discord&logoColor=fff&color=7389D8&labelColor=6A7EC2\" />\n \u003C/a> \n \u003Cbr/>\n \u003Cb>\n \u003Ca href=\"https://www.spigotmc.org/resources/huskchat.94496/\">Spigot\u003C/a>\n \u003C/b> —\n \u003Cb>\n \u003Ca href=\"https://william278.net/docs/huskchat/setup\">Setup\u003C/a>\n \u003C/b> — \n \u003Cb>\n \u003Ca href=\"https://william278.net/docs/huskchat/\">Docs\u003C/a>\n \u003C/b> — \n \u003Cb>\n \u003Ca href=\"https://github.com/WiIIiam278/HuskChat/issues\">Issues\u003C/a>\n \u003C/b>\n\u003C/p>\n\u003Cbr/>\n\n**HuskChat** is a no-frills, simple and customisable chat system for Minecraft networks. It supports both running on BungeeCord and Velocity frontend servers for cross-server chat, or on a single-server Spigot setup.\n\nIt's designed to be easy to configure with an elegant out-of-box setup, while also being highly configurable, suiting a variety of use cases by allowing you to define channels and manage who can send and receive messages within them.\n\n## Features\n**⭐ Works great out of the box** — Install on your Spigot server or Velocity/BungeeCord-based proxy and use right away\n\n**⭐ Placeholder support** — Hooks with LuckPerms to display user roles, PAPI support via [PAPIProxyBridge](https://william278.net/docs/huskchat/formatting)\n\n**⭐ Private messaging** — Private messages—including group DMs&mdash and replying, admin spy features\n\n**⭐ Fine-tune channels** — Set send/receive permissions for channels, send messages to a discord webhook, filter [& more](https://william278.net/docs/huskchat/channels)!\n\n**⭐ Quick and easy to use** — Super simple set of [commands](https://william278.net/docs/huskchat/commands). Define channel shortcut commands, too!\n\n**⭐ Advanced profanity checking** — Machine learning powered profanity filter\n\n**⭐ Filters & replacers** — Customisable spam limiting filter, anti-advertising & special emoji\n\n**⭐ Modern formatting** — Utilise modern formatting, with RGB and Gradient support via [MineDown](https://github.com/Phoenix616/MineDown)\n\n## Building\nTo build HuskChat, you'll need python (>=`v3.6`) with associated packages installed; `jep` and `alt-profanity-check`. \nYou can install these with `pip install jep` and `pip install alt-profanity-check`. These are needed to run the profanity filter tests.\n\nThen, simply run the following in the root of the repository:\n```\n./gradlew clean build\n```\n\n## License\nHuskChat is licensed under the Apache 2.0 license.\n\n- [License](https://github.com/WiIIiam278/HuskChat/blob/master/LICENSE)\n\n## Translations\nTranslations of the plugin locales are welcome to help make the plugin more accessible. Please submit a pull request with your translations as a `.yml` file.\n\n- [Locales Directory](https://github.com/WiIIiam278/HuskChat/tree/master/common/src/main/resources/locales)\n- [English Locales](https://github.com/WiIIiam278/HuskChat/tree/master/common/src/main/resources/locales/en-gb.yml)\n\n## Links\n- [Docs](https://william278.net/docs/huskchat/) — Read the plugin documentation!\n- [Spigot](https://www.spigotmc.org/resources/huskchat.94496/) — View the Spigot resource page (Also: [Polymart](https://polymart.org/resource/huskchat.1217), [Modrinth](https://modrinth.com/plugin/huskchat))\n- [Issues](https://github.com/WiIIiam278/HuskChat/issues) — File a bug report or feature request\n- [Discord](https://discord.gg/tVYhJfyDWG) — Get help, ask questions\n- [bStats](https://bstats.org/plugin/bungeecord/HuskChat/11882) — View plugin metrics (Also: [Velocity](https://bstats.org/plugin/velocity/HuskChat%20-%20Velocity/14187))\n\n---\n© [William278](https://william278.net/), 2024. Licensed under the Apache-2.0 License.\n",[22,25,28],{"id":23,"url":24},"spigot","https://spigotmc.org/resources/huskchat.94496",{"id":26,"url":27},"polymart","https://polymart.org/resource/huskchat.1217",{"id":29,"url":30},"modrinth","https://modrinth.com/plugin/huskchat",[32],"William278",[23,34,35,36],"paper","waterfall","velocity",0,"",[40,58,83,106],{"order":37,"name":41,"children":42},"Setup",[43,47],{"order":37,"url":44,"title":41,"icon":45,"children":46},"setup","fa6-solid:book",[],{"order":48,"url":49,"title":50,"icon":51,"children":52},1,"config-files","Config","fa6-solid:file-code",[53],{"order":37,"url":54,"title":55,"icon":56,"children":57},"translations","Locales","material-symbols:translate",[],{"order":48,"name":59,"children":60},"Features",[61,66,71,77],{"order":37,"url":62,"title":63,"icon":64,"children":65},"commands","Commands","octicon:command-palette-16",[],{"order":48,"url":67,"title":68,"icon":69,"children":70},"join-and-quit-messages","Join & Quit Messages","mdi:greeting-outline",[],{"order":72,"url":73,"title":74,"icon":75,"children":76},2,"group-messages","Group Private Messages","ic:outline-email",[],{"order":78,"url":79,"title":80,"icon":81,"children":82},3,"social-and-local-spy","Social & Local Spy","tabler:spy",[],{"order":72,"name":84,"children":85},"Chat",[86,91,96,101],{"order":37,"url":87,"title":88,"icon":89,"children":90},"channels","Chat Channels","grommet-icons:channel",[],{"order":48,"url":92,"title":93,"icon":94,"children":95},"formatting","Formatting","mdi:paint-outline",[],{"order":72,"url":97,"title":98,"icon":99,"children":100},"filters-and-replacers","Filters & Replacers","lucide:filter",[],{"order":78,"url":102,"title":103,"icon":104,"children":105},"discord-hook","Discord Hook","material-symbols:webhook",[],{"order":78,"name":107,"children":108},"Developers",[109],{"order":37,"url":18,"title":110,"icon":111,"children":112},"Source Code","fa6-solid:code",[],20,{"SVG":115,"PNG":116,"PNG_TRANSPARENT":117,"SVG_TRANSPARENT":118},"huskchat.svg","huskchat.png","huskchat-transparent.png","huskchat-transparent.svg",[],[],{"downloadCount":122,"averageRating":123,"numberOfRatings":124,"interactions":125,"onlinePlayers":37,"onlineServers":37},28001,3.892307692307692,13,79,{"data":127,"body":128},{},{"type":129,"children":130},"root",[131,148,155,162,198,204,293,299],{"type":132,"tag":133,"props":134,"children":135},"element","h1",{"id":38},[136],{"type":132,"tag":137,"props":138,"children":141},"a",{"href":18,"rel":139},[140],"nofollow",[142],{"type":132,"tag":143,"props":144,"children":147},"img",{"alt":145,"src":146},"HuskChat banner","https://raw.githubusercontent.com/WiIIiam278/HuskChat/master/images/banner.png",[],{"type":132,"tag":149,"props":150,"children":151},"p",{},[152],{"type":153,"value":154},"text","Welcome! This is the plugin documentation for HuskChat—the no-frills chat plugin for Minecraft: Java Edition servers and networks. Please click through to the topic you'd like to read about.",{"type":132,"tag":156,"props":157,"children":159},"h2",{"id":158},"guides",[160],{"type":153,"value":161},"Guides",{"type":132,"tag":163,"props":164,"children":165},"ul",{},[166,177,188],{"type":132,"tag":167,"props":168,"children":169},"li",{},[170,172],{"type":153,"value":171},"📚 ",{"type":132,"tag":137,"props":173,"children":175},{"href":174},"/docs/huskchat/setup",[176],{"type":153,"value":41},{"type":132,"tag":167,"props":178,"children":179},{},[180,182],{"type":153,"value":181},"📝 ",{"type":132,"tag":137,"props":183,"children":185},{"href":184},"/docs/huskchat/config-files",[186],{"type":153,"value":187},"Config Files",{"type":132,"tag":167,"props":189,"children":190},{},[191,193],{"type":153,"value":192},"🖥️ ",{"type":132,"tag":137,"props":194,"children":196},{"href":195},"/docs/huskchat/commands",[197],{"type":153,"value":63},{"type":132,"tag":156,"props":199,"children":201},{"id":200},"documentation",[202],{"type":153,"value":203},"Documentation",{"type":132,"tag":163,"props":205,"children":206},{},[207,218,228,239,250,261,272,283],{"type":132,"tag":167,"props":208,"children":209},{},[210,212],{"type":153,"value":211},"📺 ",{"type":132,"tag":137,"props":213,"children":215},{"href":214},"/docs/huskchat/channels",[216],{"type":153,"value":217},"Channels",{"type":132,"tag":167,"props":219,"children":220},{},[221,223],{"type":153,"value":222},"✍️ ",{"type":132,"tag":137,"props":224,"children":226},{"href":225},"/docs/huskchat/formatting",[227],{"type":153,"value":93},{"type":132,"tag":167,"props":229,"children":230},{},[231,233],{"type":153,"value":232},"✉️ ",{"type":132,"tag":137,"props":234,"children":236},{"href":235},"/docs/huskchat/group-messages",[237],{"type":153,"value":238},"Group Messages",{"type":132,"tag":167,"props":240,"children":241},{},[242,244],{"type":153,"value":243},"🤫 ",{"type":132,"tag":137,"props":245,"children":247},{"href":246},"/docs/huskchat/filters-and-replacers",[248],{"type":153,"value":249},"Filters and Replacers",{"type":132,"tag":167,"props":251,"children":252},{},[253,255],{"type":153,"value":254},"🔎 ",{"type":132,"tag":137,"props":256,"children":258},{"href":257},"/docs/huskchat/social-and-local-spy",[259],{"type":153,"value":260},"Social and Local Spy",{"type":132,"tag":167,"props":262,"children":263},{},[264,266],{"type":153,"value":265},"⚙️ ",{"type":132,"tag":137,"props":267,"children":269},{"href":268},"/docs/huskchat/backend-chat-entry",[270],{"type":153,"value":271},"Backend Chat Entry",{"type":132,"tag":167,"props":273,"children":274},{},[275,277],{"type":153,"value":276},"📜 ",{"type":132,"tag":137,"props":278,"children":280},{"href":279},"/docs/huskchat/join-and-quit-messages",[281],{"type":153,"value":282},"Join and Quit Messages",{"type":132,"tag":167,"props":284,"children":285},{},[286,288],{"type":153,"value":287},"🔵 ",{"type":132,"tag":137,"props":289,"children":291},{"href":290},"/docs/huskchat/discord-hook",[292],{"type":153,"value":103},{"type":132,"tag":156,"props":294,"children":296},{"id":295},"links",[297],{"type":153,"value":298},"Links",{"type":132,"tag":163,"props":300,"children":301},{},[302,313,373],{"type":132,"tag":167,"props":303,"children":304},{},[305,307],{"type":153,"value":306},"💻 ",{"type":132,"tag":137,"props":308,"children":310},{"href":18,"rel":309},[140],[311],{"type":153,"value":312},"GitHub",{"type":132,"tag":167,"props":314,"children":315},{},[316,318,325],{"type":153,"value":317},"📂 ",{"type":132,"tag":137,"props":319,"children":322},{"href":320,"rel":321},"https://www.spigotmc.org/resources/huskchat.94496/",[140],[323],{"type":153,"value":324},"Downloads",{"type":132,"tag":163,"props":326,"children":327},{},[328,339,350,361],{"type":132,"tag":167,"props":329,"children":330},{},[331,333],{"type":153,"value":332},"🚰 ",{"type":132,"tag":137,"props":334,"children":336},{"href":320,"rel":335},[140],[337],{"type":153,"value":338},"Spigot",{"type":132,"tag":167,"props":340,"children":341},{},[342,344],{"type":153,"value":343},"🛒 ",{"type":132,"tag":137,"props":345,"children":347},{"href":27,"rel":346},[140],[348],{"type":153,"value":349},"Polymart",{"type":132,"tag":167,"props":351,"children":352},{},[353,355],{"type":153,"value":354},"🔧 ",{"type":132,"tag":137,"props":356,"children":358},{"href":30,"rel":357},[140],[359],{"type":153,"value":360},"Modrinth",{"type":132,"tag":167,"props":362,"children":363},{},[364,366],{"type":153,"value":365},"🛫 ",{"type":132,"tag":137,"props":367,"children":370},{"href":368,"rel":369},"https://hangar.papermc.io/William278/HuskChat",[140],[371],{"type":153,"value":372},"Hangar",{"type":132,"tag":167,"props":374,"children":375},{},[376,378],{"type":153,"value":377},"💬 ",{"type":132,"tag":137,"props":379,"children":382},{"href":380,"rel":381},"https://discord.gg/tVYhJfyDWG",[140],[383],{"type":153,"value":384},"Discord Support",["Reactive",386],{"$snuxt-i18n-meta":387,"$sauth":-1,"$sxsrf":-1},{},["Set"],["ShallowReactive",390],{"$fD1VhuLPQfSq5Kjb6MOPBDmeZZVXLASbuQ_sxsenhdug":-1,"user":391,"mdc--eod5rf-key":-1},["NuxtError",392],{"message":393,"statusCode":394,"statusMessage":395,"data":396},"[GET] \"https://api.william278.net/v1/users/@me\": 401 Unauthorized",401,"Unauthorized",{"error":397},"You must be logged in to perform this action.","/docs/huskchat/Home"]