 
Carbon is a modern chat plugin built on channels, with just about every single setting and format configurable.
Java 21+ is required.
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
- @Usernamepings 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
# 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 CentralMaven
<dependency>
    <groupId>de.hexaoxi</groupId>
    <artifactId>carbonchat-api</artifactId>
    <version>3.0.0-beta.28</version>
    <scope>provided</scope>
</dependency>
Gradle
repositories {
    mavenCentral()
}
dependencies {
    compileOnly("de.hexaoxi:carbonchat-api:3.0.0-beta.28")
}
Javadocs
Details
 Licensed GPL-3.0-only
 Published 3 years ago
 Updated 10 days ago

