Carbon Chat

Carbon is a modern chat plugin built on channels, with just about every single setting and format configurable.

23,91k

Carbon Chat

<img src="https://i.imgur.com/pDwRo4g.png" alt="Carbon plugin banner." width="500" height="auto"/>

<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

ADS