90% of ad revenue goes to creators. Go ad-free while supporting creators with Modrinth Plus. Subscribe today!
Carbon plugin banner.

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
  • @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
# 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

<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

https://javadocs.dev/de.hexaoxi/carbonchat-api


Project members

Draycia

Owner

jpenilla

Member

Details

Licensed GPL-3.0-only
Published 2 years ago
Updated 17 days ago