Spigot: link
Work in progress!
Very simple channel based chat plugin. Will support the following features:
- Joinable channels, with permissions, and an API that allows you to add custom restrictions
- Chat formatting, supporting vault and PlaceholderAPI
- JSON message formatting. Click to message a channel, click to message a player, etc.
- @player ping notifications
- API to interact with chat players, channels, etc, plus events for: channel join, channel leave, channel creation and channel messages
- (Optional) chat logging
- Format fragments. Currently supports
[i]
/[item]
, which will be replaced by the item in the player's main hand (hoverable!)
Other features may be added further on.
This plugin will not:
- Handle mutes, punishments, etc. Use a punishment plugin for this.
- Handle swear blocking, spam blocking etc. I recommend ChatControl and ChatEx for this functionality. IncendoChat is compatible with plugins such as these, that alter chat messages, and will respect their rules.
- You need to have PlaceholderAPI installed.
- You need to run (at least) Java 8.
- The plugin is built for Spigot 1.15+. It may work with earlier versions, but they're entirely unsupported.
- /ch help - Display the help text (Permission:
incendochat.channel
) - /ch join <channel> - Join a channel (Permission:
incendochat.channel.join
) - /ch leave <channel> - Leave a channel (Permission:
incendochat.channel.leave
) - /ch set <channel> - Make the channel your active channel (Permission:
incendochat.channel.set
) - /ch send <channel> <msg...> - Send a message to a channel you're in (Permission:
incendochat.channel.send
) - /ch list - List all channels (Permission:
incendochat.channel.list
)
# Pre-configured chat channels
channels:
# The global (default channel)
global:
# Name that shows up in the format, and in /ch list
display_name: 'Global'
# Format fragments. All of them are joined together to form
# a single message
format:
# The text that is sent. Supports PlaceholderAPI placeholders
# + %channel% and %channel_displayname%, and & color codes
- text: '&c[&6%channel%&c] '
# Message sent on text hover. Set to '' to disable
hover: '&6Click to switch to this channel!'
# Action performed on click. Set to '' to disable
click_type: 'SUGGEST_COMMAND'
# Text inserted on click. Set to '' to disable
click_text: '/channel set %channel_id%'
- text: '&c[&6%player_uuid%&c]'
# Only players with the specified permission will receive this
# fragment
permission: 'incendochat.admin'
- text: '%vault_prefix% %player_displayname%&7: '
hover: '&6Click to message this player!'
click_type: 'SUGGEST_COMMAND'
click_text: '/msg %player_name% '
- text: '&r%message%'
# Permission needed to join the channel. Set to '' to disable
permission: ''
# @username ping replacement text. Set to '' to disable
ping_format: '&c@%name%&r'
# The priority determines which channel will
# be the active channel, when channels are
# re-calculates
priority: -1
persistence:
# Whether chat should be logged to the database
chat-logging: false
chat-logging-interval: 100 # every 100th tick
# Whether channel memberships should persist
channel-persistence: false
# MySQL settings
mysql:
host: 'localhost'
port: 3306
username: 'username'
password: 'password'
database: 'chat'
# Configurable messages
messages:
list-header: '&6&lIncendoChat&8> &7Channel List'
list-header-active: '&eActive Channels (Click to leave):'
list-header-available: '&eAvailable Channels (Click to join):'
list-item: '&7- &6%channel%'
list-item-current: '&7- &6%channel% (Current)'
list-hover-join: '&6Click to join the channel'
list-hover-leave: '&6Click to leave the channel'
active-channel-set: '&6&lIncendoChat&8> &7Your active channel was set to: %channel%'
channel-joined: '&6&lIncendoChat&8> &7You joined channel: %channel%'
channel-left: '&6&lIncendoChat&8> &7You left channel: %channel%'
We use JitPack
Repository:
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
Dependency:
<dependency>
<groupId>com.github.Sauilitired</groupId>
<artifactId>IncendoChat</artifactId>
<version>master-XXXXXXXX</version>
</dependency>
Note: Use the version shown on the badge to stay up to date!