Carbon Chat
Carbon is a modern chat plugin built on channels, with just about every single setting and format configurable.
Quick challenge
How far can you run before the mobs catch you?
Minecraft check
Confirm your run
Complete the quick check to get your code.
Carbon Chat

<b>Carbon</b> is a modern chat plugin built on channels, with just about every single setting and format configurable.
<b>Java 21+ is required.</b>
Features
- Message formatting with MiniMessage, which includes support for RGB, clicks, hovers, and everything else JSON chat supports. - Chat channels, with join/leave commands, radius/world-specific channels, and more - Chat clearing - Cross server chat with Redis, NATS, or RabbitMQ. - Mute and ignore other players - Item linking with `<item>` and armor with placeholders like `<hat>` and `<feet>` - Basic party system and party chat - EssentialsXDiscord and DiscordSRV support - `@Username` pings with highlights and sounds - Quick chat with configurable prefix and command - Custom channels for mcMMO, FactionsUUID, and Towny - Multi-language support. Automatically detects player locale and uses translations for their language if available.
Carbon requires LuckPerms on all platforms.
Example Channel Config
```hocon
The channel's key, used to track the channel.
You only need to change the second part of the key. "global" by default.
The value is what's used in commands, this is probably what you want to change.
key="carbon:global"
The chat formats for this channel.
format {
Basic chat formats.
The "default_format" format is the main one you want to edit.
The "console" format is what's shown to console.
The "discord" format is what's shown to supported discord integrations.
The keys are group names, the values are chat formats (MiniMessage).
basic { "default_format"="<display_name>: <message>" discord="<message>" console="[<channel>] <username>: <message>" }
Per-Language chat formats.
locales { "en_US" {} } }
Messages will be sent in this channel if they start with this prefix. (Leave empty/blank to disable quick prefix for this channel)
quick-prefix="" should-register-commands=true command-aliases=[]
The distance players must be within to see each other's messages.
A value of '0' requires that both players are in the same world.
On velocity, '0' requires that both players are in the same server.
radius=-1
If true, players will be able to see if they're not sending messages to anyone
because they're out of range from the radius.
empty-radius-recipients-message=true cooldowns {} cooldown=-1 ```
Dependency Information
Releases and betas are published to Maven Central
Maven ```xml <dependency> <groupId>de.hexaoxi</groupId> <artifactId>carbonchat-api</artifactId> <version>3.0.0-beta.28</version> <scope>provided</scope> </dependency> ```
Gradle ```kotlin repositories { mavenCentral() }
dependencies { compileOnly("de.hexaoxi:carbonchat-api:3.0.0-beta.28") } ```
Javadocs
https://javadocs.dev/de.hexaoxi/carbonchat-api